【High Performance TiDB】Lesson 01:TiDB 整体架构

文章讲述了TiDB系统中,如何通过RAFT协议保证数据副本的一致性,并借助两阶段提交实现分布式事务。PD负责分配时间戳和管理数据分布。在SQL执行过程中,TiDB经过多阶段优化生成物理执行计划,减少数据传输开销,提升效率。TIKV会根据负载自动分裂Region以应对热点问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用RAFT维持数据的多个副本之间的强一致性

在两阶段提交的帮助下,TIKV可以提供完整的分布式事务语义

PD的主要功能包括:为TIDB的事务分配单调递增的时间戳和管理整个集群的数据分布并作出合理的调度策略

 

 

逻辑

 

 物理

 

 

除此以外TIKV还会基于负载触发region的分裂,以应对热点问题

分布式事务

 

 

 

 

 

 

以上图SQL为例,分析TiDB server 是如何同TIKV交互完成SQL语句的执行的。

首先解析后的SQL语句形成初始的执行计划,随后TiDB会基于大量规则对执行计划进行必要的改写,获得一个逻辑上等价,但执行效率更优的执行计划。接下来TiDB会利用数据的物理属性,以执行代价为优化目标,对执行计划进行进一步的改写,形成最终的物理执行计划。途中所示的Query plan 就是经过所有优化后所得到的最终物理执行计划,在第一次SQL执行引擎执行左图所示的执行计划时,执行引擎根据数据所在region对scan节点的任务进行切分,同时将filter位置下推,连同scan一同发送到tikv执行,从而过滤不满足查询条件的数据,降低不必要的数据传输开销。从tikv读取的数据在经过HashJoin和Projection两个算子后就完成了整个query的处理流程。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值