当前位置: 首页 > news >正文

数据中台-数仓分层结构【Doris】

数据仓库采用Doris进行搭建,并分为ODS/DWD/DWM/DWS/ADS等层级结构进行分层数据存储。Doris是百度开源的MPP数据库,可有效支撑大数据量的数据计算和分布式扩展存储。


数据仓库分层架构设计目标

  1. 解耦与复用性:通过分层隔离原始数据与业务逻辑,提升数据复用性。

  2. 高效计算:逐层聚合减少重复计算,优化查询性能。

  3. 数据治理:规范数据血缘、质量监控与权限管理。

  4. 灵活扩展:适应业务变化,快速响应新需求。


基于Doris的分层架构设计

1. ODS层(Operational Data Store)
  • 作用

    • 原始数据接入层,存储未经处理的业务系统数据(全量/增量)。

    • 数据格式与来源系统一致,保留历史变更痕迹(如日志、事务表)。

  • Doris实现策略

    • 表设计

      • 按业务主题分区(如dt=YYYYMMDD),支持增量数据按天/小时分区。

      • 使用 Duplicate数据模型,存储原始明细数据,避免数据丢失。

    • 数据接入

      • 通过Flink CDC、Kafka或DataX实时/批量同步MySQL、日志等数据源。

    • 优化点

      • 启用冷热数据分离策略,将历史数据转存至低成本存储(如HDFS)。

2. DWD层(Data Warehouse Detail)
  • 作用

    • 清洗、标准化ODS层数据,解决脏数据、缺失值、编码不一致等问题。

    • 构建业务一致性维度,生成事实表与维度表。

  • Doris实现策略

    • 表设计

      • 使用 Aggregate/Unique数据模型,按业务主键去重,确保数据唯一性。

      • 定义明确的Schema(如字段类型、约束),添加注释说明业务含义。

    • ETL流程

      • 通过Spark/Flink进行数据清洗(如过滤无效记录、补全默认值)。

      • 关联维度表生成宽表(如用户ID转用户名、商品ID转类目)。

    • 优化点

      • 利用Doris的 物化视图 预计算常用维度组合,加速查询。

3. DWM层(Data Warehouse Middle)
  • 作用

    • 轻度汇总层,基于DWD层数据进行跨主题的中间层聚合(如按小时/天粒度统计)。

    • 服务于共性业务指标(如UV、PV、交易额),减少上层重复计算。

  • Doris实现策略

    • 表设计

      • 使用 Aggregate数据模型,预聚合常用维度(如时间、地域、产品线)。

      • 按时间范围分桶(如按周分桶),提升范围查询性能。

    • 数据处理

      • 通过定时任务(Airflow/DolphinScheduler)调度SQL实现增量聚合。

    • 优化点

      • 针对高频查询指标,设置 Bloom Filter索引 加速过滤。

4. DWS层(Data Warehouse Service)
  • 作用

    • 高度汇总层,面向业务主题的宽表设计(如用户画像、订单分析)。

    • 提供可直接查询的指标数据,支持OLAP分析与BI报表。

  • Doris实现策略

    • 表设计

      • 使用 Duplicate/Aggregate模型,按业务场景设计宽表(如用户行为宽表含点击、购买、浏览)。

      • 分区键选择高频过滤字段(如user_idproduct_id)。

    • 数据加工

      • 通过Doris的 Rollup表 实现多维度上卷(如从省份到国家层级汇总)。

    • 优化点

      • 启用 动态分区 自动管理分区生命周期。

5. ADS层(Application Data Service)
  • 作用

    • 应用数据层,直接对接前端业务系统(如报表、API接口)。

    • 按需加工个性化指标,满足实时/离线场景的快速响应。

  • Doris实现策略

    • 表设计

      • 使用 Unique模型 存储最终结果数据(如每日营收报表、实时大屏指标)。

      • 根据查询需求设置合适的分桶数(避免数据倾斜)。

    • 数据同步

      • 通过Doris的 External Table 直接查询Hive/HDFS数据,减少数据迁移成本。

    • 优化点

      • 为高频查询配置 查询缓存(如Session级别缓存)。


Doris分层架构的核心技术优势

  1. 高性能查询

    • MPP架构 + 列式存储,支持高并发复杂查询。

    • 分区与分桶策略结合,减少数据扫描范围。

  2. 灵活数据模型

    • Aggregate/Unique/Duplicate模型适配不同场景。

    • 物化视图与Rollup表实现预计算加速。

  3. 实时与离线融合

    • 支持批量数据导入(Broker Load)与实时流写入(Routine Load)。

  4. 资源隔离

    • 通过资源标签(Resource Tag)隔离不同层级负载,保障核心任务稳定性。


分层数据流转示意图

sql

复制

下载

数据源 → ODS层(原始数据)  ↓ ETL清洗  
DWD层(明细数据)  ↓ 轻度聚合  
DWM层(中间汇总)  ↓ 主题宽表构建  
DWS层(服务数据)  ↓ 业务加工  
ADS层(应用数据) → BI/报表/API

总结

基于Doris的分层架构设计,通过 ODS→DWD→DWM→DWS→ADS 逐层加工,实现了数据从原始采集到业务可用的高效转化。Doris凭借其实时分析能力、灵活数据模型与分布式架构,成为支撑数据中台建设的理想引擎,尤其适用于高并发查询、实时报表与复杂分析场景。

相关文章:

  • ideal创建Springboot项目(Maven,yml)
  • WSD3075在空气净化器中的应用解析
  • C++ Primer (第五版)-第十四章重载运算与类型转换
  • 图像匹配导航定位技术 第 8 章
  • lammps原子组速度的计算方法
  • CMake笔记(简易教程)
  • 【hadoop】Hbase java api 案例
  • 【Java ee初阶】初始网络
  • 接口-DAO模式
  • AI Agent开发之门:微软官方课程全面解析
  • SpringBoot整合PDF导出功能
  • 机器人领域和心理学领域 恐怖谷 是什么
  • WSL部署CosyVoice
  • 零基础入门Hadoop:IntelliJ IDEA远程连接服务器中Hadoop运行WordCount
  • Redis协议与异步方式
  • 编写大模型Prompt提示词方法
  • 问题 | 当前计算机视觉迫切解决的问题
  • LangChain框架-PromptTemplate 详解
  • 2025.5.8总结(中期审视)
  • 关于MySQL 数据库故障排查指南
  • 中国证监会印发2025年度立法工作计划
  • 江西暴雨强对流明显,专家:落雨区高度重叠,地质灾害风险高
  • 前4个月我国货物贸易进出口同比增长2.4%,增速较一季度加快1.1个百分点
  • 盖茨:20年内将捐出几乎全部财富,盖茨基金会2045年关闭
  • 85后清华博士黄佐财任湖北咸宁市咸安区委副书记、代区长
  • 巴基斯坦称约50名印度士兵在克什米尔实控线丧生