TIDB 数据库架构概述

学习目标

  • 理解数据库整体架构
  • 了解 TiDB ServerTiKVTiFlash、和 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:分布式事务处理

关键特性

  1. 数据分片 (Region)
    1. 按 Key Range 进行数据分片
    2. 每个 Region 默认大小约 96MB到140MB
    3. 超过阈值会自动分裂(Split)
    4. 负载均衡时会自动调度
  2. 复制与一致性
    1. 采用 Multi-Raft 模型
    2. 通常采用 3 副本或 5 副本
    3. 强一致性保证
    4. 自动故障转移

TiFlash

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

功能

  • 异步复制

  • 一致性

  • 列式存储提高分析查询效率

  • 业务隔离

  • 智能选择

    也可以手动指定sql选择 TiKV 或者 TiFlash

TiFlash 架构图

 

PD

功能

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

 

PD 技术架构图

测试

 

答案:

  1. B、F
  2. C

公众号回复 TIDB 获得笔记、视频

 

posted @   行行出bug  阅读(22)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
点击右上角即可分享
微信分享提示