TIDB 数据库架构概述
学习目标[*]题解数据库整体架构
[*]了解 TiDB Server 、TiKV、TiFlash、和 PD 的主要功能
文章末尾获取笔记、视频资料,持续更新
体系架构
[*]水平扩容或者缩容
[*]金融级高可用
[*]实时 HTAP
[*]云原生的分布式数据库
[*]兼容 MySql5.7 协议
TiDB 体系架构图
组件
TiDB Server
TiDB Server 是 TiDB 分布式数据库的 SQL 层,是整个系统的入口。
功能
[*]处理客户端的连接
[*]SQL语句的解析、编译、生成执行计划
生成sql语句,然后在TiKV 或者 TiFLASH上执行
[*]关系型数据与 KV 的转化
TiKV 存的数据是键值对,将数据表转换为 KV 键值对
[*]SQL语句执行(DDL语句)
[*]执行 online DDL
[*]垃圾回收(默认时间10分钟)
TiDB Server
工作流程
客户端请求 -> 协议解析 -> SQL 解析 -> 查询优化 -> 生成执行计划 -> 分布式执行 -> 返回结果TiKV
TiKV是TiDB 分布式数据库的存储层
存储结构
Region (数据分片) ├── Leader └── Followers (多个副本) ├── Follower 1 └── Follower 2功能
[*]数据持久化
[*]副本的强一致性和高可用性
[*]MVCC (多版本并发控制)
[*]分布式事务支持
[*]Coprocessor (算子下推)
TiKV 技术架构图
核心组件
如上图所示RocksDB:底层存储引擎Raft:分布式一致性协议实现MVCC:多版本并发控制Transaction:分布式事务处理关键特性
[*]数据分片 (Region)
[*]按 Key Range 进行数据分片
[*]每个 Region 默认大小约 96MB到140MB
[*]超过阈值会自动分裂(Split)
[*]负载均衡时会自动调度
[*]复制与一致性
[*]采用 Multi-Raft 模型
[*]通常采用 3 副本或 5 副本
[*]强一致性保证
[*]自动故障转移
TiFlash
它是 TiDB 的列式存储引擎,专门用于 OLAP 分析场景
功能
[*]异步复制
[*]一致性
[*]列式存储提高分析查询效率
[*]业务隔离
[*]智能选择
也可以手动指定sql选择 TiKV 或者 TiFlash
TiFlash 架构图
PD
功能
[*]整个集群TiKV的元数据存储
[*]分配全局ID和事务ID
[*]生成全局时间戳TSO
[*]收集集群信息进行调度
[*]提供 TiDB Dashboard 服务
PD 技术架构图
测试
答案:
[*]B、F
[*]C
公众号回复 TIDB 获得笔记、视频
页:
[1]