为什么要分层?
作为一名数据的规划者,我们肯定希望自己的数据能够有秩序地流转,数据的整个生命周期能够清晰明确被设计者和使用者感知到。直观来讲就是如图这般层次清晰、依赖关系直观。
但是,大多数情况下,我们完成的数据体系却是依赖复杂、层级混乱的。如下的右图,在不知不觉的情况下,我们可能会做出一套表依赖结构混乱,甚至出现循环依赖的数据体系。
因此,我们需要一套行之有效的数据组织和管理方法来让我们的数据体系更有序,这就是谈到的数据分层。数据分层并不能解决所有的数据问题,但是,数据分层却可以给我们带来如下的好处:
1)清晰数据结构:每一个数据分层都有它的作用域和职责,在使用表的时候能更方便地定位和理解;
2)减少重复开发:规范数据分层,开发一些通用的中间层数据,能够减少极大的重复计算;
3)统一数据口径:通过数据分层,提供统一的数据出口,统一对外输出的数据口径;
4)复杂问题简单化:将一个复杂的任务分解成多个步骤来完成,每一层解决特定的问题。
为了满足前面提到好处,通常将数据模型分为三层:数据运营层( ODS &#