ojRsPs9w7 发表于 2025-2-26 22:45:06

TIDB 数据库架构概述

学习目标


[*]题解数据库整体架构
[*]了解 TiDB Server 、TiKV、TiFlash、和 PD 的主要功能
文章末尾获取笔记、视频资料,持续更新
体系架构


[*]水平扩容或者缩容
[*]金融级高可用
[*]实时 HTAP
[*]云原生的分布式数据库
[*]兼容 MySql5.7 协议

 
TiDB 体系架构图
组件

TiDB Server

TiDB Server 是 TiDB 分布式数据库的 SQL 层,是整个系统的入口。
功能


[*]处理客户端的连接
[*]SQL语句的解析、编译、生成执行计划
生成sql语句,然后在TiKV 或者 TiFLASH上执行
[*]关系型数据与 KV 的转化
TiKV 存的数据是键值对,将数据表转换为 KV 键值对
[*]SQL语句执行(DDL语句)
[*]执行 online DDL
[*]垃圾回收(默认时间10分钟)

 
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 分析场景
功能


[*]异步复制
[*]一致性
[*]列式存储提高分析查询效率
[*]业务隔离
[*]智能选择
也可以手动指定sql选择 TiKV 或者 TiFlash

TiFlash 架构图
 
PD

功能


[*]整个集群TiKV的元数据存储
[*]分配全局ID和事务ID
[*]生成全局时间戳TSO
[*]收集集群信息进行调度
[*]提供 TiDB Dashboard 服务

 
PD 技术架构图
测试


 
答案:

[*]B、F
[*]C
公众号回复 TIDB 获得笔记、视频

 
页: [1]
查看完整版本: TIDB 数据库架构概述