# Placement Driver

+ 整个集群 TiKV 的元数据存储
+ 分配全局 ID 和 事务 ID
+ 生成全局时间戳 TSO
+ 收集集群信息进行调度
+ 提供 TiDB Dashboard 服务

![right](./student-guide/diagram/01-PD-01-01.png)
-------------------------------------------------------------

- 整个集群 TiKV 的元数据存储
  - 包括，key range 对应的 region，region（包括 leader 等信息） 所在的 TiKV （store）等信息都是存储到 PD 中的，例如， TiDB Server 就是从 PD 获得路由信息之后，到相关 TiKV 中去存取数据的。
  - 另外，包括 TiKV 的拓扑信息，标签（label）信息也都是存储在 PD 中的，后面还会进行详细介绍。

- 分配全局 ID 和 事务 ID
  - 我们使用的 store ID，region ID，peer ID，table ID，index ID 等等全局 ID 和 分布式事务的事务 ID 也都是由 PD 分配的。

- 生成全局时间戳 TSO 。
  - TSO 是一个全局的时间戳，用于保证数据库中事务的顺序，PD 的一个非常重要功能就是生成 TSO。具体内容我们在后面进行介绍。

- 收集集群信息进行调度。
  - TiKV 节点周期性地向 PD 上报集群的状态，PD 负责根据相关状态进行 region 在 TiKV 节点间的调度工作，具体内容我们在后面进行介绍。

- 提供 TiDB Dashboard 服务。