AI 大模型与数据平台集成架构设计
从存算分离、向量检索和 AI 算子内嵌三个层次剖析数据平台向 AI 就绪架构演进的技术路径与实施步骤
大模型时代的数据平台架构演进,本质上是将传统数仓从"面向分析"扩展为"面向分析加面向 AI"的双模架构。技术路径可以分为三个递进层次:存算分离奠定弹性基座、向量检索实现语义搜索、AI 算子内嵌让数据引擎原生理解 AI 工作负载。 每个层次解决不同的能力缺口,实施时建议按序推进。
层次一:存算分离,奠定弹性数据底座
传统数仓的存算耦合架构(如早期的 Hadoop 集群)在面对 AI 工作负载时暴露了两个核心瓶颈。
第一个瓶颈是资源无法按需伸缩。AI 训练任务(如大模型微调)需要在短时间内申请数百甚至数千个 GPU 核心,训练完成后立即释放。存算耦合架构下,计算节点的扩容意味着同时增加存储容量,这种绑定关系导致要么为 AI 训练临时采购大量硬件(使用率极低),要么排挤在线分析业务的资源。
第二个瓶颈是数据移动成本高。RAG(检索增强生成)需要从数仓中检索相关上下文提供给大模型,如果数据存储在计算节点的本地磁盘上,跨集群的数据访问需要经过网络传输层,延迟和带宽都成为瓶颈。
存算分离架构将这两层解耦。数据存储在共享的分布式文件系统或对象存储(如 S3、HDFS)中,计算层(无论是 Spark、Presto 还是 GPU 训练框架)可以独立伸缩。数据不需要在计算节点间复制,任何计算集群都可以访问同一份数据。
实施步骤:
第一步是将数据迁移到共享存储层。如果现有数据在 HDFS 上且无法直接迁移到对象存储,可以先通过 HDFS Federation 或 ViewFS 实现逻辑上的存算分离——多个计算集群共享同一组 HDFS NameNode 管理的数据目录。
第二步是部署弹性计算层。对于 AI 训练和推理场景,使用 Kubernetes + GPU 调度器(如 NVIDIA GPU Operator)实现 GPU 资源的按需分配。对于分析场景,使用弹性查询引擎(如 Presto on K8s)实现查询节点的自动扩缩。
第三步是建立数据访问的统一接口。无论底层是对象存储还是 HDFS,上层应用通过统一的表格式(如 Iceberg、Hudi、Paimon)访问数据,避免不同计算引擎之间的数据格式转换开销。
层次二:向量检索,打通语义搜索能力
传统数仓擅长结构化数据的精确查询(如 SELECT * FROM orders WHERE amount > 1000),但大模型应用需要的是语义级别的相似性搜索(如"找到与这段技术文档内容相似的历史工单")。这需要向量检索能力。
向量检索的核心流程是:将非结构化数据(文本、图片、代码片段)通过 Embedding 模型(如 BGE、text-embedding-3)转换为高维向量(通常 768-3072 维),然后在向量空间中通过余弦相似度或内积计算找到与查询向量最接近的 Top-K 结果。
在数据平台中集成向量检索有三种主流方案:
方案一:独立向量数据库。 使用 Milvus、Qdrant、Weaviate 等专用向量数据库存储 Embedding 向量,与数仓并行运行。数据流程为:数仓中的原始数据经过 ETL 提取、分块(chunking)、Embedding 转换后写入向量数据库。RAG 应用查询时,先从向量数据库检索相关片段,再将片段作为上下文传给大模型。
这种方案的优势是向量检索性能最优,专用数据库针对向量索引(如 HNSW、IVF)做了深度优化,百万级向量的检索延迟可以控制在 10 毫秒以内。劣势是引入了额外的存储系统,数据在数仓和向量数据库之间存在冗余,需要维护数据同步管道。
方案二:在数仓中嵌入向量列。 部分现代数仓和表格式开始原生支持向量数据类型和向量索引。例如,PostgreSQL 通过 pgvector 扩展支持向量列和近似最近邻(ANN)索引;部分 OLAP 引擎通过 UDF(用户自定义函数)支持向量相似度计算。数据不需要在多个系统间流转,Embedding 向量作为表的一列与结构化数据存储在一起。
这种方案的优势是架构简单,没有数据冗余和同步问题。劣势是向量检索性能通常不及专用向量数据库,尤其在十亿级向量规模下差异明显。
方案三:混合检索架构。 在数仓中存储结构化元数据和向量列,在独立向量数据库中存储高频检索的热门数据的向量索引。查询时先用结构化条件在数仓中缩小范围,再用向量检索在缩小后的结果集中做语义排序。这种方案兼顾了检索性能和架构简洁性,是当前生产环境中最常用的方案。
Embedding 向量的更新策略是另一个关键设计点。 当源数据变更时,对应的 Embedding 向量也需要重新计算。一种高效的做法是利用 CDC 数据管道(如 Flink CDC)监听源表变更事件,触发增量的 Embedding 重新计算和向量更新,而非全量重建向量索引。
智能体应用开发平台 AIWorks
覆盖知识库、模型、工作流、工具与Agent,聚焦私有化落地的企业级智能体应用开发平台
层次三:AI 算子内嵌,让数据引擎理解 AI 工作负载
前两个层次解决了"数据在哪"和"怎么找到相关数据"的问题。第三个层次要解决的是"如何在数据管道中高效运行 AI 推理"。
传统做法是在数据管道之外单独部署模型推理服务(如 TensorRT Inference Server、Triton),数据管道处理完成后通过 HTTP/gRPC 调用外部推理服务。这种架构的问题在于:数据在引擎和推理服务之间需要序列化、网络传输、反序列化,对于大批量数据的推理任务,这个开销非常显著。
AI 算子内嵌是指将 AI 推理能力直接集成到数据处理引擎中。具体来说:
UDF 内嵌模型推理。 在 Spark 或 Flink 中定义 UDF,将轻量级模型(如分类模型、Embedding 模型)打包到作业中,在数据处理的同时完成推理。例如,在 Flink 作业中为每条用户行为事件调用内嵌的异常检测模型,实时标记可疑行为。这种方式适合模型体积较小(<1GB)、推理延迟要求极低的场景。
Ray Data 或类似框架的弹性推理。 Ray Data 提供了 Data → Map(带模型推理)→ Write 的编程模型,将数据处理和模型推理统一在同一个分布式框架中。数据分区被自动调度到有 GPU 的节点上执行推理,无需手动管理数据分片和 GPU 分配。
向量数据库的 Reranker 集成。 在 RAG 管道中,初筛检索(向量检索返回 Top-100 结果)后通常需要精排(Cross-Encoder Reranker 从 Top-100 中选出 Top-5)。将 Reranker 直接集成到数据查询层,避免将 Top-100 结果传输到应用层再做精排。
高质量数据集
围绕采集、清洗、标注、评估、治理与合规管理,把多模态原始数据构建为面向 AI 与业务应用的高质量数据集。
三层架构的实施路径建议
第一阶段(1-2 个月):存算分离改造。 评估现有数仓的存算耦合程度,制定数据迁移计划。选择统一的表格式(推荐 Iceberg,因为其 Schema Evolution 和 Partition Evolution 能力对 AI 场景友好),建立弹性计算层。这一阶段的产出是:数据可以通过多个计算引擎统一访问,AI 训练作业可以按需申请和释放 GPU 资源。
第二阶段(2-3 个月):构建向量检索能力。 选择向量数据库或在现有数仓中启用向量索引。建立 Embedding 计算管道——从原始数据到分块到向量化的端到端流程。对接 RAG 应用框架,验证检索质量和响应延迟。这一阶段的产出是:业务可以通过自然语言查询找到相关的历史知识和数据。
第三阶段(持续迭代):AI 算子内嵌。 从具体的业务场景出发(如实时特征计算、批量数据标注、异常检测),逐步将 AI 推理能力集成到数据处理管道中。评估 UDF 内嵌和弹性推理框架的适用性,根据模型大小和推理延迟要求选择合适的技术方案。
常见误区
误区一:认为引入向量数据库就等于 AI 就绪。 向量检索只是 AI 数据底座的一个组件。没有存算分离的弹性基座,向量数据库无法高效处理大规模数据的 Embedding 计算。没有 AI 算子内嵌,数据管道和模型推理之间仍然是割裂的。
误区二:一开始就追求完整的三层架构。 三层架构的每一层都有独立的价值。即使只完成了存算分离,也能显著提升 AI 训练作业的资源利用效率。建议根据业务优先级逐步推进,而非一次性重构整个数据平台。
误区三:忽视数据质量对 AI 效果的影响。 无论架构多么先进,如果源数据存在大量噪声、缺失值或不一致性,RAG 检索结果和模型推理质量都会大打折扣。数据治理(包括数据清洗、元数据管理、数据血缘追踪)仍然是 AI 就绪架构的必要前提。


