-
Hybrid Search:将基于文本相似性、语义相似性、业务规则匹配这三种能力集成至 Doris 中,并在此基础上补齐了向量检索及 Tablet-level BM25 能力。(详见章节二)。 -
AI Function:基于 Doris 补齐了 AI_QUERY 和 TEXT_EMBEDDING ,并支持了 Python UDF。(详见章节三) -
GraphRAG :在基于 Doris 的 DataMind 产品上构建了 GraphRAG,应用层研发团队能够更便捷地接入新的 AI 能力,缩短研发周期。(详见章节四)
-
在 Scan 算子初始化阶段:系统会预先搜索用于 BM25 计算的 tablet 级统计信息。每个 segment 会被依次扫描,并以流式方式输出数据块。 -
数据收集阶段:在处理每个 segment 之前,需计算完整的 tablet 级统计信息。Scan 算子初始化时,系统使用相应搜索条件访问每个 segment 的解决方案。此过程中产生的文件操作、数据读取和内存命中等结果构成搜索上下文信息。同时,与搜索相关的对象会被缓存,以避免重复产生 IO 开销。 -
索引查找及数据读取:当正式进入某个索引后,索引搜索将基于此前收集的 tablet 级统计信息,为命中的每一行计算分数。最终,计算所得的分数通过虚拟列的迭代器返回到 segment,随数据块输出。
WITH reviews AS (
SELECT
AI_QUERY('volcengine/Doubao-pro-128k-240628', concat('判断这条产品评价是好评还是差评,好评输出1,差评输出0:', review_txt)) AS review_type
FROM customer_reviews
) SELECT review_type, count(*) AS cnt
FROM reviews
GROUP BY review_type
-
数据清洗阶段:在 AI 清洗过程中生成对应向量并构建向量索引。 -
数据查询阶段:此阶段提供两种使用方式。第一种是由用户的应用层代码自行生成查询向量,并作为参数传入 SQL 进行搜索,该方式需传入较长的向量 float 数组,会增加优化器的解析开销。第二种方式是直接调用 TEXT_EMBEDDING 函数,将查询文本传入并执行搜索,这种方法更为便捷,且性能更佳。
SELECT
content,
APPROX_COSINE_SIMILARITY(
TEXT_EMBEDDING('volcengine/Doubao-embedding-240715', 'Doris Summit'),
content_vec_col) AS score
FROM my_table
ORDER BY score
LIMIT 7;
-
多进程架构:旨在解决 UDF 之间的隔离问题,避免 Python 的全局解释器锁(GIL)。每个 Python UDF 能通过虚拟环境(venv)实现依赖隔离。 -
生命周期绑定:执行 Python 的子进程与 Doris 的 pipeline task 生命周期绑定。当一个 pipeline task 生成时,相应的子进程也会被创建,并在任务结束时进行清理。这种设计使得并发模型与 Doris 的计算引擎密切结合,用户只需调整 Doris 的并发参数即可管理 Python UDF 的执行并发,简化了维护工作。 -
数据传输和序列化:主进程与子进程之间的数据传输通过管道进行。支持 Python 原生对象输入输出的版本采用 Python 的 Marshal 机制进行序列化。
CREATE FUNCTION predict_class(ARRAY<FLOAT>) RETURNS INT
PROPERTIES (
"file"="https://cloud-storage/obj/datamind/pyudf.zip",
"symbol"="predict_class",
"type"="PYTHON_UDF"
);
WITH channel_1 AS (
SELECT
content
FROM my_table
ORDER BY
APPROX_COSINE_SIMILARITY(py_udf_embed('Doris Summit'), content_vec_col) DESC
LIMIT 7
),
channel_2 AS (
SELECT
content
FROM my_table
WHERE MATCH_ANY(content, 'Doris Summit')
ORDERBY
BM25() DESC
LIMIT 7
)
SELECT
content
FROM (
SELECT content FROM channel_1
UNION ALL
SELECT content FROM channel_2
) t
ORDER BY py_udf_score('Doris Summit', content) DESC
LIMIT 7;
-
数据湖中的数据量庞大,全部同步到 Apache Doris 并不现实,且敏感数据也不宜全量同步。 -
当数据加速到 DataMind 后,Apache Doris 的内表与外表存在差异。加速会影响 SQL 的 Catalog 语法,例如加速后,外表的 Catalog 名称为 Hive,内表则为 Internal。这对 AI 生成 SQL 产生一定影响,迫使 AI 必须感知是否存在加速。
-
改进 Data Agent 查询的路由机制:用户只需书写库表名,系统将在优化器阶段自动判断路由、补全表名。用户对于 Data Agent 的使用,只需理解数据湖中的 Schema,无需关注表是存储在数据湖还是已加速至 Apache Doris。 -
数据湖权限系统的打通:我们的数据湖拥有独立的权限管理系统,控制读写访问。将数据加速至 Apache Doris 相当于复制一份数据,可能导致安全管控失效。为解决这一问题,我们设计了机制:即使数据同步至 Apache Doris,其权限仍受 Triton 数据湖权限系统管控,且与 Apache Doris 的账号密码无关。这一设计确保应用层在数据湖上申请的权限依然有效,加速后无需额外权限申请。此外,这一机制保证了即使数据同步到 Apache Doris,持有其账号密码的人员(如 DBA),未经原数据湖系统申请的权限仍无法访问。
峰会资料
Doris Summit 2025 已圆满落幕,峰会资料现已上线!
您可前往大会官网进行资料下载 / 回放观看:doris-summit.org.cn
- END -
更多标杆企业信赖
智慧金融与政企:东北证券|国金证券|国信证券|杭银消金|河北幸福消费金融|汇添富基金|金融壹账通|陆金所控股|霖梓控股|拉卡拉|平安人寿 | Planet| 奇富科技|上海证券 | 同程数科|通联支付|无锡锡商银行|星云零售信贷|星火保 | 宇信科技|银联商务|易生支付|招商信诺人寿|招联金融|中信银行信用卡中心|360 数科|360 企业安全浏览器
互联网与文娱:菜鸟|抖音集团|斗鱼|叮咚买菜|浩瀚深度|京东|工商信息查询平台|货拉拉|快手|荔枝微课|票务平台|墨迹天气|MiniMax|奇安信|趣丸科技|顺丰科技|腾讯音乐|天眼查|网易|网易游戏|网易严选|网易云信|网易云音乐|小米|小鹅通|迅雷|约苗|字节跳动|知乎|360 商业化
企业服务与新经济:宝尊科技| 波司登|Cisco|橙联|度言|观测云|慧策|快成物流|领健|领创|灵犀科技|名创优品|Moka BI|美联物业|钱大妈|拈花云科|森马 |思必驰|顺丰科技|上海家化 | 物易云通|云积互动|有赞|雨润集团|纵腾集团|中通快递
先进智造与电信:爱玛|长安汽车|极越汽车|金风科技|科大讯飞|岚图汽车|Lifewit|哪吒科技|四川航空|上海通用五菱|三星电子|蜀海供应链|特步|天翼云|雅迪|中国联通
作为基于 Apache Doris 的商业化公司,飞轮科技秉承着 “开源技术创新”和“实时数仓服务”双轮驱动的战略,在投入资源大力参与 Apache Doris 社区研发和推广的同时,基于 Apache Doris 内核打造了聚焦于企业大数据实时分析需求的企业级产品 SelectDB ,面向新一代需求打造世界领先的实时分析能力。自 2022 年成立以来,获得 IDG 资本、红杉中国、襄禾资本等顶级 VC 的近 10 亿元融资,创下了近年来开源基础软件领域的新纪录。

