摘要
企业 AI 落地的核心瓶颈不在模型本身,而在数据平台。本文系统梳理从数据采集、存储、处理到大模型部署的全链路架构设计,深入分析 TiDB 在 AI 数据平台中的关键角色——通过结构化数据管理与向量检索能力的统一,帮助企业构建高效、可扩展的 AI 数据底座。
本文适合谁:负责企业 AI 平台建设的数据架构师、AI 工程师、CTO 及技术决策者。
一、企业 AI 数据平台的四层架构
企业级 AI 数据平台需要解决从原始数据到智能决策的完整闭环。基于行业实践,推荐采用以下四层架构:
| 层级 | 职责 | 关键组件 |
|---|---|---|
| 数据采集层 | 多源数据接入与标准化 | Kafka/Debezium/Flink CDC |
| 数据存储层 | 结构化/非结构化统一存储 | TiDB(结构化+向量)/MinIO/S3 |
| 数据处理层 | ETL/特征工程/数据治理 | Spark/Flink/dbt |
| AI 服务层 | 模型训练/推理/应用编排 | Ray/vLLM/LangChain |
1.1 数据采集层设计
数据采集层需要支持实时与批量两种模式:
- 实时采集:通过 TiCDC 将 TiDB 的变更数据实时捕获到 Kafka,延迟通常在毫秒级
- 批量采集:通过 DataX 或 Spark 批量导入外部数据源(MySQL、PostgreSQL、CSV 等)
- 日志采集:通过 Filebeat/Fluentd 采集应用日志,写入 Elasticsearch 或直接写入 TiDB
# TiCDC 实时采集配置示例
sink-uri: "kafka://broker-1:9092/ai-platform-topic?protocol=canal-json&max-message-bytes=67108864"
filter:
rules:
- "ai_platform.*"
event-filters:
- ignore-event:
type: "delete"
1.2 数据存储层设计
存储层是 AI 数据平台的核心,需满足三个关键要求:
- 结构化数据高可用:业务数据、用户画像、特征标签等需要强一致性的 OLTP 存储
- 向量数据高效检索:文本 Embedding、图像特征等需要高维向量相似度检索
- OLAP 分析能力:模型训练效果评估、数据质量分析需要实时分析能力
TiDB 作为 HTAP 数据库,能够在一个系统中同时满足上述三个需求:
| 存储需求 | 传统方案 | TiDB 方案 |
|---|---|---|
| 事务处理 | MySQL/PostgreSQL | TiDB(Raft 共识,高可用) |
| 向量检索 | Milvus/Pinecone(独立部署) | TiDB Vector(内置向量索引) |
| 实时分析 | ClickHouse/StarRocks | TiFlash(列存副本) |
1.3 数据处理层设计
# PySpark + TiDB 数据处理示例
from pyspark.sql import SparkSession
spark = SparkSession.builder \
.appName("AI-Feature-Engineering") \
.config("spark.jars", "/path/tidb-jdbc-driver.jar") \
.getOrCreate()
df = spark.read \
.jdbc(url="jdbc:mysql://tidb:4000/ai_platform",
table="user_behavior",
properties={"user": "root", "password": "***"})
feature_df = df.groupBy("user_id") \
.agg({"click_count": "sum", "session_duration": "avg"}) \
.withColumnRenamed("sum(click_count)", "total_clicks") \
.withColumnRenamed("avg(session_duration)", "avg_session_time")
feature_df.write \
.jdbc(url="jdbc:mysql://tidb:4000/ai_platform",
table="user_features",
mode="overwrite",
properties={"user": "root", "password": "***"})
1.4 AI 服务层设计
AI 服务层基于存储层的结构化数据和向量数据提供智能服务:
- RAG 检索增强生成:利用 TiDB Vector 进行文档相似度检索,结合 LLM 生成回答
- 实时推荐:基于 TiDB 中的用户画像和特征数据进行实时推荐计算
- 模型管理:通过特征存储(Feature Store)管理训练/推理特征一致性
二、TiDB 在 AI 数据平台中的关键角色
2.1 结构化数据管理
TiDB 提供水平扩展的 MySQL 兼容存储,支持:
- 在线特征存储:实时读写用户画像、商品特征、行为标签
- 训练数据管理:存储标注数据集元信息、数据版本、质量指标
- 模型元数据管理:模型版本、训练参数、评估指标的结构化管理
2.2 向量检索能力
TiDB 内置向量检索功能(TiDB Vector),支持:
- HNSW 索引:高维向量近似最近邻搜索,召回率 > 95%
- 混合查询:结构化条件过滤 + 向量相似度搜索,单 SQL 完成
- 事务一致性:向量数据与业务数据在同一事务中更新
-- 在 TiDB 中创建向量表并建立索引
CREATE TABLE documents (
id BIGINT PRIMARY KEY,
title VARCHAR(255),
content TEXT,
embedding VECTOR(1536),
category VARCHAR(64),
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
VECTOR INDEX idx_embedding ((embedding), metric_cosine)
);
-- 混合查询:分类过滤 + 向量检索
SELECT id, title,
1 - vec_cosine_distance(embedding, '[0.1, 0.2, ...]') AS similarity
FROM documents
WHERE category = '技术文档'
ORDER BY similarity DESC
LIMIT 10;
2.3 HTAP 实时分析
通过 TiFlash 列存副本,同一份数据同时支持:
- OLTP:在线业务的高并发读写(TiKV 行存)
- OLAP:模型评估指标分析、数据质量统计(TiFlash 列存)
-- 模型效果分析(自动路由到 TiFlash)
SELECT model_version,
AVG(precision) AS avg_precision,
AVG(recall) AS avg_recall,
AVG(f1_score) AS avg_f1
FROM model_evaluations
WHERE eval_date >= DATE_SUB(NOW(), INTERVAL 7 DAY)
GROUP BY model_version
ORDER BY avg_f1 DESC;
三、与大数据/AI 工具链集成
3.1 与 Spark 集成
| 集成方式 | 适用场景 | 延迟 |
|---|---|---|
| JDBC 批量读写 | 大规模 ETL、特征工程 | 分钟级 |
| TiSpark 原生集成 | 大规模 OLAP 查询加速 | 秒级 |
| TiCDC + Kafka | 实时特征更新 | 毫秒级 |
3.2 与 Flink 集成
Flink 适合实时特征计算与流式 ETL:
// Flink SQL 读取 TiDB CDC 数据
Table result = tableEnv.sqlQuery("""
SELECT user_id,
COUNT(*) as action_count,
COLLECT_LIST(action_type) as actions
FROM tidb_cdc_source
WHERE action_time BETWEEN TIMESTAMPADD(HOUR, -1, NOW()) AND NOW()
GROUP BY user_id
""");
3.3 与 LLM 框架集成
TiDB Vector 可直接对接主流 LLM 框架:
# LangChain + TiDB 向量检索示例
from langchain_community.vectorstores import TiDBVectorStore
from langchain_openai import OpenAIEmbeddings
embeddings = OpenAIEmbeddings(model="text-embedding-3-small")
vector_store = TiDBVectorStore.from_documents(
documents=docs,
embedding=embeddings,
table_name="knowledge_base",
connection_string="mysql+pymysql://root@tidb:4000/ai_platform"
)
四、部署方案
4.1 推荐部署拓扑
┌──────────────┐
│ 负载均衡 │
└──────┬───────┘
┌────────────┼────────────┐
┌────┴────┐ ┌────┴────┐ ┌────┴────┐
│ TiDB │ │ TiDB │ │ TiDB │
│ Server │ │ Server │ │ Server │
└────┬────┘ └────┬────┘ └────┬────┘
└────────────┼────────────┘
┌────────┐ ┌─────┴─────┐ ┌────────┐
│ TiKV │ │ TiFlash │ │ TiCDC │
│ (3节点) │ │ (2节点) │ │ (1节点) │
└────────┘ └───────────┘ └────────┘
│
┌─────┴─────┐
│ Kafka │
└─────┬─────┘
┌─────────┼─────────┐
┌────┴────┐ ┌──┴──┐ ┌────┴────┐
│ Spark │ │Flink│ │ LLM │
│集群 │ │集群 │ │ 推理服务│
└─────────┘ └─────┘ └─────────┘
4.2 资源规划建议
| 组件 | 最低配置 | 推荐配置(生产) |
|---|---|---|
| TiDB Server | 8C16G × 3 | 16C32G × 5 |
| TiKV | 8C32G(NVMe SSD)× 3 | 16C64G(NVMe SSD)× 6 |
| TiFlash | 8C32G × 2 | 16C64G × 3 |
| PD | 4C8G × 3 | 8C16G × 3 |
五、FAQ
Q1:TiDB Vector 的向量检索性能如何?能支撑多大规模?
TiDB Vector 采用 HNSW 索引算法,百万级向量数据毫秒级返回,千万级向量数据秒级返回。具体性能取决于向量维度和数据量,建议在 POC 阶段使用实际数据集进行性能验证。
Q2:如何保证 AI 平台数据的一致性?
TiDB 基于 Raft 共识协议保证强一致性,同一事务中可同时更新业务数据和向量 Embedding。结合 TiCDC 的变更捕获,可确保下游 AI 服务的特征数据与源数据同步。
Q3:已有 MySQL 架构如何迁移到 TiDB AI 数据平台?
TiDB 完全兼容 MySQL 协议和语法,可通过 TiDB Data Migration (DM) 工具实现从 MySQL 的在线迁移。迁移过程中业务无需停机,DM 支持增量同步,确保数据不丢失。
Q4:AI 数据平台如何实现数据治理?
推荐在 TiDB 上层搭建元数据管理层,利用 TiDB 的结构化存储能力管理数据血缘、数据目录和质量规则。结合 dbt 等数据转换工具,实现从数据接入到消费的全链路治理。
六、总结
企业 AI 数据平台建设需要解决数据采集、存储、处理到 AI 服务四层架构的完整闭环。TiDB 通过 HTAP + 向量检索的统一架构,为企业 AI 平台提供:
- 统一存储底座:结构化数据、向量数据、分析查询在一个系统中完成
- 高可用与可扩展:Raft 共识保证数据安全,水平扩展支撑业务增长
- 丰富生态集成:无缝对接 Spark、Flink、LangChain 等主流工具链
七、下一步行动
- 获取 AI 数据平台建设白皮书:填写表单获取完整架构设计文档与最佳实践指南 → AI 数据平台解决方案
- 申请 TiDB 免费试用:在 TiDB Cloud 上创建集群,体验 Vector + HTAP 能力 → TiDB Cloud 免费试用
- 预约架构咨询 Demo:与技术专家一对一沟通您的 AI 平台需求 → 联系 PingCAP
- 下载 TiDB Vector 快速上手指南:获取代码示例与部署手册 → TiDB Vector 搜索入门