TiDB 是什么?

TiDB(“Ti”代表 Titanium)是一个开源的 NewSQL 数据库,支持混合事务和分析处理 (HTAP) 工作负载。它兼容 MySQL,具有水平可扩展性、强一致性和高可用性。

  • 水平可扩展性

TiDB 通过简单地添加新节点来扩展 SQL 处理和存储。这使得基础设施容量规划比仅垂直扩展的传统关系数据库更容易且更具成本效益。

  • MySQL 兼容语法

TiDB 就像是您的应用程序的 MySQL 5.7 服务器。您可以继续使用所有现有的 MySQL 客户端库,并且在许多情况下,您不需要更改应用程序中的任何一行代码。由于 TiDB 是从头开始构建的,而不是 MySQL 的 fork,请查看已知的兼容性差异列表。

  • 具有强一致性的分布式事务

TiDB 在内部将表分片成基于范围的小块,我们称之为“区域”。每个 Region 默认大小约为 100 MiB,TiDB 内部使用两阶段提交来确保 Region 以事务一致的方式维护。

  • 云原生

TiDB 旨在在云中工作——公共、私有或混合——使部署、供应、操作和维护变得简单。 TiDB 的存储层,称为 TiKV,是一个 Cloud Native Computing Foundation (CNCF) 毕业项目。 TiDB 平台的架构还允许 SQL 处理和存储以非常云友好的方式相互独立扩展。

  • 最小化 ETL

TiDB 旨在支持事务处理 (OLTP) 和分析处理 (OLAP) 工作负载。这意味着,虽然传统上您可能在 MySQL 上进行交易,然后将 (ETL) 数据提取、转换和加载到列存储中进行分析处理,但不再需要此步骤。

  • 高可用性

TiDB 使用 Raft 共识算法来确保数据在 Raft 组中的整个存储中的高可用和安全复制。如果发生故障,Raft 组会自动为故障成员选举一个新的领导者,并在不需要任何人工干预的情况下自愈 TiDB 集群。故障和自愈操作对应用程序也是透明的。

更多详细信息和最新更新,请参阅 TiDB 文档和发行说明。

参考资料

https://github.com/pingcap/tidb