TiDB PCTA认证备考笔记-04-PD

Placement Driver(PD)

1.PD的架构与功能

在这里插入图片描述Store:TiKV实例
Region:每个Region维护一段连续的数据默认96M
Peer:每个Region的一个副本都被称为一个peer(特指raft中的成员)
Leader和Follower:只在Leader节点读写
Raft Group:leader的peer和Flollower构成

  • PD的主要功能

    • 整个集群TiKV的元数据存储
    • 分配全局ID和事务ID
    • 生成全局时间戳TSO
    • 收集集群信息进行调度
    • 提供label,支持高可用
    • 提供TiDB Dashboard
  • 路由功能
    TiDB Server中的Executor在把执行计划发给TiKV Client后需要知道Region的位置,这个时候则需要PD去调度,发送Region位置给TiKV Client,去哪一个TiKV节点去取数据。这时候如果每次都让PD去调度就有些不合理了,所以有了Region Cache模块,在从PD获取了位置之后,缓存在CACHE中,下次就可以直接去读取数据(有可能Leader这期间会漂移到其他节点,这个时候会返回说明这时Leader真实的位置)
    在这里插入图片描述

2.TSO

  • TSO=physical time logical time
  • 分配过程
    -
    • 1.请求者(TiDB Server)请求TSO,向PD Client(SQL/事务)
    • 2.立即返回tsFuture
    • 3.与第二步同时,异步向PD Leader请求TSO
    • 4.在第二步接收到tsFuture后编译解析,然后进入tsFuture.wait状态
    • 5.PD分配TSO给PD Client
    • 6.TiDB Server获得TSO
      (这里不可能在大量请求时,一个一个发送请求给PD,这时会采用批处理方式,多少时间内发送一批请求)
      PD也需要持久化TSO,所以也需要IO
      时间窗口解决了上面的问题,3秒内的缓存值交由TSO使用,一个队列先到先得(预分配)这时的磁盘IO也就变成了3秒一次
      PD Leader如果有宕机,Raft会赶快选举出新的Leader,这时新选举的Leader并不会知道上一个Leader到了哪里,所以会直接跳过预分配的3秒,在之后重新开始。

3.调度信息收集

在这里插入图片描述
Store Heartbeat:TiKV信息,容量剩余情况
Region Heartbeat:副本,读写流量,分布情况

调度流程:信息收集-生成调度-执行调度
在这里插入图片描述

4.Label与高可用

在这里插入图片描述
标识机柜,数据中心,以及那个机柜,形成高可用
PD和TiKV都参与
在这里插入图片描述

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值