searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享

TiDB体系架构

2023-05-25 06:52:40
82
0

%E4%BD%93%E7%B3%BB%E5%9B%BE

 

如图所示,TiDB体系中三大组成部分:PD、TiDB Server、TiKV

 

1、 PD:负责产生全局的TSO时间、控制Region在TIkv中的分布、产生全局事务ID、还有其他ID。

 

2、 TiDB:没有数据落地,接收客户端sql语句,对sql语句进行解析和编译,最终形成执行计划。DDL语句和基于MVCC的老版本数据的回收,也是TiDB Server操作。

 

3、 TiKV:数据以键值队存储在TiKV中,主要负责数据持久化、MVCC、Coprocessor、事务以及自身副本的高可用和强一致性(由Muti-raft实现)。

 

4、 TiFlash:列式存储引擎,主要由扩展的raft共识算法与Tikv进行数据同步,实现负载均衡、强一致读取和实时更新,对于OLTP场景这样就实现了对分析型业务和事务型业务进行隔离,对既有oltp又有olap的是有利的。

TiDB%20Server

 

TiDB Server有六大功能:

 

1、处理客户端的连接

 

2、SQL语句的解析和编译

 

3、关系型数据与KV的转化

 

4、SQL语句的执行

 

5、在线DDL的执行

 

6、垃圾回收

TiKV

 

TiKV的五大功能:

 

1、 Tikv最主要的功能就是负责数据的持久化。

 

2、 TIkv内部是选择基于lsm-tree的Rocks DB引擎作为存储引擎,而Rocksdb通过Wal机制保证数据的不丢失。

 

3、 分布式事务支持:Tidb数据库基于percolator事务模型的两阶段提交过程中,每个Tikv会单独分配存储锁的空间,叫CF lock(列簇),这样,配合Tidb server和PD全局TSO授时服务,就实现了去中心化的两阶段提交。支持乐观锁与悲观锁。在5.0之后,实现了两阶段提交中,第二阶段异步提交功能。在oltp中的高并发、小sql场景里,大大降低了写入延迟。

 

4、 MVCC:实现并发控制、隔离级别、分布式事务、数据快速恢复的基础。历史数据会存储一段时间,最后由GC进行回收。

 

5、 Coprocessor:数据的过滤、部分的聚合、求最大最小值等,这些被下推分布式存储节点,可以利用Tikv的cpu能力,多个tikv可以并行的进行计算,由于他们已经过滤了数据,相比不计算上传TiDB server要少,减少了网络的交互成本,TiDB Server的计算成本也相对减少。

PD

 

PD的五大功能:

 

1、整个集群TiKV的元数据存储

 

2、分配全局ID和事务ID

 

3、生成全局时间戳TSO

 

4、收集集群信息进行调度

 

5、提供TiDBit Dashboard服务

TiFlash

 

TiFlash的四大功能:

 

1、列式存储提高分析查询效率

 

2、支持强一致性和实时性

 

3、业务隔离

 

4、智能选择

0条评论
0 / 1000
x****n
2文章数
0粉丝数
x****n
2 文章 | 0 粉丝
x****n
2文章数
0粉丝数
x****n
2 文章 | 0 粉丝

TiDB体系架构

2023-05-25 06:52:40
82
0

%E4%BD%93%E7%B3%BB%E5%9B%BE

 

如图所示,TiDB体系中三大组成部分:PD、TiDB Server、TiKV

 

1、 PD:负责产生全局的TSO时间、控制Region在TIkv中的分布、产生全局事务ID、还有其他ID。

 

2、 TiDB:没有数据落地,接收客户端sql语句,对sql语句进行解析和编译,最终形成执行计划。DDL语句和基于MVCC的老版本数据的回收,也是TiDB Server操作。

 

3、 TiKV:数据以键值队存储在TiKV中,主要负责数据持久化、MVCC、Coprocessor、事务以及自身副本的高可用和强一致性(由Muti-raft实现)。

 

4、 TiFlash:列式存储引擎,主要由扩展的raft共识算法与Tikv进行数据同步,实现负载均衡、强一致读取和实时更新,对于OLTP场景这样就实现了对分析型业务和事务型业务进行隔离,对既有oltp又有olap的是有利的。

TiDB%20Server

 

TiDB Server有六大功能:

 

1、处理客户端的连接

 

2、SQL语句的解析和编译

 

3、关系型数据与KV的转化

 

4、SQL语句的执行

 

5、在线DDL的执行

 

6、垃圾回收

TiKV

 

TiKV的五大功能:

 

1、 Tikv最主要的功能就是负责数据的持久化。

 

2、 TIkv内部是选择基于lsm-tree的Rocks DB引擎作为存储引擎,而Rocksdb通过Wal机制保证数据的不丢失。

 

3、 分布式事务支持:Tidb数据库基于percolator事务模型的两阶段提交过程中,每个Tikv会单独分配存储锁的空间,叫CF lock(列簇),这样,配合Tidb server和PD全局TSO授时服务,就实现了去中心化的两阶段提交。支持乐观锁与悲观锁。在5.0之后,实现了两阶段提交中,第二阶段异步提交功能。在oltp中的高并发、小sql场景里,大大降低了写入延迟。

 

4、 MVCC:实现并发控制、隔离级别、分布式事务、数据快速恢复的基础。历史数据会存储一段时间,最后由GC进行回收。

 

5、 Coprocessor:数据的过滤、部分的聚合、求最大最小值等,这些被下推分布式存储节点,可以利用Tikv的cpu能力,多个tikv可以并行的进行计算,由于他们已经过滤了数据,相比不计算上传TiDB server要少,减少了网络的交互成本,TiDB Server的计算成本也相对减少。

PD

 

PD的五大功能:

 

1、整个集群TiKV的元数据存储

 

2、分配全局ID和事务ID

 

3、生成全局时间戳TSO

 

4、收集集群信息进行调度

 

5、提供TiDBit Dashboard服务

TiFlash

 

TiFlash的四大功能:

 

1、列式存储提高分析查询效率

 

2、支持强一致性和实时性

 

3、业务隔离

 

4、智能选择

文章来自个人专栏
TiKV
2 文章 | 1 订阅
0条评论
0 / 1000
请输入你的评论
0
0