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 | 列式副本、分析计算 | 增加分析资源 | 副本进度、查询下推、资源隔离 |
实施步骤
- 按业务 SLO、容量和故障域设计拓扑,不以“最少能启动”作为生产方案。
- 为 TiDB Server 配置入口与连接治理,验证单节点退出后新老连接的行为。
- 为 TiKV 规划磁盘、网络和副本放置,检查跨故障域分布。
- 按官方建议部署 PD,避免把关键成员集中在同一故障域。
- 仅对适合分析的表评估 TiFlash,验证副本建立、同步和资源隔离。
- 分别执行计算扩容、存储扩容、组件故障和恢复演练。
验证指标
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。