课程名称: 1.4 The TiDB platform architecture and landscape(TiDB 平台架构和全景图)
学习时长:20
课程收获:
课程内容:
计算存储分离架构
TiKV和TiFlash是存储层,TiSpark和TiDB是计算层,分别处理MySQL和SparkSQL。PD与其他层交互,存储元数据,负责SSO分配和数据定位。
TIDB
无状态SQL层。SQL编译之后生成的物理计划下发到TiKV并行执行。
TiKV/TiFlash
存储层,TiKV行式存储,TiFlash列式存储。数据根据范围切分,同个范围数据有多个副本,通过raft同步(强一致,高可用)。TiFlash上的副本固定为raft lenner,最小化TiKV上的事务处理。TIDB优化器选择事务类处理走TiKVa,分析类查询走TiFlash。
PD
相当于TIDB大脑,部署三副本,通过etcd同步数据,保证高可用。
- 存储集群元数据(region位置,处于哪些TiKV,raft leader是谁)
- 调度和负载均衡region(调度region到其他TIKV,把raft leader迁移给另一个flower)
- 分配全局单调递增的事务时间戳
TiSpark
将SparkSQL运行在TiKV上的OLAP解决方案。
工具
- TiUP:TIDB组件管理工具
- Lightning:TiDB全量导入工具
- Dumpling:全量导出工具
- Fast Backup & Restore(BR):TIDB进行分布式备份和恢复工具,支持全量或单裤单表
- TiCDC:通过拉取TiKV变更日志实现的TiDB增量更新工具,秒级上西游数据同步