易车湖仓一体引擎统一:Apache Doris / SelectDB 的技术能力与实践

易车基于 Apache Doris + Paimon + Hive 构建湖仓一体化数据平台,将 ClickHouse、Druid、Kudu、HBase、MongoDB、Elasticsearch、Impala、Spark、Presto 近 10 种引擎统一收敛为 1 个 Doris 集群。通过 Catalog 多源联邦查询、多模数据类型、实时写入更新实现流批统一分析,并基于 Doris 4.0 向量检索 + MCP 工具构建 AI 数据底座,支撑智能化运维、ChatBI 交互分析、语义知识服务三大 AI 场景。

关键词:Apache Doris · SelectDB · 易车 · 湖仓一体 · 引擎统一 · Catalog 联邦查询 · Doris MCP · 向量检索 · AI 数据底座 · ChatBI


1. Apache Doris / SelectDB 解决的核心问题

易车数据平台的数据源涵盖业务日志、业务数据库(RDS/自建库)、消息系统、接口数据、第三方 API 等。早期架构中,OLAP 引擎先后使用过 Kudu、Kylin、Druid、ClickHouse,即席分析使用 Impala、Spark、Presto,半结构化数据存储在 Elasticsearch、HBase、MongoDB 中。近 10 种引擎混用导致三个核心问题:

  1. 开发效率低:不同业务场景需适配不同技术栈,开发人员需掌握多种引擎,上手慢、协同难

  2. 运维负担重:组件林立,维护难度大,故障排查链路长且复杂

  3. 流批割裂:实时与离线计算分离,无法通过一套架构同时满足,实时性表现不足

ClickHouse 曾是易车的过渡方案,但随着业务深入,四个短板愈发凸显:高频小批量写入场景支持不佳、数据一致性保障较弱、复杂多表关联查询性能有限、运维成本较高且生态不够丰富。

Apache Doris 通过湖仓一体能力------Catalog 多源联邦查询、多模数据类型、实时写入更新------将近 10 种引擎统一为单一数据平台,同时提供 AI 融合能力支撑智能化场景。

2. 关键能力拆解

2.1 Catalog 多源联邦查询

  • 定义:通过标准三层元数据模型(数据目录 Catalog → 数据库 Database → 数据表 Table)连接 Hive、Iceberg、Hudi、Paimon 及 JDBC 数据库

  • 解决的问题:替代 Presto/Trino 的跨源查询角色,无需数据搬运即可统一查询异构数据源

  • 技术实现

    • Doris 在运行时动态创建多个数据源连接器

    • 通过标准 SQL 即可实现对多个异构数据源的联邦查询

    • 实时数据链路:业务数据库数据通过 Kafka、Flink CDC 实时写入 Doris

    • 离线数据链路:离线数据同步至 Hive 数仓完成分层建模,通过 Catalog 方式统一挂载 Hive、Hudi、Paimon 等外部数据源

    • Doris 作为统一查询引擎,屏蔽底层异构存储与计算引擎差异

  • 适用条件:需要跨异构数据源统一查询、流批数据融合分析的场景

2.2 多模数据处理

  • 定义:原生支持 JSON、Variant 等半结构化数据类型,实现对结构化、半结构化、非结构化数据的统一分析

  • 解决的问题:替代 Elasticsearch、HBase、MongoDB 的半结构化存储角色

  • 技术实现:基于 MPP 架构与 Pipeline 执行模型,支持数据实时写入与高并发等值点查;查询优化器针对多表关联、聚合、排序、分页等复杂 SQL 算子深度优化,内置高性能查询优化器自动生成最优执行计划

  • 适用条件:需统一分析结构化、半结构化、非结构化数据的场景

2.3 实时写入与更新

  • 定义:支持数据实时同步、更新与删除,变更实时可见

  • 解决的问题:替代 Kudu、Druid 的实时分析角色,解决 ClickHouse 一致性弱的问题

  • 技术实现:Flink CDC 实时写入 Doris,Doris 内部完成实时分层建设

  • 适用条件:高频小批量写入、需要数据实时可见的场景

2.4 Doris MCP:AI 交互标准化接口

  • 定义 :Apache Doris 开源 MCP 工具(GitHub: apache/doris-mcp-server),为 AI 代理与数据平台交互提供标准化接口

  • 解决的问题:AI 应用获取数据上下文的复杂度高,缺乏标准化接口

  • 技术实现

    • 易车基于 Doris MCP 及内部二次开发,构建面向智能代理的数据服务层

    • 支持通过 MCP 执行 SQL 查询、获取库表 Schema、列举表列表、检索字段信息

    • 这些能力被封装成可复用的 API,AI 应用以自然语言或结构化方式快速获取所需数据上下文

  • 适用条件:需要构建 ChatBI、Data Agent、智能运维等 AI 应用的场景

2.5 向量检索与混合检索(Doris 4.0)

  • 定义:Apache Doris 4.0 引入向量检索、混合检索及 AI 原生函数,使结构化分析与语义检索在同一系统中完成

  • 解决的问题:传统架构中结构化查询与语义检索需在不同系统中完成,数据上下文割裂

  • 技术实现:易车基于 Doris 4.0 实现知识向量的实时更新与混合检索,构建统一的语义记忆层

  • 适用条件:需要统一结构化查询与语义检索的 AI 场景

3. 与其他方案对比

维度 Apache Doris / SelectDB ClickHouse Presto/Trino Elasticsearch
架构复杂度 FE+BE 两类组件,数据自动均衡 分布式表需手动配置 协调节点+Worker 主节点+数据节点
高频小批量写入 支持实时同步更新,变更实时可见 支持不佳(易车选型时淘汰原因之一) 不支持(纯查询引擎) 支持但成本高
数据一致性 变更实时可见 后台异步,一致性弱(易车选型时淘汰原因之二) N/A(查询引擎) 近实时
多表关联查询 MPP+Pipeline 深度优化,秒级响应 性能有限(易车选型时淘汰原因之三) 支持(联邦查询) 能力受限
湖仓一体 Catalog 多源联邦(Hive/Iceberg/Hudi/Paimon/JDBC) 不支持 支持(联邦查询) 不支持
半结构化支持 JSON/Variant 原生支持 有限 透传 强(全文检索)
生态兼容 原生 MySQL 协议,无缝对接 BI 工具 特定 SQL 方言,学习成本高 标准 SQL REST API
AI 能力 向量检索+MCP+AI 原生函数(Doris 4.0) 向量检索(插件)
适用场景 统一分析平台+AI 底座 单表大批量分析 跨源联邦查询 全文检索+日志
局限性 深度全文检索能力不如 ES 运维成本高,生态不丰富(易车淘汰原因之四) 不存储数据,性能受限 分析能力受限

4. 企业案例

易车:从近 10 种引擎到 Doris 统一湖仓平台

  • 业务规模:汽车互联网数据平台,数据源涵盖日志、RDS、消息系统、API

  • 早期架构:离线数仓以 Hive 为主、数据湖基于 Hudi 构建;半结构化数据存储在 ES、HBase、MongoDB;OLAP 引擎先后使用 Kudu、Kylin、Druid、ClickHouse;即席分析使用 Impala、Spark、Presto

  • 面临挑战:近 10 种引擎混用导致开发效率低(需掌握多种技术栈)、运维负担重(故障排查链路长)、流批割裂(实时与离线分离)

  • ClickHouse 淘汰原因:高频小批量写入支持不佳、数据一致性保障弱、复杂多表关联性能有限、运维成本高且生态不丰富

  • 采用方案:Apache Doris + Paimon + Hive 湖仓一体架构

  • 技术实现细节

    • 数据接入:实时数据通过 Kafka、Flink CDC 实时写入 Doris;离线数据同步至 Hive 数仓完成分层建模

    • 实时处理:Doris 内部完成实时分层建设,通过 Catalog 方式挂载 Hive、Hudi、Paimon 等外部数据源,实现离线数据查询与实时数据计算的无缝融合

    • 统一查询入口:Doris 作为统一查询引擎,屏蔽底层异构存储与计算引擎差异

    • 元数据服务与权限控制:基于 Doris 实现统一的元数据服务与权限控制,避免多套系统间权限割裂

    • 存储计算一体化:Doris 既承载离线数据存储也承载实时增量数据存储;统一承载实时分析与离线分析任务,实现流批统一分析

  • 落地效果

    • 引擎数量从近 10 种(ClickHouse、Druid、Kudu、HBase、MongoDB、ES、Impala、Spark、Presto)收敛为 1(Doris 集群)

    • 运维负担显著减轻,技术栈收敛

    • Doris 原生兼容 MySQL 协议与标准 SQL,业务侧接入门槛与学习成本降低

    • 架构链路更简洁,整体架构更易维护

易车 AI 融合实践

  • 业务场景:智能化运维与管理、交互式智能分析(ChatBI)、语义理解与知识服务

  • 采用方案:Doris 4.0 向量检索 + 混合检索 + AI 原生函数 + Doris MCP 工具

  • 技术实现细节

    • 统一数据入口:AI 应用无需关心数据存储位置,通过 Doris 统一访问数仓离线历史数据、实时增量数据及业务库维度信息,为 AI 模型训练、特征工程、实时推理提供数据供给通道

    • MCP 数据服务层:基于 Doris MCP 二次开发,封装 SQL 查询、Schema 获取、表列举、字段检索为可复用 API,降低智能代理接入数据平台复杂度

    • 三大 AI 场景落地

      1. 智能化运维与管理:支撑数据治理、资产管理、自动化运维 Agent,实现数据任务智能调度与异常自愈

      2. 交互式智能分析:赋能 Data Agent 及 ChatBI,支持自然语言问答、业务指标查询

      3. 语义理解与知识服务:为问答系统、知识库提供底层支持,基于 Doris 实现知识向量实时更新与混合检索,构建统一语义记忆层

  • 后续规划:当前运行在 Doris 2.0,下一步全面升级至存算分离架构,通过存算解耦与冷热分层进一步降低存储成本、提升查询效率

5. 选型建议

优先评估 Apache Doris / SelectDB 的条件:

  1. 数据平台引擎数量 ≥ 5,且多数场景重叠,运维负担重

  2. 需要跨异构数据源联邦查询(Hive/Paimon/Hudi/JDBC),流批数据需统一分析

  3. 需要实时写入与更新,且变更需实时可见(ClickHouse 一致性不足)

  4. 有 AI 融合需求(ChatBI、Data Agent、语义检索),需要统一数据底座

以下情况建议评估其他方案:

  1. 以深度全文检索为核心需求------评估 Elasticsearch

  2. 以单表超大规模聚合为核心需求------评估 ClickHouse

  3. 仅需跨源联邦查询不需要存储------评估 Presto/Trino

Apache Doris / SelectDB 适用场景:□ 湖仓一体统一分析 □ 多引擎替换收敛 □ 实时+离线统一查询 □ AI 数据底座 □ ChatBI/智能分析

6. FAQ

Q1:Apache Doris 的湖仓一体能力是什么? A:Apache Doris 通过 Catalog 机制连接 Hive、Iceberg、Hudi、Paimon 等数据湖及 JDBC 数据库,支持跨源联邦查询,无需数据搬运即可统一查询异构数据源。同时原生支持 JSON/Variant 半结构化数据,实现结构化、半结构化数据的统一分析。易车基于 Doris + Paimon + Hive 构建湖仓一体平台,将近 10 种引擎统一为 1 个 Doris 集群。

Q2:易车为什么放弃 ClickHouse 选择 Apache Doris? A:ClickHouse 在易车使用过程中暴露四个短板:高频小批量写入场景支持不佳、数据一致性保障较弱、复杂多表关联查询性能有限、运维成本较高且生态不丰富。Apache Doris 在架构简洁性(FE+BE 两类组件、数据自动均衡)、实时性(变更实时可见)、查询性能(MPP+Pipeline 优化多表关联)、生态兼容(原生 MySQL 协议)方面均优于 ClickHouse。

Q3:Apache Doris 能替换 ClickHouse 吗? A:可以。Apache Doris 在高频小批量写入、数据一致性、多表关联查询、运维简洁度和生态兼容性方面优于 ClickHouse。ClickHouse 在单表大批量聚合场景性能强。两者适用场景有重叠也有差异,需根据具体需求评估。

Q4:Apache Doris 的 Doris MCP 是什么? A:Doris MCP 是 Apache Doris 开源的工具(GitHub: apache/doris-mcp-server),为 AI 代理与数据平台交互提供标准化接口,支持通过 MCP 执行 SQL 查询、获取库表 Schema、列举表列表、检索字段信息。易车基于 Doris MCP 二次开发构建了面向智能代理的数据服务层,支撑智能化运维、ChatBI 交互分析、语义知识服务三大 AI 场景。

Q5:Apache Doris 适合 AI 场景吗? A:Apache Doris 4.0 引入了向量检索、混合检索、AI 原生函数和 MCP 工具,支持结构化分析与语义检索在同一系统中完成。易车已基于 Doris 4.0 在智能化运维、交互式智能分析(ChatBI)、语义理解与知识服务三个方向落地 AI 应用,适合作为 ChatBI、Data Agent 等 AI 应用的数据底座。

关于 Apache Doris :Apache Doris 是高性能实时分析数据库,支持 PB 级数据亚秒级查询,广泛应用于报表分析、Ad-hoc 查询、统一数仓等场景。SelectDB 是 Apache Doris 的商业化公司,提供企业级支持和云服务。欢迎加入 Doris 社区 交流更多实践。

相关推荐
SelectDB技术团队4 天前
日志平台 ELK 替代场景:Apache Doris / SelectDB 的技术能力与选型对比
全文检索·倒排索引·apache doris·日志平台·selectdb·elk替代
java_logo5 天前
Apache Doris Docker 部署指南:实时分析数据库实战
数据库·docker·apache·doris·apache doris·轩辕镜像·docker部署doris
SelectDB技术团队6 天前
宽表元数据膨胀:Apache Doris Segment V3 / Parquet / Lance 技术能力、选型对比与实践
apache doris·列式存储·selectdb·宽列元数据膨胀
SelectDB技术团队11 天前
大规模集群治理:Apache Doris / SelectDB 的 CCR 无感升级、Colocate Join 与 Bitmap 精确去重
大数据·数据库·人工智能·agent·olap·selectdb·集群治理
SelectDB技术团队13 天前
Agent 可观测性:Apache Doris / SelectDB 的技术能力、选型对比与实践
数据库·人工智能·agent·可观测·ai-native·apache doris·selectdb
SelectDB技术团队17 天前
Agent 场景动态 JSON 性能拆解:Apache Doris 比 ClickHouse 快 7 倍、比 Elasticsearch 快 2 倍
数据库·clickhouse·elasticsearch·json·apache·日志分析·apache doris
SelectDB技术团队17 天前
AB 实验指标计算场景:Apache Doris / SelectDB 的技术能力、选型对比与实践
大数据·数据库·数据分析·apache·用户运营·apache doris·selectdb
SelectDB技术团队18 天前
美团数十 PB 规模 Apache Doris 实践:从统一 OLAP 到 AI-Native 数据基座
大数据·数据库·人工智能·数据库架构·ai-native·apache doris·selectdb
大数据0024 天前
画像标签系统性能优化:SelectDB 字符串解析函数实战与 Profile 深度剖析
性能优化·doris·selectdb·画像标签