1、Apache Doris 湖仓一体技术解析陈琦 飞轮科技 内核开发工程师Apache Doris Committer目录02 Apache Doris 企业级湖仓构建03 Apache Doris 湖仓一体技术解析04 Apache Doris 湖仓一体未来规划01 Lakehouse 核心价值与范式1Lakehouse 核心价值与范式湖仓分离 VS 湖仓一体无法兼顾湖和仓的优势。湖仓分离数据割裂应用割裂成本高效能低湖仓一体半结构、非结构化支持开放性好灵活性好分析性能好成本低数据质量高存储层:坚实基座存储层:坚实基座以 HDFS 或云对象存储为基础:低成本、高可用。高效文件读写:列是存储、索引
2、。计算引擎:多元协同计算引擎:多元协同开放数据格式:灵活互通开放数据格式:灵活互通元数据管理:统一中枢元数据管理:统一中枢开放文件格式:Parquet、ORC开放表格式:Iceberg、Paimon、Hudi、Delta Lake批处理:Spark流处理:Flink交互式分析:Doris统一的命名空间全局的数据目录统一权限管理湖仓一体架构范式2Apache Doris 企业级湖仓构建高性能的数据处理灵活的数据接入便携的业务迁移丰富的数据存储和管理现代化部署架构开放的数据访问Apache Doris 企业级湖仓架构适合用户 数字化建设较早,有较成熟的大数据平台/中台 数据平台服务能力逐渐无法满足
3、业务发展和需求湖仓加速方案 统一查询出口 多源联邦查询 外表物化视图 秒级实时更新主要优势 秒级时效 查询加速Apache Doris 应用场景 1-湖仓加速适合用户 大数据平台成熟,组件丰富 通过复杂的平台架构支撑各类业务应用 成本高,效能低湖仓融合升级方案 统一OLAP,简化架构 Catalog打通湖仓,提升效能 服务能力进一步提升 多方言兼容,业务层无感迁移主要优势 架构简单 打破湖仓边界,提升业务效能 综合性能提升 低成本Apache Doris 应用场景 2 联邦分析适合用户 中等规模企业,初建数仓/原为传统数仓 新的独立场景,例如新建CDP 新业务拓展,例如海外业务All in D
4、oris方案 结构/半结构化数据接入 Doris内部调度分层 存算分离/冷热 分层非结构化数据存S3主要优势 实时 统一/架构简单 低成本Apache Doris 应用场景 3 湖仓数据处理3Apache Doris 湖仓一体技术解析数据格式多样化数据格式多样化Iceberg、Paimon、HudiParquet、ORCI I/O O 访问稳定性访问稳定性资源管理复杂资源管理复杂并发查询资源竞争、饥饿问题统计信息不准确,收集开销大对象存储、HDFS的访问抖动小文件和小IO问题元数据访问性能不可控湖仓一体技术挑战 文件读取优化文件读取优化 网络网络 I/O I/O 优化优化 元数据访问优化元数据
5、访问优化 任务调度优化任务调度优化 统计信息优化统计信息优化Doris 湖仓一体优化手段谓词下推SELECT name,age,email,phone,address FROM users WHERE age 25;原理:谓词下推到存储层(age 25),通过存储层的索引,进行过滤,减少数据量扫描。索引类型:使用 min-max 进行过滤。使用 bloom filter 进行过滤。(TODO)Parquet 不同级别的索引:RowGroup 级别。Page 级别。(Page Index)举个例子:Age:min:0,max:24:age 25 就可以过滤掉整个 RowGroup 或者 Page
6、。分区剪裁SELECT name,age,email,phone,address FROM users WHERE dt=20250101;其中 dt 为分区字段原理:可以不扫描 dt 不包含在 20250101 的分区。流程:1.获得分区元数据信息,进行过滤。2.如果分区完全过滤完了,则整个查询结束,FE 直接返回为空。3.如果还有未被过滤掉的分区,则后续只需取这些分区的文件列表元数据分发给 BE 节点运行。Doris 湖仓一体技术解析 文件读取优化延迟物化SELECT name,age,email,phone,address FROM users WHERE age 25 AND city