TiDB 数据库架构>数据库架构概述
TiDB体系架构
- 水平扩容或者缩容
- 金融级高可用
- 实时HTAP
- 云原生的分布式数据
- 兼容MYSQL5.7
Region
:存储单位,96~144MB之间,分布式存储在TiKV中
TiKV
:默认三副本,将分布式数据存储,并进行存储副本。分布式事务,MCC原理。可以通过添加TIKV的节点数量进行扩容。
PD
:集群的大脑,SQL
执行 要到PD
去查询我的数据region
在两个或者三个TiKV
当中。 查询sql
的开始时间,以标识(TSO
)时间戳来标识。开始TSO
和结束TSO
由PD
提供。
TiDB Server
- 处理客户端的连接
- SQL语句的解析和编译,生成执行语句,如果是INSERT,将数据转成键值对,存成region到TiKV当中
- 关系型数据库与KV的转化
- SQL语句的执行
- 执行online DDL,(建表,建索引等操作)
- 垃圾回收,GC机制:默认十分钟回收
TiKV
- 数据持久化,内部使用
rocksDB
数据库进行数据持久化。单机引擎 - 副本的强一致性和高可用性
Raft
协议 - MVCC(多版本并发控制)
- 分布式事务支持,
Transaction
Coprocessor
(算子下推),投影、聚合,分布式计算的一个模型
单机:
rocksdbraft
:存储指令,将所有指令先存储到这里。
rocksdbkv
:存储键值对
由这两个做到数据持久化。OLTP业务。
三个副本有一个leader角色,只有leader副本才能够进行修改。通过Raft协议,子副本和leader同步数据。
PD
- 整个集群TiKV的元数据存储
- 分配全局ID和事务的ID
- 生成全局的时间戳TSO
- 手机群信息进行调度,TiKV及时上报
- 提供TiDB Dashboard服务
TiFlash
和TiKV是实时一致的。
- 异步复制
- 一致性
- 列式存储提高分析查询效率
- 业务隔离
- 智能选择
承载OLAP分析型业务。
HTAP=OLAP+OLTP