天翼云是中国电信倾力打造的云服务品牌,致力于成为领先的云计算服务提供商。提供云主机、cdn、云电脑、大数据及ai等全线产品和场景化凯发app官方网站的解决方案。
分类: 数据库开发技术
2024-06-24 16:37:48
本文分享自天翼云开发者社区《》,作者:x****n
如图所示,tidb体系中三大组成部分:pd、tidb server、tikv
1.pd:负责产生全局的tso时间、控制region在tikv中的分布、产生全局事务id、还有其他id。
2.tidb:没有数据落地,接收客户端sql语句,对sql语句进行解析和编译,zui终形成执行计划。ddl语句和基于mvcc的老版本数据的回收,也是tidb server操作。
3.tikv:数据以键值队存储在tikv中,主要负责数据持久化、mvcc、coprocessor、事务以及自身副本的高可用和强一致性(由muti-raft实现)。
4.tiflash:列式存储引擎,主要由扩展的raft共识算法与tikv进行数据同步,实现负载均衡、强一致读取和实时更新,对于oltp场景这样就实现了对分析型业务和事务型业务进行隔离,对既有oltp又有olap的是有利的。
tidb server有六大功能:
1.处理客户端的连接
2.sql语句的解析和编译
3.关系型数据与kv的转化
4.sql语句的执行
5.在线ddl的执行
6.垃圾回收
tikv的五大功能:
1.tikv{banned}{banned}最佳佳主要的功能就是负责数据的持久化。
2.tikv内部是选择基于lsm-tree的rocks db引擎作为存储引擎,而rocksdb通过wal机制保证数据的不丢失。
3.分布式事务支持:tidb数据库基于percolator事务模型的两阶段提交过程中,每个tikv会单独分配存储锁的空间,叫cf lock(列簇),这样,配合tidb server和pd全局tso授时服务,就实现了去中心化的两阶段提交。支持乐观锁与悲观锁。在5.0之后,实现了两阶段提交中,第二阶段异步提交功能。在oltp中的高并发、小sql场景里,大大降低了写入延迟。
4.mvcc:实现并发控制、隔离级别、分布式事务、数据快速恢复的基础。历史数据会存储一段时间,zui后由gc进行回收。
5.coprocessor:数据的过滤、部分的聚合、求zui大zui小值等,这些被下推分布式存储节点,可以利用tikv的cpu能力,多个tikv可以并行的进行计算,由于他们已经过滤了数据,相比不计算上传tidb server要少,减少了网络的交互成本,tidb server的计算成本也相对减少。
pd的五大功能:
1.整个集群tikv的元数据存储
2.分配全局id和事务id
3.生成全局时间戳tso
4.收集集群信息进行调度
5.提供tidbit dashboard服务
tiflash的四大功能:
1.列式存储提高分析查询效率
2.支持强一致性和实时性
3.业务隔离
4.智能选择