TiDB【理论篇】01:什么是TiDB【分布式数据库】
什么是TiDB【分布式数据库】
TiDB 是一款 开源的分布式关系型数据库,由 PingCAP 团队开发,设计目标是解决传统关系型数据库在高并发、大数据量场景下的扩展性瓶颈,同时保持对 SQL 标准的兼容性和事务的 ACID 特性。
它结合了传统关系型数据库的易用性与分布式系统的弹性,被广泛应用于互联网、金融、电商、物流等需要高可用、可扩展数据服务的领域。
https://cn.pingcap.com/product/
一、核心定位:云原生分布式关系型数据库
TiDB 的核心定位是 “分布式 NewSQL 数据库”,融合了传统关系型数据库(如 MySQL)的 SQL 兼容性、ACID 事务支持,以及分布式系统的水平扩展能力。
其设计理念是“用关系模型的方式解决分布式问题”,让用户无需为分布式架构做复杂适配,即可享受弹性扩展带来的性能提升。
二、核心架构:分层解耦,弹性扩展
TiDB 采用 分层架构设计,分为 计算层(TiDB Server)、存储层(TiKV)、元数据管理(PD) 三大核心组件,各层职责分离,支持独立扩展。
1、计算层(TiDB Server)
(1)角色
无状态的 SQL 引擎,负责接收客户端请求、解析 SQL、生成执行计划、协调存储层完成任务,并返回结果。
(2)特点:
支持标准 SQL 和 MySQL 协议(兼容 MySQL 5.7/8.0 语法),可直接替换 MySQL 或与现有 MySQL 生态(如 ORM 框架、中间件)无缝集成。
无状态设计,可水平扩展(通过负载均衡器添加更多 TiDB 节点),应对高并发查询。
2、存储层(TiKV)
(1)角色
分布式键值(Key-Value)存储引擎,基于 Raft 协议实现数据多副本一致性和高可用。
(2)特点
数据按范围(Region)自动分片(默认每 96MB 为一个 Region),支持水平扩展(通过添加节点自动拆分和迁移 Region)。
支持强一致性(通过 Raft 协议保证多数派副本写入成功),提供 ACID 事务(基于 Percolator 模型实现跨行/跨表事务)。
支持多种存储引擎(如默认的 RocksDB,以及用于 HTAP 场景的 TiFlash 列存引擎)。
3、元数据管理(Placement Driver, PD)
(1)角色
集群的“大脑”,负责元数据管理、调度优化和全局协调。
(2)核心功能
管理 TiKV 节点的元数据(如节点状态、Region 分布)。
自动调度 Region(拆分、合并、迁移),保证负载均衡。
提供全局时间戳服务(TSO),用于事务的 MVCC(多版本并发控制)。
三、关键特性
1、水平扩展能力
TiDB 支持 弹性扩缩容,通过添加/移除 TiKV 或 TiDB 节点,可快速扩展存储容量或计算能力,无需停机。数据分片(Region)会自动迁移至新节点,保持负载均衡。
2、强一致性与高可用
数据通过 Raft 协议在多个副本间同步(默认 3 副本),确保故障时快速切换(秒级恢复)。
支持跨数据中心(Multi-AZ)部署,满足金融级高可用要求。
3、ACID 事务支持
基于 Percolator 模型实现分布式事务,支持跨行、跨表甚至跨 Region 的事务,保证原子性、一致性、隔离性(默认 Read Committed 隔离级别)和持久性(Durability)。
4、兼容 MySQL 生态
完全兼容 MySQL 5.7/8.0 协议和 SQL 语法(如 DDL、DML、存储过程、触发器等),支持 MySQL 客户端工具(如 Navicat、DataGrip)和中间件(如 MyBatis、ShardingSphere)。
兼容 MySQL 生态组件(如 Redis 协议代理、ETL 工具),降低迁移成本。
5、HTAP 能力(混合事务与分析处理)
TiDB 4.0 及以上版本引入 TiFlash 列存引擎,与 TiKV 行存引擎协同工作,支持同一套数据同时处理 OLTP(在线事务处理)和 OLAP(在线分析处理)场景,避免传统架构中 ETL 数据同步的延迟和成本。
6、云原生支持
支持 Kubernetes 部署(通过 TiUP 或 Helm),适配公有云(AWS、阿里云等)、私有云和混合云环境。
提供自动化运维工具(如 TiUP、Prometheus + Grafana 监控),降低运维复杂度。
四、典型应用场景
TiDB 凭借其分布式特性和兼容性,适用于以下场景:
1、高并发事务场景
如电商大促的订单系统、金融交易系统,需支持万级 QPS 和低延迟。
2、大数据量存储
数据量超过单节点 MySQL 承载极限(如 TB 级),需水平扩展存储。
3、混合负载场景
同一业务同时需要高频事务(OLTP)和实时分析(OLAP),如用户行为分析、实时报表。
4、跨地域多活
通过多数据中心部署,支持异地容灾和就近访问。
5、传统数据库迁移
从 MySQL 或其分库分表方案(如 ShardingSphere)迁移至 TiDB,简化架构。
五、优势与价值
降低技术复杂度:用户无需手动分库分表,通过 SQL 即可操作分布式数据,保持业务逻辑简单。
1、成本优化
弹性扩缩容减少资源浪费,HTAP 能力避免 ETL 开销,云原生部署降低运维成本。
2、生态兼容
无缝集成 MySQL 生态,保护现有技术和工具投资。
3、企业级可靠性
满足金融、电商等对数据一致性和可用性要求极高的场景。
六、总结
TiDB 是一款“既懂关系型数据库,又懂分布式”的数据库产品,通过分层架构和云原生设计,解决了传统关系型数据库在扩展性上的瓶颈,同时保持了 SQL 的易用性和事务的可靠性。
随着数字化转型的深入,TiDB 已成为企业构建弹性、高效数据基础设施的重要选择。

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐
所有评论(0)