目前支流的数据仓库分层大多为四层, 也有五层的架构,这里介绍根本的四层架构。别离为数据贴源层 (ods)、数据仓库明细层(dw)、多维明细层(dws) 和数据集市层(dm)。
上面是架构图:
数据分层的目标是:缩小反复计算,防止烟囱式开发,节俭计算资源,靠上档次,越对利用敌对,也对用户敌对,心愿大部分(80% 以上)的需要,都用 DWS,DW 的表来反对就行,所以 ODS 层数据不能被 DM 层工作援用,须要抽取数据到 DW, 或者 DWS。
DWS 汇总层应优先调用 DW 明细层。在调用可累加类指标计算时,DWS 汇总层尽量优先调用曾经产出的粗粒度汇总层,以防止大量汇总都间接从海量的明细数据层计算。
DM 层优先调用 DWS,视状况小局部能够调用 DW,禁止间接调用 ODS 数据,避免出现适度的 ODS 层援用、不合理的数据复制以及子集合冗余
DM 层工作的深度不宜过大(倡议不超过 10 层)。
总的来说, 数据分层的目标如下:
- 清晰数据结构:让每个数据层都有本人的作用和职责,在应用和保护的时候可能更不便和了解
- 简单问题简化:将一个简单的工作拆解成多个步骤来分步骤实现,每个层只解决特定的问题
- 对立数据口径:通过数据分层,提供对立的数据进口,对立输入口径
- 缩小反复开发:标准数据分层,开发通用的中间层,能够极大地缩小反复计算的工作
数据贴源层(ods):用来贮存原始数据,同步的脚本和数据的表,要和原始的表有肯定的分割,用于不便数据治理,数据溯源等。个别,同步的脚本,和 ods 的表要体现源数据库表的特色,个别表名和字段名,字段格局,都和原始表保持一致,同步的模式包含增量同步和全量同步。
数据仓库明细层(dw):这一层寄存的是统一的、精确的、洁净的数据,即对源零碎数据进行了荡涤(去除了杂质)后的数据。一层一般来说是依照维度建模抽取的明细数据。通常是星形或雪花构造的数据。
多维明细层(dws):这一层寄存的是 DW 层的,一些通用的汇总数据。个别是某个主题的某个维度的汇总数据,用于提供后续的业务查问,OLAP 剖析,数据散发等。一般来说,该层的数据表会绝对较少,一张表会涵盖比拟多的业务内容,因为其字段较多,因而个别也会称该层的表为宽表。
数据集市层(dm):该层次要是提供给数据产品和数据分析应用的数据,这层就是依据需要来抽取数据了。
一般来说,数据分层之后,还须要对开发数据的工作,进行标准,比方字段格局,字段名称拼写,主题划分等,不然单纯分层,是不足以建设好一个对开发敌对,不便运维,不便取数的数仓的,这个分层就是一个货物仓库外面各个房间的划分,然而外面货物须要怎么放,放在哪个房间那个地位,我想要某个数据应该怎么找,这个就须要一整套数据开发标准,以及对应的数据地图,数据血缘关系零碎的反对了。
总的来说,数据层是数仓的骨头支架,然而肌肉,心脏等这些器官,对建设一个好的数仓,也很要害。
须要数据仓库材料能够点击这个支付数据仓库 (13) 大数据数仓经典最值得浏览书籍举荐
参考文章:数据仓库 (6) 数仓分层设计数仓分层设计 ”)