TiDB数据库概述——PD
创始人
2024-04-11 16:53:23

PD

  • PD的架构与功能
  • TSO的分配
  • PD的调度原理
  • label的作用

PD的架构

image-20221122155040582

PD的个数一般是奇数个的。

PD的主要功能:

  • 整个集群TiKV的元数据存储
  • 分配全局ID和事务ID
  • 生成全局时间戳TSO
  • 收集群信息进行调度
  • 提供label,支持高可用
  • 提供TiDB Dashboard

路由功能

用key读数据的时候,去PD找在哪一个region。为了避免每次找,将结果缓存在TiKV Client的Region Cache的当中。

backoff:如果leader变了,Region Cache就要重新载入。

image-20221122162240488

TSO分配

TSO:int64的一个整型数,1ms分成262144个TSO

分配过程:

image-20221122164859649

PD Client有一个批处理的功能,将一段时间内的一并发送。

时间窗口:解决性能的问题的方法,讲一段时间的TSO放入缓存,让TiDB Server排队选用。

高可用:会有一段TSO断层,

调度

靠心跳返回的信息,进行信息收集。均衡Region,存储均衡,读写均衡。

Label与高可用

image-20221122175024663

多数的region掉了就不可用了。不同的region分布对可用性是有影响的。

Label的配置:PD,TIKV配置

zone:哪个DC上

image-20221122175914530

隔离级别:副本的分布

TiDB数据库SQL执行流程

DML语句流程概要

image-20221122180618059

image-20221122180903003

DDL语句流程概要

image-20221122181215912

除了加索引,都放入:job queue,加索引放入:add index queue

哪个是owner,哪个执行DDL执行job

SQL的Prase 与 Compile

image-20221122181528608

读取的执行

image-20221122181948237

KV是点查,复杂的查询通过DistSQl转化成简单SQL对单表的查询。

snap shot:特定时间点的一个结构。

可以进行并行查询。

root task:由TiDBServer来执行

cop task:由TiKV的Coprocessor来执行

写入的执行

先将数据读入到memBuffer。

image-20221122185736541

image-20221122191818202

DDL的执行

image-20221122192116597

DDL语句不是并行的,owner会定期的去执行job queue的job,执行完会放入history queue。owner是轮询,由PD控制。

相关内容

热门资讯

普莱得(301353.SZ):... 格隆汇1月19日丨普莱得(301353.SZ)公布2026年限制性股票激励计划,本激励计划拟向激励对...
邮储银行(01658)选举芦苇... 邮储银行(01658)发布公告,于2026年1月19日,董事会决议选举芦苇先生担任董事会社会责任与消...
波兰正考虑禁止中国电动汽车进入... 每经编辑|程鹏     1月19日,外交部发言人郭嘉昆主持例行记者会。波兰通讯社记...
新华百货连续两日涨幅偏离值累计... 1月19日,新华百货(600785)发布公告,公司股票于2026年1月16日和19日连续两个交易日,...
思创医惠(300078.SZ)... 思创医惠(300078.SZ)公告,公司的中文名称已由“思创医惠科技股份有限公司”变更为“思创智联科...