PD(Placement Driver),集成了ETCD, ETCD的Raft保证了数据的一致性;
PD作用
整个集群TiKV元数据的存储分配全局ID和事物ID生成全局时钟TSO-事物开始时间、提交时间等搜集集群信息进行调度搜集Label功能支持高可用提供TiDB Dashboard功能
TSO = physical time + logical time
physical time 精确到ms, logical time 将1ms分成了 262144个TSO
TSO请求的时候,为了避免过于频繁地请求PD的TSO时间戳,从而造成PD负载过大,每次分配TSO的时候会一次性分配未来3s的TSO给TiDB Server,从而提升PD的处理性能;
PD的调度Balance:
Leader是否均衡地分布在所有TiKV上,Region,不要让某些TiKV过分地积攒regionhot region: 写热点的region进行打散集群拓扑扩缩容故障恢复Region merge: 空region合并
Label高可用
PD可以让同一个Group中的2个Region落在一个TiKV中,但是无法保证这些Region分布在哪个机房或者机柜中; 此时需要Label打标来实现;
由于有Raft功能,所以故障任意一台Server都不影响Region的使用; 机柜故障:如果Rack4故障,将会影响Region1的数据; 机房故障:如果DC1故障,将会影响Region2的数据;任意机房或者机柜的故障都不会影响Region3的数据;
Label需要在PD和TiKV实例中进行配置
isolation-level表示隔离级别,如果为zone表示一个region的3个副本都必须是在不同的zone(机房)



