基于强一致键值存储构建的云原生分布式 SQL 数据库,兼容 PostgreSQL 协议。
- Star
- 40,667
- Fork
- 6,275
- 未关闭 Issue
- 7,338
- 最近提交
- 16小时前
这是什么?
TiDB 是一个云原生的分布式 SQL 数据库,目标是高可用、可水平和垂直扩展、强一致并具备较高性能。它基于两阶段提交协议实现分布式事务,并保证 ACID 特性,事务可以跨越多个节点执行。数据通过 Raft 共识协议进行多副本存储,事务在多数副本写入后才提交,部分副本故障时可以自动故障转移。
TiDB 将计算与存储分离。TiKV 是行式存储引擎,TiFlash 是列式引擎,并从 TiKV 实时复制数据,使分析查询和事务负载可以基于同一份数据运行。TiDB 兼容 MySQL 8.0 的协议和工具,可以部署在公有云、本地机房或 Kubernetes 上(通过 TiDB Operator 管理),也提供全托管的 TiDB Cloud 服务。
项目使用 Go 编写,采用 Apache 2.0 许可证。它还支持向量搜索和用于数据同步的 changefeed,并提供数据迁移工具,方便将已有应用数据迁入 TiDB。
核心功能
- 01基于两阶段提交的分布式事务,保证 ACID 特性
- 02计算与存储分离,支持水平和垂直扩展
- 03基于 Raft 的多副本复制与自动故障转移
- 04通过 TiKV 行存与 TiFlash 列存实现 HTAP
- 05兼容 MySQL 8.0 协议和常用工具
- 06支持向量搜索与数据变更同步(changefeed)
适用场景
- 替代已超出单机容量的 MySQL 部署
- 在同一份实时数据上同时运行事务与分析查询
- 构建需要 SQL 存储与向量搜索结合的 AI 应用
- 在 Kubernetes 上部署可水平扩展的数据库
快速上手
- 1
按照 TiDB 快速入门指南启动本地测试集群
- 2
查阅 TiDB SQL 文档以了解 SQL 功能
- 3
使用 MySQL 驱动或 ORM 基于 TiDB 构建应用
使用前须知
- README 推荐的主要路径是托管云服务或 Kubernetes 部署,自行搭建集群需要较多配置工作。
- TiDB 是包含众多组件的分布式数据库,运行起来比单机数据库更重。
标签
常见问题
- tidb 是什么?
- 开源分布式 SQL 数据库,兼容 MySQL 8.0,支持 ACID 事务、HTAP 分析与向量搜索。 TiDB 是一个云原生的分布式 SQL 数据库,目标是高可用、可水平和垂直扩展、强一致并具备较高性能。它基于两阶段提交协议实现分布式事务,并保证 ACID 特性,事务可以跨越多个节点执行。数据通过 Raft 共识协议进行多副本存储,事务在多数副本写入后才提交,部分副本故障时可以自动故障转移。
- tidb 可以免费使用吗?用的什么许可证?
- tidb 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
- tidb 还在维护吗?
- 活跃维护中。tidb 最近一次提交是在 2026年10月21日。
- tidb 适合用来做什么?
- 替代已超出单机容量的 MySQL 部署 在同一份实时数据上同时运行事务与分析查询 构建需要 SQL 存储与向量搜索结合的 AI 应用 在 Kubernetes 上部署可水平扩展的数据库
- tidb 怎么安装和运行?
- 按照 TiDB 快速入门指南启动本地测试集群 查阅 TiDB SQL 文档以了解 SQL 功能 使用 MySQL 驱动或 ORM 基于 TiDB 构建应用
- 在哪里获取 tidb?
- 源代码和安装说明在 GitHub 上:https://github.com/pingcap/tidb
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
基于 SQLite 构建的轻量级、容错分布式关系型数据库,通过 Raft 共识实现多节点复制。
开源 MPP 实时分析与搜索数据库,支持快速 SQL 分析、湖仓查询加速及结构化、文本与向量混合检索。
Milvus 是一款开源分布式向量数据库,用于大规模存储和检索向量嵌入,常用于 AI 搜索与 RAG 应用。
Go 语言的全功能 ORM 库,可将结构体映射到数据库表,支持关联、钩子、事务和自动迁移。
SQL 编译器,读取 SQL 查询并生成类型安全的 Go、Kotlin、Python 和 TypeScript 代码。