数据仓库分层设计
数据仓库的分层设计是关键的环节,它有助于整理和管理数据,使其更易于理解和使用。让我们深入了解数据仓库的分层原理。
-
数据运营层(ODS):
- Operation Data Store,也称为贴源层。
- 数据从源系统抽取、清洗、传输到这一层。
- 主要功能:
- 为数据仓库层提供原始数据。
- 减少对业务系统的影响。
- 不建议在此层进行过多的数据清洗,应保持原始数据。
-
数据仓库层:
- 从上到下分为三个层次:数据细节层(DWD)、数据中间层(DWM)、数据服务层(DWS)。
- 数据细节层(DWD):
- 保持与贴源层相同的数据颗粒度。
- 对原始数据进行清洗和规范化,如去除空数据、脏数据、离群值。
- 通常采用维度退化方法,将维度退化至事实表中,减少关联操作。
- 数据中间层(DWM):
- 在DWD层基础上,进行轻微的聚合操作,生成中间结果表。
- 提升公共指标的复用性,减少重复加工。
- 数据服务层(DWS):
- 整合DWM上的基础数据,形成宽表。
- 用于提供后续的业务查询、OLAP分析、数据分发等。
-
数据应用层(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.