tidb
面向 AI Agent 工作负载的分布式 NewSQL 数据库,兼具强一致性事务与向量语义搜索能力
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
面向 AI Agent 工作负载的分布式 NewSQL 数据库,兼具强一致性事务与向量语义搜索能力
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
2025年,一个微妙但深刻的转变正在发生——数据库不再只是存数据的仓库,它们正在成为 AI Agent 的「记忆体」和「工作台」。
想象这样的场景:一个 AI 编程助手需要同时处理数千个用户的代码审查请求,每个请求都是一个独立上下文,数据不能混淆,事务必须原子化。如果用传统 MySQL,你需要在应用层做大量分库分表逻辑;如果用 NoSQL,你将失去事务保障。而 TiDB 的出现,给了这个场景一个优雅的答案。
TiDB 由 PingCAP(平凯星辰)公司开源,创始人刘奇等人曾是 Google 内部分布式数据库 Spanner/F1 团队的成员。2015年,他们将 Google 内部的经验工程化,创造了 TiDB——一个兼具 OLTP 事务能力和 OLAP 分析能力的分布式 SQL 数据库。
2024-2025年,随着 AI Agent 浪潮爆发,PingCAP 敏锐地捕捉到一个新需求:AI Agent 工作负载具有不可预测的增长特性,它们需要事务保障、需要横向扩展、需要向量搜索来支撑语义记忆。TiDB 顺势推出 Agent Context 优化和向量搜索支持,将自己重新定位为"面向 Agentic 工作负载的数据库"。
TiDB 采用了经典的计算存储分离架构,由三大组件构成:
TiDB Server(计算层):负责 SQL 解析、优化和执行,无状态,可水平扩展。它就像一个智能路由器,将请求路由到正确的存储节点。
TiKV(存储层):基于 RocksDB 的分布式 Key-Value 引擎,数据通过 Raft 共识协议在多副本间复制保证高可用。每一个写操作都需要多数派节点确认,确保强一致性。
PD(Placement Driver):集群大脑,负责调度数据分布、管理 Region 迁移、分配时间戳(TSO)。这个设计借鉴了 Spanner 的 TrueTime 机制。
这三层的分离带来了一个关键优势:独立扩缩容。当查询压力大时,增加 TiDB Server;当存储瓶颈时,增加 TiKV 节点——真正实现了"弹性"。
传统的 AI 应用架构中,RAG(检索增强生成)系统通常需要两套存储:向量数据库(如 Milvus/Pinecone)存语义向量,关系数据库(如 PostgreSQL)存结构化元数据。TiDB 的新版本将向量搜索直接集成进数据库内核,通过近似最近邻(ANN)算法在 SQL 查询中直接支持向量检索。
这意味着 AI 应用可以用单一数据库同时满足结构化数据存储和向量语义搜索,大幅简化了 RAG 系统的架构复杂度。
此外,TiDB 的 Agent Context 优化针对 AI Agent 的特定访问模式(如高频小事务、长事务、全表扫描)进行了专项调优,降低了 AI 应用访问数据库的延迟抖动。
部署难度:中等
TiDB 提供了 Docker 镜像,可以通过 Dockerfile 快速构建单机版 tidb-server 二进制文件。Dockerfile 采用了标准的多阶段构建:先用 golang:1.25.9 编译,再将产物复制到轻量的 rockylinux:9-minimal 镜像,最终产物约 100MB。
但需要注意,TiDB 是一个分布式数据库集群,生产环境至少需要 3 个 TiKV 节点 + 1 个 PD 节点 + 1 个 TiDB 节点。虽然有 TiUP 部署工具可以一键拉起集群,但完整的分布式部署对运维能力有一定要求。
上手体验:
对于本地开发,TiDB 支持单机模式运行,开发者可以直接 make server 构建后启动一个单节点实例进行功能验证。文档质量极高,docs/ 目录包含详细的架构图、HTTP API 文档和设计文档,非常适合想深入理解分布式数据库原理的开发者。
无 Web UI:TiDB 是纯后端服务,没有图形化管理界面。日常管理依赖 tidb-server 命令行、MySQL 协议客户端(如 Navicat、DBeaver)或官方 TiDB Dashboard(需要额外部署)。
从仓库结构来看,TiDB 的代码组织体现了极高的工程成熟度:
特别值得称道的是其 CI/CD 流水线:GitHub Actions 覆盖了 Bazel 跨平台构建、lint 检查、ABI 兼容性验证、许可证检查等多个环节。golangci-lint 配置了详尽的静态分析规则,确保代码风格统一。
尽管 TiDB 表现优异,但它并非银弹:
| 场景 | 推荐度 | 说明 |
|---|---|---|
| 需要强一致性事务的 SaaS 后端 | ★★★★★ | MySQL 兼容,水平扩展,高可用 |
| AI RAG 系统的语义存储 | ★★★★☆ | 向量+结构化一体化,架构简化 |
| 海量时序数据存储(IoT/监控) | ★★★☆☆ | 可用,但专业时序数据库更优 |
| 超低延迟 OLTP(延迟<1ms) | ★★☆☆☆ | 分布式开销不适合 |
| 快速原型 / 小型项目 | ★★☆☆☆ | 运维成本过高,PostgreSQL 更适合 |
总体而言,TiDB 是一款工程质量极高、定位清晰的分布式数据库,在 AI 时代找到了自己独特的生态位——成为 AI Agent 的可信记忆层。如果你正在构建需要事务保障的大规模 AI 应用,TiDB 值得认真考虑。