课程名称:1.4 The TiDB platform architecture and landscape(TiDB 平台架构和全景图)
学习时长:10min
课程收获:对 TiDB 的核心组件和生态工具的功能有了一定的理解
课程内容:
-
TiDB核心系统
-
TSO - Timestamp Oracle
- 基于时间戳的时序分配功能
- 由PD进行统一分配
-
TiDB(SQL层)
-
无状态SQL层
- 客户端可以连接到任意实例
-
全功能SQL层
- MySQL协议
- CBO
- 二级索引
- Online DDL
-
TiKV/TiFlash(存储层)
-
TiKV:基于行的存储引擎
- 同一份数据多个副本,副本之前通过Raft协议实现强一致
-
TiFlash:基于列的存储引擎
- 副本为Raft Learner
-
通过优化器选择
- 事务类的查询走TiKV
- 分析类的查询走TiFlash
- 负载隔离
-
PD(Placement Driver)
- 存储诸如特定key的Region位置之类的集群元数据
- 在TiV集群中,调度和负载均衡,包括但不限于数据迁移以及Raft group leader转移
- 分配全剧唯一且单调递增的事务ID
-
TiSpark(SQL层)
- 将SparkSQL运行在TiKV上的OLAP解决方案
- TiDB+TiSpark=NO ETL
- 直接在同一平台进行OLTP及OLAP,简化系统架构及运维
-
-
TiDB生态系统工具
-
TiUP
- 4.0 新引入工具
- 单机部署、集群部署、组件下载、版本控制及分发
- 简单易用,几个命令行即可成功部署各个组件
- https://tiup.io
-
Lightning,Dumpling
-
Lightning
- 全量导入工具
- 支持读取Mydumper的SQL dump或CSV数据源
-
Dumpling
- 以SQL或CSV格式导出
-
-
Backup & Restore(BR)
- 针对大规模集群
- 分布式的备份和恢复
- 每TiKV实例~150MB/S,备份速度可调
- 支持诸如NFS或S3之类的外部存储
- 多备份方法:Full/DB/Table
- 支持CA/SSL加密认证
-
Change data capture(CDC)
- TiCDC
- 高可用
- 分布式,可匹配任意TiKV集群规模
- 在TiKV集群间以毫秒级复制KV变化
- 事务恢复
- ETL负载
-
Data Migration(DM)
-
TiDB Operator
-
Dashboard
-
…
-
-
全景图