Apache Doris多模态能力深度解析:从技术架构到大厂落地实践

news2026/5/23 18:44:40
这篇文章是个人的学习总结AI时代下的Doris在多模态能力的支持上越来越完善个人总结了背景、技术方案以及各大公司落地场景方便查阅大家可以点击收藏。前言Apache Doris 4.0正式引入原生向量索引、AI 函数与混合检索能力将传统 OLAP 引擎升级为AI分析中枢。字节跳动、思必驰等企业已在生产环境中落地Doris多模态能力覆盖智能搜索、RAG、内容治理、多模态数据集管理等场景。本文从技术背景、核心实现、大厂案例几个维度进行了总结和拆解一是个人学习二是参考其他公司的实现未来能落地。一、OLAP引擎需要多模态能力的背景企业数据中非结构化数据文本、图像、音视频的占比已超过 80%。传统数据分析架构中结构化数据存 OLAP非结构化数据存对象存储或专用向量数据库两套系统割裂导致数据孤岛结构化指标与非结构化语义无法联合分析架构复杂需维护 Elasticsearch 向量数据库 OLAP 多套引擎时效性差跨系统 ETL 链路长无法实时响应业务需求AI时代的 RAG、Agent、AI问数等新范式对数据库提出了一份数据多种检索的刚性需求-既要全文检索又要语义向量搜索还要传统SQL聚合分析。这就是 Doris 多模态能力的出发点。二、技术架构Doris 4.0 多模态能力全景Apache Doris4.0围绕AI驱动、搜索增强两大方向新增了以下核心能力2.1 原生向量索引Doris 4.0基于Faiss实现了 HNSW 与 IVF_PQ 两种 ANN 算法支持亿级向量数据的毫秒级 TopN 与范围检索。核心设计要点特性说明索引算法HNSW高性能内存开销大、IVF_PQ性能与成本均衡距离度量L2 Distance、Inner Product归一化后等价 Cosine混合过滤Pre-filtering 模式倒排索引先筛选再做 ANN兼顾性能与召回量化压缩支持 SQ/PQ 量化降低内存占用 4-8 倍4.1 优化Ann Index Only Scan避免原始列 IO性能较 4.0 提升 4 倍建表示例CREATETABLE document_vectors ( idBIGINT, contentTEXT, embedding ARRAYFLOAT NOTNULL, INDEX idx_embedding (embedding) USING ANN PROPERTIES ( algorithm HNSW, metric_type L2, dim 768 ) ) DISTRIBUTEDBYHASH(id) BUCKETS 8;2.2 AI 函数Doris 4.0 内置了 10 AI 函数可在 SQL 中直接调用大语言模型核心包括AI_QUERY调用 LLM 对非结构化文本进行分类、摘要、情感分析等将非结构化数据转化为结构化结果TEXT_EMBEDDING在查询侧将文本实时向量化省去应用层生成 embedding 再传入的开销AI_GENERATE / AI_EXTRACT内容生成与信息抽取典型用法用一条 SQL 完成客户评价的情感分析SELECT AI_QUERY(volcengine/Doubao-pro-128k, concat(判断好评1差评0, review_txt)) AS sentiment, count(*) AS cnt FROM customer_reviews GROUPBY sentiment;2.3 Hybrid Search混合检索Doris 将三种检索能力统一到一个引擎中关键词检索倒排索引 Tablet-level BM25 打分语义检索向量索引 ANN 近邻搜索标签/规则检索传统 SQL WHERE 条件三路检索结果可在同一条 SQL 中通过 UNION ORDER BY 融合排序配合 Python UDF 实现自定义 Rerank无需引入外部搜索引擎。2.4 MCP Server 对接 AgentDoris 原生支持 MCPModel Context Protocol协议AI Agent 可通过标准化接口直接查询 Doris实现实时数据分析。Agent 无需了解 SQL 语法细节通过 NL2SQL 即可完成复杂查询。三、大厂落地案例案例一字节跳动 DataMind-Doris AI 一站式融合引擎项目背景2024 年末字节跳动启动 DataMind 项目目标是构建「AI Data」一站式融合数据引擎。核心诉求统一处理文本、音视频等非结构化数据与传统结构化数据为算法工程师提供流畅的数据开发体验实现数据处理与 AI 模型无缝衔接确保数据处理负载与在线服务负载完全隔离。技术选型决策团队评估了多种开源方案含独立向量数据库、搜索引擎等均无法同时满足 OLAP 性能 AI 能力 统一 SQL 接口的需求。最终选择 Apache Doris 作为底座进行二次开发核心考量卓越的 MPP 查询性能亚秒级响应能力完善的倒排索引生态天然具备全文检索基础活跃的社区-Doris 社区同步在探索 AI 能力集成双方方向一致简洁的 FE/BE 架构二次开发改造成本可控技术方案详解1. Hybrid Search 引擎DataMind 将三路搜索统一到 Doris 引擎内部用户只需导入一份数据完成索引构建后即可直接上线服务向量索引基于 Faiss 实现 HNSW 与 IVF_PQ 两种 ANN 算法。向量索引支持与倒排索引组合使用-倒排索引先检索出匹配行号的 Bitmap通过 Faiss IDSelector 接口传递给底层 ANN 算法控制搜索范围。当筛选集较小时自动退化为暴力计算时间更短、结果更精准。Tablet-level BM25将 BM25 的全局统计信息总文档数 N、文档频率 DF提升至 Tablet 级聚合避免 Segment 合并导致评分波动。Scan 算子初始化时预搜索统计信息搜索上下文被缓存以避免重复 IO 开销。搜索框架优化在执行计划层将搜索函数替换为虚拟列下推至 OlapScanNode。索引计算过程中基于虚拟列计算向量距离分数和 BM25 分数填充回 block 后由 Scan 算子输出到下游。2. AI Function 体系AI_QUERY调用 LLM 处理非结构化文本转化为结构化数据如情感分类、实体抽取TEXT_EMBEDDING查询侧实时向量化避免应用层传入长向量数组的解析开销Python UDF多进程架构每个 UDF 通过 venv 隔离依赖子进程生命周期与 Doris Pipeline Task 绑定数据通过管道传输用 Marshal 序列化。支持自部署的 Rerank/Embedding/大模型3. GraphRAG on DataMind构建阶段文档切片后用 AI Function 进行实体抽取实体间关系构成图的边带权重实体描述经向量化后存储构建索引。基于图结构用 Leiden 算法聚类生成社区报告。查询阶段Query 向量化后检索 TopK 实体召回相关边、社区报告和原始文档片段按优先级拼接上下文后送入 LLM 生成回答。底层通过实体表、社区表、源数据表等 Doris 表结构承载封装 Go/Python/Java SDK应用层只需调用 build/query 接口。4. 企业 AI 问数架构基于 Doris 构建湖仓一体架构数据从 RDS/API 经 DTS 摄入数据湖改进 Data Agent 路由用户只需写库表名优化器自动判断数据在湖上还是已加速到 Doris 内表数据湖权限系统打通加速到 Doris 的数据仍受原权限系统管控DBA 拥有 Doris 账号也无法越权访问落地成效维度成效已落地场景智能简历搜索、ByteRAG 平台、CapCut 内容治理、广告场景搜索、代码搜索、PRD2Code 研发提效架构简化从 ES 向量数据库 OLAP 三套引擎收敛为 DataMind 一个引擎开发效率一条 SQL 串联向量检索 全文检索 Python UDF 重排序研发周期大幅缩短AI 能力复用GraphRAG SDK 上线后多个业务团队快速接入无需各自搭建 RAG 基础设施社区贡献部分成果已贡献至 Doris 4.0 开源版本向量索引、AI 函数等关键设计亮点Python UDF 采用多进程架构生命周期绑定 Pipeline Task避免 GIL 瓶颈并发控制与 Doris 计算引擎天然一致BM25 提升至 Tablet 级全局统计避免 Segment 合并导致评分波动向量检索与倒排索引通过 Faiss IDSelector 接口融合少量数据自动退化为暴力计算以获得精确结果案例二思必驰-PB 级多模态 AI 数据集管理平台项目背景思必驰是专注对话式 AI 的平台型企业围绕「云芯」战略布局服务智能车载、智能家居等终端场景。长期积累了 PB 级多模态训练语料音频、文本、人工标注。早期各团队标注数据分散在不同存储系统依赖人工维护同步面临数据一致性差、协同效率低、版本追溯困难三大瓶颈。技术方案平台架构采用类 MLOps 理念设计贯穿「数据 - 模型 - 应用」的标准化流水线。数据集管理系统基于 Apache Doris 构建位于 AI 中台核心位置负责数据的版本化存储、管理与发布。部署模式单中心模式面向核心研发场景数据访问统一指向本中心的 Doris ES Kafka 及相关文件系统保证最强一致性与性能多中心模式面向跨地域/异构计算场景主中心数据层用 Doris各分中心采用独立分布式文件系统支持数据互相同步核心技术设计技术点实现细节版本管理以数据集版本作为分区键利用 Doris 分区表实现毫秒级历史版本切换与检索。核心表结构围绕「数据集表 - 文件表 - 标注表」三层关联设计冷热分层最新活跃版本存放 SSD热存储历史版本自动迁移 HDD冷存储SSD 使用率降低 30%列式压缩将标注信息从文本文件迁移至 Doris 列式存储利用高压缩比特性存储空间占用降低 80%高频点查优化针对 10 亿级样本 ID 的精准溯源需求采用行式存储 Prepared Statement。查询计划固定化避免重复编译开销样本溯源确立样本 ID 全局唯一原则任何模型结果均可精准追溯至对应训练数据集与版本日志场景基于 Doris 替代 ES 自建日志查询平台服务智能座舱语音业务。写入从 100w/s 提升至 300w/s存储成本降低 50%量化成效指标数据平台规模数据集 1 万数据总量 500TB样本数 10 亿使用人数 200存储压缩列式压缩使存储占用降低 80%查询 QPS3 万/秒优化后CPU 占用从 80% 降至 10%存储成本消除冗余拷贝降低 20%网络成本节约超 3 倍数据查询效率提升超 3 倍数据同步效率提升超 2 倍模型研发效率提升 20%隐性价值统一数据质量标准全公司使用同一套规范增强问题复现能力模型结果可精准追溯数据血缘实现从数据回流、清洗、标注到训练的自动化闭环。未来规划升级 Doris 4.0 利用向量检索支持相似样本检索探索湖仓一体架构推进存算分离降低 PB 级数据存储成本。案例三网易-统一日志与时序数据的多模态分析平台场景网易面临海量业务日志容器日志、应用日志、访问日志与时序监控数据的双重分析需求。此前采用 Elasticsearch 存储日志 InfluxDB 存储时序数据的双引擎架构运维成本高、数据割裂严重。技术方案存储层统一用 Doris 的倒排索引替代 ES 的全文检索能力用 Doris 的时间分区 聚合模型替代 InfluxDB 的时序存储检索能力融合同一张表中同时建立倒排索引支持关键词搜索、日志过滤和聚合索引支持 SQL 聚合分析一条查询即可完成「检索 统计」冷热分层热数据 SSD 存储最近 7 天温数据 HDD7-30 天冷数据自动归档至对象存储整体存储成本远低于 ES写入优化利用 Doris 的批量导入与 Memtable 前移优化配合 Kafka 消费实现高吞吐实时写入量化收益指标对比数据存储成本同等数据量下降低 70%100TB ES 数据 → 30TB Doris写入吞吐相较 ES 提升数倍Kafka 消费无积压查询性能复杂聚合分析提升 3-5 倍运维复杂度从维护 ES InfluxDB Kafka Connect 三套组件降为 Doris 单集群开发成本统一 SQL 接口无需在 ES DSL 与 Flux 查询语言间切换案例四网络安全厂商-日志存储分析系统 7 倍提速场景某头部网络安全服务商的日志存储分析系统LSAS原基于 StarRocks 构建面临写入吞吐瓶颈与查询延迟问题无法满足安全事件实时分析的 SLA 要求。技术方案评估方式仅用 3 台服务器搭建 Doris 集群对接 Apache Kafka 接收日峰值数据与原有 StarRocks 方案进行全链路对比测试写入优化利用 Doris 的 Stream Load 与 Routine Load 机制结合单副本写入 异步补副本策略最大化写入吞吐查询优化利用 Doris 的倒排索引加速日志关键词过滤配合 Zoneap 分区裁剪减少扫描数据量可视化管理基于 Doris 的 MySQL 协议兼容性直接对接 Grafana/Superset 实现安全事件可视化大盘量化收益指标数据数据写入速度相较 StarRocks 提升 3 倍查询执行速度相较 StarRocks 提升 7 倍硬件资源仅 3 台服务器即完成日峰值验证原方案需更多节点存储成本Doris 列式压缩 冷热分层进一步降低存储开销运维成本Doris 无外部依赖的简洁架构大幅降低日常运维投入四、技术实践要点4.1 混合检索的 SQL 写法以下是一条融合向量检索 全文检索 Python UDF 重排序的实战 SQL-- 通道1语义向量检索 WITH channel_vec AS ( SELECTcontent FROM my_table ORDERBY APPROX_COSINE_SIMILARITY( TEXT_EMBEDDING(doubao-embedding, Doris 多模态), content_vec_col) DESC LIMIT7 ), -- 通道2关键词全文检索 channel_bm25 AS ( SELECTcontent FROM my_table WHERE MATCH_ANY(content, Doris 多模态) ORDERBY BM25() DESC LIMIT7 ) -- 融合重排序 SELECTcontent FROM ( SELECTcontentFROM channel_vec UNIONALL SELECTcontentFROM channel_bm25 ) t ORDERBY py_udf_rerank(Doris 多模态, content) DESC LIMIT7;4.2 向量索引调优建议调优维度建议内存评估dim × 4 bytes × row_count 估算向量内存叠加 ANN 结构开销HNSW 参数M16, ef_construction200 为通用起点高召回场景可适当增大归一化如需 Cosine 相似度导入前将向量 L2 归一化检索时用 Inner Product混合过滤倒排索引筛选集较小时自动退化暴力计算无需手动干预索引构建BUILD INDEX 为异步操作通过 SHOW BUILD INDEX 监控状态4.3 生产环境注意事项向量列类型为 ARRAY当前不支持 NULL建表时需加 NOT NULL 约束ANN 索引与倒排索引可共存于同一张表这是 RAG 场景的标准模式大规模数据亿级以上优先选择 IVF_PQ 以控制内存成本AI 函数调用涉及外部模型服务需配置 Resource 管理连接池与超时五、趋势展望根据 Apache Doris 2025 Roadmap 与 Doris Summit 2025 披露的信息后续重点方向包括多模态 Embedding 原生支持不仅限于文本未来将支持图像、音频特征向量的统一存储与检索AI Agent 深度集成通过 MCP 协议Doris 将成为 Agent 时代的实时数据分析底座HSAP 架构演进混合检索与分析处理Hybrid Search and Analytics Processing成为新的架构定位存算分离 弹性向量计算向量检索负载可独立弹性扩缩降低资源成本总结Apache Doris 的多模态能力并非简单地在 OLAP 上加个向量检索而是从存储引擎、查询优化器、函数框架三个层面进行原生集成。其核心价值在于用一个引擎、一份数据、一条 SQL完成结构化分析 全文检索 语义搜索的融合查询大幅降低企业 AI 应用的架构复杂度与运维成本。以上就是我们本次的分享欢迎关注后续更新最后欢迎加入我们的知识星球小圈子我们用了2个月时间整理了200场次大厂面试专题300万字全网最全大数据学习面试社区等你来如果这个文章对你有帮助不要忘记「在看」「点赞」「收藏」三连啊喂

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2635212.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SpringBoot-17-MyBatis动态SQL标签之常用标签

文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…

wordpress后台更新后 前端没变化的解决方法

使用siteground主机的wordpress网站,会出现更新了网站内容和修改了php模板文件、js文件、css文件、图片文件后,网站没有变化的情况。 不熟悉siteground主机的新手,遇到这个问题,就很抓狂,明明是哪都没操作错误&#x…

网络编程(Modbus进阶)

思维导图 Modbus RTU(先学一点理论) 概念 Modbus RTU 是工业自动化领域 最广泛应用的串行通信协议,由 Modicon 公司(现施耐德电气)于 1979 年推出。它以 高效率、强健性、易实现的特点成为工业控制系统的通信标准。 包…

UE5 学习系列(二)用户操作界面及介绍

这篇博客是 UE5 学习系列博客的第二篇,在第一篇的基础上展开这篇内容。博客参考的 B 站视频资料和第一篇的链接如下: 【Note】:如果你已经完成安装等操作,可以只执行第一篇博客中 2. 新建一个空白游戏项目 章节操作,重…

IDEA运行Tomcat出现乱码问题解决汇总

最近正值期末周,有很多同学在写期末Java web作业时,运行tomcat出现乱码问题,经过多次解决与研究,我做了如下整理: 原因: IDEA本身编码与tomcat的编码与Windows编码不同导致,Windows 系统控制台…

利用最小二乘法找圆心和半径

#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …

使用docker在3台服务器上搭建基于redis 6.x的一主两从三台均是哨兵模式

一、环境及版本说明 如果服务器已经安装了docker,则忽略此步骤,如果没有安装,则可以按照一下方式安装: 1. 在线安装(有互联网环境): 请看我这篇文章 传送阵>> 点我查看 2. 离线安装(内网环境):请看我这篇文章 传送阵>> 点我查看 说明&#xff1a;假设每台服务器已…

XML Group端口详解

在XML数据映射过程中&#xff0c;经常需要对数据进行分组聚合操作。例如&#xff0c;当处理包含多个物料明细的XML文件时&#xff0c;可能需要将相同物料号的明细归为一组&#xff0c;或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码&#xff0c;增加了开…

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造&#xff0c;完美适配AGV和无人叉车。同时&#xff0c;集成以太网与语音合成技术&#xff0c;为各类高级系统&#xff08;如MES、调度系统、库位管理、立库等&#xff09;提供高效便捷的语音交互体验。 L…

(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)

题目&#xff1a;3442. 奇偶频次间的最大差值 I 思路 &#xff1a;哈希&#xff0c;时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况&#xff0c;哈希表这里用数组即可实现。 C版本&#xff1a; class Solution { public:int maxDifference(string s) {int a[26]…

【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型

摘要 拍照搜题系统采用“三层管道&#xff08;多模态 OCR → 语义检索 → 答案渲染&#xff09;、两级检索&#xff08;倒排 BM25 向量 HNSW&#xff09;并以大语言模型兜底”的整体框架&#xff1a; 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后&#xff0c;分别用…

【Axure高保真原型】引导弹窗

今天和大家中分享引导弹窗的原型模板&#xff0c;载入页面后&#xff0c;会显示引导弹窗&#xff0c;适用于引导用户使用页面&#xff0c;点击完成后&#xff0c;会显示下一个引导弹窗&#xff0c;直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…

接口测试中缓存处理策略

在接口测试中&#xff0c;缓存处理策略是一个关键环节&#xff0c;直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性&#xff0c;避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明&#xff1a; 一、缓存处理的核…

龙虎榜——20250610

上证指数放量收阴线&#xff0c;个股多数下跌&#xff0c;盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型&#xff0c;指数短线有调整的需求&#xff0c;大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的&#xff1a;御银股份、雄帝科技 驱动…

观成科技:隐蔽隧道工具Ligolo-ng加密流量分析

1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具&#xff0c;该工具基于TUN接口实现其功能&#xff0c;利用反向TCP/TLS连接建立一条隐蔽的通信信道&#xff0c;支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式&#xff0c;适应复杂网…

铭豹扩展坞 USB转网口 突然无法识别解决方法

当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…

未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?

编辑&#xff1a;陈萍萍的公主一点人工一点智能 未来机器人的大脑&#xff1a;如何用神经网络模拟器实现更智能的决策&#xff1f;RWM通过双自回归机制有效解决了复合误差、部分可观测性和随机动力学等关键挑战&#xff0c;在不依赖领域特定归纳偏见的条件下实现了卓越的预测准…

Linux应用开发之网络套接字编程(实例篇)

服务端与客户端单连接 服务端代码 #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <arpa/inet.h> #include <pthread.h> …

华为云AI开发平台ModelArts

华为云ModelArts&#xff1a;重塑AI开发流程的“智能引擎”与“创新加速器”&#xff01; 在人工智能浪潮席卷全球的2025年&#xff0c;企业拥抱AI的意愿空前高涨&#xff0c;但技术门槛高、流程复杂、资源投入巨大的现实&#xff0c;却让许多创新构想止步于实验室。数据科学家…

深度学习在微纳光子学中的应用

深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向&#xff1a; 逆向设计 通过神经网络快速预测微纳结构的光学响应&#xff0c;替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…