写在前面

本文隶属于专栏《100个问题搞定大数据理论体系》,该专栏为笔者原创,引用请注明来源,不足和错误之处请在评论区帮忙指出,谢谢!

本专栏目录结构和文献引用请见100个问题搞定大数据理论体系

解答

从整体的逻辑划分来讲,数据仓库模型是这三层架构。
1. 接入层:底层的数据源或者是操作数据层,一般在公司的话,统一都是称为ODS层。
2. 中间层:是做数据仓库同学需要花费更多精力的一层,这一层包括的内容是最多的、最复杂的。
3. 应用层:对不同的应用提供对应的数据。该层主要是提供数据产品和数据分析使用的数据,比如我们经常说的报表数据。

数据仓库3层

补充

数据仓库为什么要分层?

数据仓库更多代表的是一种对数据的管理和使用的方式,它是一整套包括了ETL、调度、建模在内的完整的理论体系。

现在所谓的大数据更多的是一种数据量级的增大和工具的上的更新。两者并无冲突,相反,而是一种更好的结合。

数据仓库在构建过程中通常都需要进行分层处理。业务不同,分层的技术处理手段也不同。

分层是数据仓库解決方案中,数据架构设计的一种数据逻辑结构,通过分层理念建立的数据仓库,它的可扩展性非常好,这样设计出来的模型架构,可以任意地增减、替换数据仓库中的各个组成部分。

分层的主要原因是在管理数据的时候,能对数据有一个更加清晰的掌控,主要有下面几个原因

  1. 空间换时间

    通过建设多层次的数据模型供用户使用,避免用户直接使用底层操作型数据,可以更高效的访问数据。

  2. 把复杂问题简单化

    将一个复杂的任务分解成多个步骤来完成,每一层只处理单一的步骤,比较简单和容易理解。而且便于维护数据的准确性,当数据出现问题之后,可以不用修复所有的数据, 只需要从有问题的步骤开始修复.

  3. 便于处理业务的变化

    随着业务的变化,只需要调整底层的数据,对应用层对业务的调整零感知。

更细致的层次划分

数据仓库更细致的层次划分

  1. ODS(Operation Data Store)原始数据层

  2. DWD(Data Warehouse Detail)数据明细层:它主要是针对于接入层的数据进行数据的清洗和转换。还有就是一些维度的补充。

  3. DWS(Data Warehouse Summary)数据汇总层:它是在DWD明细层之上,也有公司叫DW层。它是按照一定的粒度进行了汇总聚合操作。它是单业务场景。

  4. DWM(Data Warehouse Market)数据集市层:它是在DWS数据汇总层之上,集市层它是多业务场景的。

  5. APP(Application)应用层:这个是数据仓库的最后一层数据,为应用层数据,直接可以给业务人员使用

  6. TMP临时表:在做一些中间层表计算的时候,大量使用tmp临时表。

  7. DIM维度层:基于ODS层和DWD层抽象出一些公共的维度, 典型的公共维度主要包括城市信息、渠道信息、个人基础属性信息。

Q.E.D.


Apache Spark Contributor