1.4 The TiDB platform architecture and landscape(TiDB 平台架构和全景图)
TiDB 核心架构
TiDB 是 SQL 层
- 无状态 SQL 层
- 客户端可以连接到任何一个在线的 tidb-server
- 功能完善的 SQL 层
- 兼容 MySQL 协议
- CBO 优化器
- 支持二级索引
- 在线 DDL
TiKV / TiFLash 是存储层
PD(Placement Driver)是指挥中心
- 存储集群的元数据,例如 region 的位置处于哪台 tikv-server
- 负责调度和平衡 tikv 集群中的 region,包括数据迁移和 Raft Leader 的切换等
- 负责分配全局单调递增的时间戳(TSO),保证分布式事务一致性
TiDB 生态工具
tiup
- TiDB 4.0 中引入的管理工具,提供单机部署,集群部署,工具部署等等,简单易用
Lighting
- 全量数据快速导入工具,方便数据迁移到 TiDB 中
- 支持 Mydumper 导出的 SQL 文件和 CSV 文件
Dumpling
- TiDB 的数据导出工具,支持导出 SQL,CSV格式
Fast Backup & Restore(BR)
- 直接从存储进行备份恢复
- 可分发到每个 tikv 节点上,备份性能可以水平扩展
- 单 TiKV 实例可以达到150MBps
- 支持外部存储,例如 NFS,S3等
- 支持全量,增量,库级,表级备份恢复
- 支持 CA / SSL 安全协议
TiCDC
- 增量数据同步工具(类似 Oracle 的 OGG)
- 高可用架构
- 分布式,可扩展到任意 TiKV 集群大小
- 支持毫秒级数据复制
- 事务恢复
- 满足多种应用场景,如 ETL 数据抽取