# PD 主要功能

+ 整个集群 TiKV 的元数据存储
+ 分配全局 ID 和事务 ID
+ 生成全局时间戳 TSO 
+ 收集集群信息进行调度
+ 提供 label, 支持高可用
+ 提供 TiDB Dashboard
-------------------------------------------------------------
PD 的主要功能如下：
  - 整个集群 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 服务。
    综上，PD 相当于 TiDB 数据库的总控中心，在后面的章节中我们会着重介绍：生成全局时间戳 TSO 和调度两个功能。