news 2026/6/25 15:02:43

Apache Doris:实时分析数据库,15K Star 的 MPP 查询引擎

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Apache Doris:实时分析数据库,15K Star 的 MPP 查询引擎

文章目录

  • Apache Doris:实时分析数据库,15K Star 的 MPP 查询引擎
    • 1、 解决什么问题
    • 2、 架构长什么样
    • 3、 存储引擎
    • 4、 查询引擎
    • 5、 兼容性和生态
    • 6、 谁在用

Apache Doris:实时分析数据库,15K Star 的 MPP 查询引擎

Apache Doris 在 GitHub 上拿到了 15,519 Star。

这是一个基于 MPP 架构的实时分析型数据库,主打速度快、用起来简单。在海量数据场景下,能做到亚秒级返回查询结果,既能扛高并发的点查,也能跑高吞吐的复杂分析。

1、 解决什么问题

企业做数据分析,通常面对两个场景:实时报表和离线数仓。

传统做法是搞一套实时数仓处理在线数据,再搞一套离线数仓跑批处理,中间还要配各种 ETL 管道把数据搬来搬去。架构复杂,维护成本高,数据口径还不一定对得上。

Doris 的思路是用一套系统覆盖这些场景。报表分析、即席查询、统一数仓、数据湖查询加速,都能用它来搞定。实际业务里拿它做用户行为分析、AB 实验平台、日志检索、用户画像、订单分析的团队不少。

2、 架构长什么样

Doris 的架构只包含两种进程:

  • Frontend(FE):负责接收用户请求、解析查询、管理元数据和节点。
  • Backend(BE):负责存数据和执行查询。数据按分片存储,多副本分布在 BE 节点上。

生产环境可以部署多个 FE 节点做容灾。FE 分三个角色:Master 负责元数据读写,Follower 负责读元数据并在 Master 挂掉时接替,Observer 只负责读元数据用来提升查询并发。

FE 和 BE 都能水平扩展,单个集群能撑几百台机器、几十 PB 的存储。

3、 存储引擎

Doris 用的是列式存储引擎,按列做编码、压缩和读取。好处是压缩比高,扫描时只读需要的列,IO 和 CPU 利用率都上去了。

索引方面支持几种:排序复合键索引,最多指定三列组成复合排序键,适合高并发报表场景做数据裁剪;Min/Max 索引,数值类型的等值和范围查询能快速过滤;BloomFilter 索引,高基数列的等值过滤效果好;倒排索引,任意字段都能快速检索。

数据模型有三种:明细模型存原始明细数据;主键模型保证 Key 唯一,同 Key 数据覆盖写,支持行级更新;聚合模型同 Key 的值列自动合并,通过预聚合提升查询性能。

还支持单表物化视图(系统自动刷新维护)和多表物化视图(定时调度刷新),减少手动建模的活。

4、 查询引擎

查询引擎基于 MPP 架构,节点间和节点内都做并行执行。大表关联走分布式 shuffle join。

引擎全面向量化,内存结构按列布局,减少虚函数调用,提高缓存命中率,用上 SIMD 指令。官方数据是宽表聚合场景比非向量化引擎快 5 到 10 倍。

运行时会用自适应查询执行技术,根据运行期统计信息动态调整执行计划。比如生成 runtime filter 推到探测端的最底层扫描节点,减少要处理的数据量,提升 join 性能。Runtime filter 支持 In、Min、Max、Bloom Filter。

执行层用了 Pipeline 引擎,把查询拆成多个子任务并行跑,充分利用多核 CPU。同时解决了线程爆炸的问题,限制查询线程数。Pipeline 引擎减少数据拷贝和共享,优化排序和聚合操作。

优化器方面,CBO、RBO、HBO 三种策略配合使用。RBO 做常量折叠、子查询改写、谓词下推;CBO 做 join 重排;HBO 基于历史查询信息推荐最优执行计划。

5、 兼容性和生态

Doris 兼容 MySQL 协议,支持标准 SQL。用 MySQL 客户端工具就能连上去,BI 工具这边 Tableau、Power BI、Superset、FineBI、DataEase 都能接。

数据导入支持多种方式:从 HDFS/S3 批量导入,从 MySQL Binlog/Kafka 流式导入,通过 HTTP 接口微批写入,通过 JDBC 实时写入。

和大数据生态的对接也比较全:Spark 通过 Spark-Doris-Connector 读写 Doris,Flink 通过 Flink-Doris-Connector 实现 exactly-once 写入,DBT 有 Doris Adapter 做数据转换。

6、 谁在用

Doris 在 2022 年 6 月从 Apache 学习期毕业,成为顶级项目。

国内用户覆盖面比较广,市值排名前五十的互联网公司里,超过八成在生产环境用 Doris,包括百度、美团、小米、京东、字节跳动、腾讯、网易、快手、新浪等。金融、能源、制造、电信这些传统行业也有不少团队在用。

一个集群,两种进程,标准 SQL,亚秒级查询。如果你的场景是实时报表、即席查询或者想统一实时和离线分析的架构,Doris 值得试一下。

个集群,两种进程,标准 SQL,亚秒级查询。如果你的场景是实时报表、即席查询或者想统一实时和离线分析的架构,Doris 值得试一下。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/25 15:01:39

7天落地YOLO安防检测:跌倒识别+闯入预警完整方案记录

前言 做安防AI落地,最怕的不是模型精度不够,而是“Demo很惊艳,上线全完蛋”。去年年底,我接手了一个智慧养老社区的安防改造项目,甲方要求7天内完成POC验证,核心指标就两个:老人跌倒检出率>9…

作者头像 李华
网站建设 2026/6/25 15:01:30

航天AI实战指南:星上深度学习的辐射加固与边缘部署

1. 这不是科幻片里的特效,而是NASA、ESA和商业航天公司每天在用的“太空大脑”“Deep Learning for Space Exploration”——光看标题,很多人第一反应是:这得是火箭科学家AI博士联合攻关的绝密项目吧?其实不然。过去五年里&#x…

作者头像 李华
网站建设 2026/6/25 15:00:09

DeepSeek V4 vs Claude 编程实战测评(λ 到希尔伯特证明翻译)

ex/flex 和 yacc/bison 编写一个 C 程序&#xff0c;将 λ 演算风格的定理证明 翻译为 希尔伯特公理系统的证明序列。 程序需要&#xff1a;解析类似 function<A,B,C>(h: A->B) -> ... 的 λ 项输入&#xff1b;利用给定的三条公理模式&#xff08;A1-A3&#xff0…

作者头像 李华
网站建设 2026/6/25 14:55:41

TA不一样(六)

前言&#xff1a;本节介绍边缘光&#xff08;Rim Light&#xff09;的原理与实现基础Rim Light1.核心原理Rim Light 利用‌视线方向&#xff08;V&#xff09;与表面法线&#xff08;N&#xff09;的夹角‌来计算边缘亮度&#xff0c;当视线方向与表面法线接近垂直时&#xff0…

作者头像 李华
网站建设 2026/6/25 14:55:30

团队级AI协同操作系统:五层架构实现Claude Code规模化落地

1. 这不是“AI工具使用指南”&#xff0c;而是一套团队级AI协同操作系统我带过三支不同规模的技术团队落地AI编码辅助&#xff0c;从5人初创小队到40人的跨职能研发组。前两年&#xff0c;我们和所有人一样&#xff0c;把Claude Code当成“高级版Copilot”——开发者自己装、自…

作者头像 李华
网站建设 2026/6/25 14:55:17

逆向工程底层逻辑:还原网站识别机制,用Python模拟合法请求

免责声明 本文仅用于安全研究、接口调试与自动化测试等合法场景。文中所有案例均基于公开测试平台与自建靶场,未针对任何真实生产站点。请严格遵守《网络安全法》及目标站点的robots.txt与服务条款,禁止将技术用于未授权访问、数据爬取或破坏性操作。技术本身无罪,但使用者需…

作者头像 李华