# PD 主要功能

__*PD 功能*__

+ 整个集群 TiKV 的元数据存储
+ 分配全局 ID 和事务 ID
+ 生成全局时间戳 TSO 
+ 收集集群信息进行调度
+ 提供 label, 支持高可用
+ 提供 TiDB Dashboard
-------------------------------------------------------------
PD 的主要功能如下:

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

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

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

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

5. 提供 TiDB Dashboard 服务。
综上,PD 相当于 TiDB 数据库的总控中心,在后面的章节中我们会着重介绍:生成全局时间戳 TSO 和调度两个功能。