目录
1. TiDB体系结构
2. TiDBsever
3. TiKV
4. PD(Placement Driver)
5. TiFlash
1. TiDB体系结构
- 水平扩容或者缩容
- 金融级高可用
- 实时 HTAP
- 云原生的分布式数据库
- 兼容MySQ 5.7 协议
2. TiDBsever
- 处理客户端的连接
- SQL语句的解析和编译
- 关系型数据与 kv 的转化(insert语句)
- SQL 语句的执行
- 执行 online DDL
- 垃圾回收(GC)
3. TiKV
- 数据持久化(行存)
- 副本的强一致性和高可用性
- MVCC(多版本并发控制)
- 分布式事务支持
- Coprocessor(算子下推)
每个TiKV中运行了rocksdb数据库保证数据持久化,TiDB中存的是KeyValue对,键值对存在rocksdb kv实例,rocksdb raft存指令(增删改),Raft协议保证高可用,有其他副本存在其他节点(默认总共三个副本,其中一个副本是leader可读写)
一个region在96M~144M之间
4. PD(Placement Driver)
PD:集群大脑,元数据存在PD(数据在在哪些TiKV或者TiFlash上),每条sql的开始时间(TSO时间戳),事务开始和结束的TSO
- 整个集群 TiKV 的元数据存储
- 分配全局 ID 和事务 ID
- 生成全局时间戳 TSO
- 收集集群信息进行调度
- 提供 TiDB Dashboard服务
5. TiFlash
- 异步复制
- 一致性
- 列式存储提高分析查询效率
- 业务隔离
- 智能选择
总结
- 描述 TiDB 数据库的整体架构
- 理解 TiDB server,rikv,rirlash 和PD 的主要功能
来自TiDB官方学习资料