0x00 概述
数据分层是数据仓库设计中十分重要的一个环节,优秀的分层设计能够让整个数据体系更易理解和使用。而目前网络中大部分可以被检索到相关文章只是简单地提及数据分层的设计,或缺少明确而详细的说明,或缺少可落地实施的方案,或缺少具体的示例说明。
因此,本文将指出一种通用的数据仓库分层方法,具体包含如下内容:
-
介绍数据分层的作用
-
提出一种通用的数据分层设计,以及分层设计的原则
-
举出具体的例子说明
-
提出可落地的实践意见
0x01 数据分层?
“为什么要设计数据分层?”
这应该是数据仓库同学在设计数据分层时首先要被挑战的问题,类似的问题可能会有很多,比如说“为什么要做数据仓库?”、“为什么要做元数据管理?”、“为什么要做数据质量管理?”。当然,这里我们只聊一下为什么要做设计数据分层。
作为一名数据的规划者,我们肯定希望自己的数据能够有秩序地流转,数据的整个生命周期能够清晰明确被设计者和使用者感知到。直观来讲就是如下的左图这般层次清晰、依赖关系直观。
但是,大多数情况下,我们完成的数据体系却是依赖复杂、层级混乱的。如下的右图,在不知不觉的情况下,我们可能会做出一套表依赖结构混乱,甚至出现循环依赖的数据体系。

因此,我们需要一套行之有效的数据组织和管理方法来让我们的数据体系更有序,这就是谈到的数据分层。数据分层并不能解决所有的数据问题,但是,数据分层却可以给我们带来如下的好处:
-
清晰数据结构:每一个数据分层都有它的作用域和职责,在使用表的时候能更方便地定位和理解
-
减少重复开发:规范数据分层,开发一些通用的中间层数据,能够减少极大的重复计算
<

本文探讨了数据仓库分层的重要性,提出了一种通用的分层设计,包括ODS(运营数据层)、DW(数据仓库层)和APP(应用层)。ODS层存储原始数据,DW层包括DWD(明细层)、DWM(中间层)和DWS(服务层),APP层面向业务应用。数据分层旨在清晰数据结构、减少重复开发和统一数据口径。
最低0.47元/天 解锁文章
1934





