1.4. 数仓的分层架构

按照数据流入流出的过程,数据仓库架构可分为三层——源数据、数据仓库、数据应用。

大数据-数据仓库的分层架构_数据

数据仓库的数据来源于不同的源数据,并提供多样的数据应用,数据自下而上流入数据仓库后向上层开 放应用,而数据仓库只是中间集成化数据管理的一个平台。

源数据层(ODS)​ :此层数据无任何更改,直接沿用外围系统数据结构和数据,不对外开放;为临

时存储层,是接口数据的临时存储区域,为后一步的数据处理做准备。

数据仓库层(DW)​ :也称为细节层,DW层的数据应该是一致的、准确的、干净的数据,即对源系 统数据进行了清洗(去除了杂质)后的数据。

数据应用层(DA或APP)​ :前端应用直接读取的数据源;根据报表、专题分析需求而计算生成的数 据。

数据仓库从各数据源获取数据及在数据仓库内的数据转换和流动都可以认为是ETL(抽取Extra, 转化 Transfer, 装载Load)的过程,ETL是数据仓库的流水线,也可以认为是数据仓库的血液,它维系着数 据仓库中数据的新陈代谢,而数据仓库日常的管理和维护工作的大部分精力就是保持ETL的正常和稳 定。

为什么要对数据仓库分层?

用空间换时间,通过大量的预处理来提升应用系统的用户体验(效率),因此数据仓库会存在大量冗余 的数据;不分层的话,如果源业务系统的业务规则发生变化将会影响整个数据清洗过程,工作量巨大。

通过数据分层管理可以简化数据清洗的过程,因为把原来一步的工作分到了多个步骤去完成,相当于把一个复杂的工作拆成了多个简单的工作,把一个大的黑盒变成了一个白盒,每一层的处理逻辑都相对简单和容易理解,这样我们比较容易保证每一个步骤的正确性,当数据发生错误的时候,往往我们只需要 局部调整某个步骤即可。