TiDB Server 是 TiDB 数据库的计算层组件。

  1. MySQL 协议兼容层
  • 扮演"MySQL 翻译官"的角色,对外暴露 MySQL 协议接口
  • 应用程序可以像连接 MySQL 一样连接 TiDB Server
  • 兼容大多数 MySQL 语法,简化迁移成本
  1. SQL 解析与优化
  • 相当于"SQL 编译器",负责解析和优化 SQL 语句
  • 将复杂的 SQL 查询转换成高效的分布式执行计划
  • v8.2.0 新增并行排序功能提升性能
  1. 无状态设计
  • 本身不存储任何数据,纯计算节点
  • 可以水平扩展多个 TiDB Server 实例
  • 通过负载均衡组件提供统一入口
  1. 分布式执行引擎
  • 将计算下推到存储节点(TiKV/TiFlash)
  • 支持并行处理(如 MPP 架构加速分析查询)
  • 自动将大数据集分散到集群节点处理
  1. 元数据管理
  • 从 PD(Placement Driver)获取数据位置信息
  • 知道每个数据块(Region)存储在哪些 TiKV 节点
  1. 事务协调
  • 采用 Google Percolator 事务模型
  • 比传统 XA 事务性能更好,不需要支持 XA 协议
  1. 资源隔离
  • v8.2.0 增强资源管控能力
  • 可以限制不同用户组的资源使用

关键特点:

  • 弹性扩展:随时添加/移除 TiDB Server 节点
  • 高可用:单个节点故障不影响服务
  • 混合负载:能同时处理事务和分析查询

TiDB Server 就像是分布式数据库的"大脑": 接收 SQL 请求→制定最优执行计划→协调各存储节点→汇总结果返回。 同时保持轻量无状态,可以无限扩展计算能力。