0
0
1
0
博客/.../

解密新一代NewSQL分布式 HTAP 数据库:TiDB 核心架构与功能组件全解析

 forgaoqiang  发表于  2026-08-03
原创HTAP

在海量数据和复杂业务场景交织的今天,传统数据库“要么只能做高并发交易(OLTP),要么只能做大规模分析(OLAP)”的物理技术边界正在被打破。作为开源分布式 HTAP 数据库的代表,TiDB 凭借其独特的存算分离行列混合架构,真正实现了一套系统同时支撑混合负载的需求。

基于最新的 TiDB 核心架构全景图,根据个人的理解,深度拆解这台精密工业级引擎的四大核心层级与五大关键组件。

一、 流量大门:计算接入层 (TiDB-Server)

位于架构图最上方的 TiDB-Server,是整个集群无状态的(Stateless)计算节点,也是所有客户端与应用程序的统一接入入口。它兼容 MySQL 协议,这意味着你的业务代码无需重构,即可直接连接。

作为一个纯粹的计算层,TiDB-Server 内部不保存任何业务数据,而是集成了以下核心功能组件:

  • SQL 解析与校验 (Parser):负责将客户端发来的明文 SQL 语句进行词法和语法分析,构建成抽象语法树(AST)。
  • 基于代价的优化器 (CBO 智能路由):这是 TiDB 实现 HTAP 的智能大脑。优化器会同步收集行存与列存的统计信息,并计算不同方案的物理资源代价。当面对复杂聚合查询时,它会自动将请求路由到列存阵列;面对高并发点查时,则秒级路由到行存阵列。
  • 分布式执行计划生成 (Distributed Plan):将复杂的 SQL 转化为适合分布式集群并发执行的任务网络。
  • Coprocessor 算子下推封装:为了避免数据大范围跨网络传输,TiDB-Server 会将过滤、聚合等算子“打包下推”给底层存储节点,在靠近数据的地方完成初步计算。
  • 元数据缓存管理 (Schema Cache):缓存表结构、索引等元数据,极大加快权限校验和 SQL 编译速度。

二、 核心大脑:控制与调度层 (PD Node)

PD (Placement Driver) 是整个分布式集群的“总指挥官”和“全局时间源”,它通常由多个节点构成,内部基于 Raft 协议保证自身的高可用。

PD 在集群中承担着全局视角下的 Command and Control 任务,核心功能包括:

  • 全局授时服务 (TSO):在分布式事务中,各节点判断事务先后的依据就是时间戳。PD 能够提供全局单调递增、高并发的物理与逻辑复合时间戳(TSO),这是实现分布式强一致性事务(如二阶段提交)的绝对基石。
  • 元数据管理:实时掌握整个集群中所有数据块(Region)的物理分布和状态。
  • Raft 副本调度与动态负载均衡:PD 像雷达一样监控每个物理存储节点的 CPU、内存和磁盘负载。一旦发现某个存储节点过热,或者数据副本丢失,PD 会在线下达命令,让底层数据块自动、无感地迁移搬家。

三、 双剑合璧:混合存储层 (TiKV & TiFlash)

TiDB 真正强悍的地方在于它同时拥有行存和列存两套阵列,并且它们完美地有机结合在一起。

2. 行存阵列:TiKV (OLTP 强一致事务存储)

TiKV 是一个分布式的键值(Key-Value)存储引擎。数据在物理上被切分成大约 96MB 大小的 Region(数据块)。

  • Raft Consensus(共识算法):Region 内部采用多副本机制。图中可以看到,一个 Region 包含 Leader (L)Follower (F)。所有的写请求和主要读请求都由 Leader 处理,随后通过 Raft 协议实时、强一致地同步给 Follower,确保金融级的防灾高可用。

3. 列存阵列:TiFlash (OLAP 大规模并行 MPP)

TiFlash 是响应分析型业务的专用列式存储引擎。

  • Raft Learner 流式异步强一致同步:这是实现事务隔离与性能解耦的绝妙设计。TiFlash 中的数据是通过 Raft 协议流式同步过来的,但它在 Raft 组里扮演的是 Learner(学习者) 角色。它只读不写,不参与 Raft 投票选举。这意味着,哪怕你在 TiFlash 上跑再复杂的 AP 报表、把 CPU 压到 100%,也绝对不会卡死或拖慢 TiKV 的线上交易,做到了真正的物理隔离。
  • MPP Parallel Exchange(大规模并行计算):在面对多表大关联、大范围聚合时,TiFlash 节点之间可以打破壁垒,直接通过高速网络进行跨节点的数据交换(Shuffle)与协同并行计算,让分析算力随着节点数量的增加实现线性扩展。

四、 生态无缝链接:大数据与计算生态融合层

除了核心的读写引擎,TiDB 还在外围构建了丰富的数据生态,打破数据孤岛:

  • TiSpark 接入插件:让 Apache Spark 生态圈能够直接读取 TiKV 和 TiFlash 中的底层数据。大数据工程师无需繁琐的 ETL 导出过程,就能利用 Spark 强大的多维分析和机器学习生态直接进行原生计算。

  • 数据同步与迁移工具链

    • TiDB Lightning:用于海量数据的快速离线快速导入。
    • Data Migration (DM):用于将上游传统的 MySQL 实例在线实时同步到 TiDB。
    • TiCDC:通过拉取底层 Raft 变更日志,实现毫秒级的数据变更捕获(CDC),方便将数据高可靠地同步到 Kafka、下游其他数据库或作为异地容灾备份。

💡 结语

从客户端的 MySQL 协议接入,到 TiDB-Server 的 CBO 智能算力路由,再到 PD 的全局调度,以及底层 TiKV 与 TiFlash 行列混合、互不干扰的 Raft 同步流,TiDB 用一套非常优雅的分布式解耦架构,回答了现代企业对于“高并发 TP 交易”与“实时 AP 分析”的终极追求。无论是出海合规下的全球多活,还是大健康、大金融领域的混合负载,这套新一代的架构都已经成为了开源分布式数据库领域的坚实标杆。

0
0
1
0

版权声明:本文为 TiDB 社区用户原创文章,遵循 CC BY-NC-SA 4.0 版权协议,转载请附上原文出处链接和本声明。

评论
暂无评论