直接ODS + DW,将所有数据都同步过来,然后直接开发些应用层的报表;当DW层的内容多了以后,想要重用,就会再拆分一个公共层出来,变成3层架构,这个过程有点类似代码重构
数仓的建模或者分层,其实都是为了更好的去组织、管理、维护数据,所以当你站在更高的维度去看的话,所有的划分都是为了更好的管理。
所以数仓分层是数据仓库设计中十分重要的一个环节,优秀的分层设计能够让整个数据体系更容易理解和使用。
分层的意义
清晰数据结构体系
数据血缘追踪
复杂问题简单化
减少重复开发和资源浪费
统一数据口径
关于分层的一点思考前面我们说到分层其实是为了更好更快更准的组织管理,但是这个是从宏观上来说的,接下来我们从微观上也来看一下分层。
越靠上的层次,对应用越友好,比如ADS层,基本是完全为应用设计,从数据聚合程度来讲,越上层的聚合程度越高,当然聚合程度越高可理解程度就越低。
数仓层内部的划分不是为了分层而分层,分层是为了解决 ETL 任务及工作流的组织、数据的流向、读写权限的控制、不同需求的满足等各类问题,当然我们常说的分层也是面向行业而言的,也是我们常用分层方法,但是你需要注意的是分层仅仅是手段而已。



