学习目标
- 题解数据库整体架构
- 了解 TiDB Server 、TiKV、TiFlash、和 PD 的主要功能
文章末尾获取笔记、视频资料,持续更新
体系架构
- 水平扩容或者缩容
- 金融级高可用
- 实时 HTAP
- 云原生的分布式数据库
- 兼容 MySql5.7 协议
TiDB 体系架构图
组件
TiDB Server
TiDB Server 是 TiDB 分布式数据库的 SQL 层,是整个系统的入口。
功能
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 分析场景
功能
TiFlash 架构图
PD
功能
- 整个集群TiKV的元数据存储
- 分配全局ID和事务ID
- 生成全局时间戳TSO
- 收集集群信息进行调度
- 提供 TiDB Dashboard 服务
PD 技术架构图
测试
答案:
公众号回复 TIDB 获得笔记、视频
|