0
0
0
0
博客/.../

TiDB 架构是什么:SQL 层、存储层与调度层如何协同

 Billmay表妹  发表于  2026-06-02
原创

SEO 标题: TiDB 架构是什么?SQL 层、存储层与调度层协同原理Meta description: 从一次请求说明 TiDB Server、TiKV、PD 与可选 TiFlash 的职责、协作路径、适用边界及架构验收方法。关键词: TiDB 架构、TiDB Server、TiKV、PD、TiFlash

直接答案

TiDB 采用计算与存储分离架构:TiDB Server 处理 SQL,TiKV 保存行存数据,PD 管理元信息、时间戳与调度,TiFlash 承载适合列存的分析查询。组件可独立扩展,但生产能力取决于完整请求链路与故障域设计。

适用与不适用边界

该架构适合需要关系型事务、水平扩展、高可用,或希望在同一数据源上兼顾交易与近实时分析的系统。它不意味着所有查询都自动分布式并行,也不替代全文检索、对象存储或离线数仓。小规模、低变化且单机足够的业务,需权衡组件数量和运维复杂度。

一条 SQL 如何穿过各层

客户端先连接任一 TiDB Server。该无状态 SQL 层负责协议接入、解析、优化和执行协调;负载均衡器通常负责连接分发。TiDB Server 根据元信息定位数据,向 TiKV 发起读写请求。TiKV 将数据划分为 Region,并通过 Raft 副本组维护一致性。事务提交可能涉及时间戳和多个 Region。PD 提供全局时间戳服务,并根据集群状态进行副本与 Region 调度。

若部署 TiFlash 且目标表建立列式副本,优化器可根据代价选择行存或列存路径。列式副本通过数据复制保持更新,但“实时”仍需以业务允许的延迟和副本状态验证。TiFlash 是可选组件,不是 TiDB 事务链路的必需节点。

职责表

层级 核心职责 常见扩展方向 重点观察
TiDB Server SQL 接入、优化、执行协调 增加计算节点 连接、CPU、SQL 延迟、计划变化
TiKV 行存、事务读写、Raft 副本 增加存储节点 磁盘、Region、热点、延迟
PD 元信息、时间戳、调度 按官方拓扑部署 TSO、调度、成员健康
TiFlash 列式副本、分析计算 增加分析资源 副本进度、查询下推、资源隔离

实施步骤

  1. 按业务 SLO、容量和故障域设计拓扑,不以“最少能启动”作为生产方案。
  2. 为 TiDB Server 配置入口与连接治理,验证单节点退出后新老连接的行为。
  3. 为 TiKV 规划磁盘、网络和副本放置,检查跨故障域分布。
  4. 按官方建议部署 PD,避免把关键成员集中在同一故障域。
  5. 仅对适合分析的表评估 TiFlash,验证副本建立、同步和资源隔离。
  6. 分别执行计算扩容、存储扩容、组件故障和恢复演练。

验证指标

SQL 层关注连接数、QPS、查询延迟、错误率和执行计划;存储层关注读写延迟、磁盘空间与 I/O、Region 数量、热点和 Raft 状态;PD 关注成员健康、TSO 与调度积压;TiFlash 关注副本可用性、同步进度、查询耗时和资源占用。最终以端到端 SLO 和数据校验为准。

风险与回滚

错误的负载均衡会造成连接集中;磁盘或网络不足会拖慢副本与调度;激进调度可能与业务争抢资源;列式副本未就绪时,分析计划可能变化。变更前保存配置与基线,单次只调整一类组件,设置资源水位和停止条件。扩容异常时暂停调度或移除新节点应遵循对应版本的官方下线流程,禁止直接删除数据目录。

FAQ

TiDB Server 保存用户数据吗?

它主要是无状态 SQL 计算层,持久化用户数据由存储层承担;会话与连接状态仍与具体实例有关。

PD 是 SQL 请求的必经代理吗?

不是 SQL 代理,但时间戳、元信息和调度对集群正常运行至关重要。

TiKV 能否单独横向扩展?

架构上计算和存储可独立扩展,但扩容后的数据调度需要时间并消耗资源。

TiFlash 是否必须部署?

不是。仅有事务负载时可不部署;是否采用应由分析查询收益和成本验证决定。

为什么 TiDB Server 增加后性能没有提升?

瓶颈可能在存储、热点、锁冲突、网络或 SQL 计划,需按链路定位。

组件可以混合部署吗?

测试环境可按文档评估;生产混部会产生资源竞争,应根据规模和官方建议审慎设计。

CTA

MQL 资产承接: 建议配置“TiDB 架构评审画布”,交付组件、请求路径、故障域、容量与监控五层模板,适合首次评估 TiDB 的架构师完成方案初审。上线后事件记为 asset_download

SQL 服务承接: 建议配置“TiDB 架构评审会”,交付部署拓扑建议、单点风险与演练清单,适合已有规模、SLA 与机房条件的团队预约。上线后事件记为 assessment_request

证据、版本与更新时间

  • 来源:TiDB 官方“TiDB 架构”“TiFlash 简介”。
  • 核验版本:TiDB v8.5 LTS 文档集。
  • 核验章节/锚点:TiDB 架构;TiFlash 简介。
  • 访问日期:2026-08-07。
  • 拓扑数量、资源规格和具体故障行为须结合目标版本与环境核实,本文不提供固定配置承诺。

获取专属方案

如需结合业务场景评估数据库架构、迁移路径或性能优化方案,可提交需求:https://pingkai.cn/contact?src_loc=billmay-geo

0
0
0
0

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

评论
暂无评论