找回密码
 立即注册
首页 业界区 科技 TIDB 数据库架构概述

TIDB 数据库架构概述

鞠古香 前天 16:08
学习目标


  • 理解数据库整体架构
  • 了解 TiDB ServerTiKVTiFlash、和 PD 的主要功能
文章末尾获取笔记、视频资料,持续更新
体系架构


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

 
TiDB 体系架构图
组件

TiDB Server

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


  • 处理客户端的连接
  • SQL语句的解析、编译、生成执行计划
    生成sql语句,然后在TiKV 或者 TiFLASH上执行
  • 关系型数据与 KV 的转化
    TiKV 存的数据是键值对,将数据表转换为 KV 键值对
  • SQL语句执行(DDL语句)
  • 执行 online DDL
  • 垃圾回收(默认时间10分钟)
2.png
 
TiDB Server 工作流程
  1. 客户端请求 -> 
  2.     协议解析 -> 
  3.         SQL 解析 -> 
  4.             查询优化 -> 
  5.                 生成执行计划 -> 
  6.                     分布式执行 -> 
  7.                         返回结果
复制代码
TiKV

TiKV是TiDB 分布式数据库的存储层
存储结构
  1. Region (数据分片)
  2.     ├── Leader
  3.     └── Followers (多个副本)
  4.         ├── Follower 1
  5.         └── Follower 2
复制代码
功能


  • 数据持久化
  • 副本的强一致性和高可用性
  • MVCC (多版本并发控制)
  • 分布式事务支持
  • Coprocessor (算子下推)
3.png
 
TiKV 技术架构图核心组件
  1. 如上图所示
  2. RocksDB:底层存储引擎
  3. Raft:分布式一致性协议实现
  4. MVCC:多版本并发控制
  5. Transaction:分布式事务处理
复制代码
关键特性


  • 数据分片 (Region)

    • 按 Key Range 进行数据分片
    • 每个 Region 默认大小约 96MB到140MB
    • 超过阈值会自动分裂(Split)
    • 负载均衡时会自动调度

  • 复制与一致性

    • 采用 Multi-Raft 模型
    • 通常采用 3 副本或 5 副本
    • 强一致性保证
    • 自动故障转移

TiFlash

它是 TiDB 的列式存储引擎,专门用于 OLAP 分析场景
功能


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

TiFlash 架构图
 
PD

功能


  • 整个集群TiKV的元数据存储
  • 分配全局ID和事务ID
  • 生成全局时间戳TSO
  • 收集集群信息进行调度
  • 提供 TiDB Dashboard 服务
5.png
 
PD 技术架构图测试

6.png
 
答案:

  • B、F
  • C
公众号回复 TIDB 获得笔记、视频
7.bmp

 

来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
您需要登录后才可以回帖 登录 | 立即注册