摘要:TiDB是一款开源的分布式关系型数据库,由中国的 PingCAP 公司开发,设计目标是兼具传统关系型数据库(如 MySQL、PostgreSQL)的强一致性和分布式数据库(如 Google Spanner)的高扩展性。它特别适合需要高并发、大数据量、弹性扩展的
TiDB 是一款开源的 分布式关系型数据库,由中国的 PingCAP 公司开发,设计目标是兼具传统关系型数据库(如 MySQL、PostgreSQL)的强一致性和分布式数据库(如 Google Spanner)的高扩展性。它特别适合需要高并发、大数据量、弹性扩展的场景。
分布式架构:
TiDB 采用无中心化的分布式架构,所有节点都是对等的。
它可以横向扩展,通过增加节点提升性能和存储容量。
兼容 MySQL 协议:
TiDB 完全兼容 MySQL 协议和生态工具(如 MySQL 客户端、MyBatis、JDBC 等)。
不需要修改现有应用程序即可切换到 TiDB。
HTAP 能力(混合事务与分析处理):
TiDB 同时支持 OLTP(联机事务处理)和 OLAP(联机分析处理)。
OLTP 操作直接在 TiDB 集群中执行,而 OLAP 任务通过集成的 TiFlash 存储加速。
分布式存储引擎:
TiDB 的底层存储引擎是 TiKV,一个分布式、强一致的键值存储系统。
数据通过 Raft 协议实现分布式强一致性和高可用性。
弹性扩展:
数据库的存储容量和计算能力可以通过添加节点动态扩展,无需停机。
高可用性和容错性:
通过 Raft 协议实现多副本机制,数据自动复制,单点故障不会导致服务中断。
分布式事务支持:
TiDB 使用 Percolator 分布式事务模型,支持分布式 ACID 事务。
全球分布和多租户支持:
支持部署在多个数据中心,适合全球分布式应用场景。
支持多租户,方便不同应用共享同一集群。
TiDB 的架构分为三层:
SQL 层(TiDB Server):
处理 SQL 请求,解析、优化查询。
将数据操作请求分发到存储层。
存储层(TiKV 和 TiFlash):
TiKV:负责存储行数据,提供分布式强一致性事务。
TiFlash:负责存储列式数据,用于加速分析查询。
调度与元信息层(PD,Placement Driver):
管理整个集群的元数据(如数据分区、节点信息)。
负责数据分布的调度和负载均衡。
高并发 OLTP 系统:
互联网应用、电商平台、游戏后台等需要处理高并发事务的场景。
OLAP 和实时分析:
金融风控、实时推荐、用户行为分析等场景。
混合负载(HTAP)场景:
需要同时处理在线事务和实时分析的系统。
全球化业务:
需要跨多个数据中心部署并保持数据一致性的场景。
云原生应用:
支持 Kubernetes 等云原生环境的分布式数据库需求。
TiDB 是一种结合传统关系型数据库和分布式存储优势的新型数据库,适合需要高可用性、高扩展性和实时分析的场景。如果你需要一个可以满足事务处理和分析处理的数据库,TiDB 是一个值得考虑的选项。
来源:kk是2个字母