数据仓库分层设计

数据仓库的分层设计是关键的环节,它有助于整理和管理数据,使其更易于理解和使用。让我们深入了解数据仓库的分层原理。

数据仓库分层

  1. 数据运营层(ODS)

    • Operation Data Store,也称为贴源层。
    • 数据从源系统抽取、清洗、传输到这一层。
    • 主要功能:
      • 为数据仓库层提供原始数据。
      • 减少对业务系统的影响。
      • 不建议在此层进行过多的数据清洗,应保持原始数据。
  2. 数据仓库层

    • 从上到下分为三个层次:数据细节层(DWD)数据中间层(DWM)数据服务层(DWS)
    • 数据细节层(DWD)
      • 保持与贴源层相同的数据颗粒度。
      • 对原始数据进行清洗和规范化,如去除空数据、脏数据、离群值。
      • 通常采用维度退化方法,将维度退化至事实表中,减少关联操作。
    • 数据中间层(DWM)
      • 在DWD层基础上,进行轻微的聚合操作,生成中间结果表。
      • 提升公共指标的复用性,减少重复加工。
    • 数据服务层(DWS)
      • 整合DWM上的基础数据,形成宽表。
      • 用于提供后续的业务查询、OLAP分析、数据分发等。
  3. 数据应用层(ADS)

    • 存放供数据产品和数据分析使用的数据。
    • 可存放在ES、Redis、PostgreSQL等系统中,也可能存放在Hive或Druid中。
    • 用于线上系统或数据分析和挖掘。

总结

数据仓库的分层设计有助于清晰地组织数据、简化复杂问题、统一数据口径,并减少重复开发。每个公司可以根据业务需求自定义不同的层次。¹³⁴⁵

Source: Conversation with Bing, 3/31/2024 (1) 详解数据仓库分层 - 知乎 - 知乎专栏. https://zhuanlan.zhihu.com/p/377978194. (2) 数据仓库——分层原理-百度开发者中心. https://developer.baidu.com/article/detail.html?id=2860353. (3) 漫谈数据仓库:如何优雅地设计数据分层-百度开发者中心. https://developer.baidu.com/article/detail.html?id=2902581.