数据仓库,英文名称为Data Warehouse,可简写为DW或DWH。数仓之父比尔·恩门(Bill Inmon)在1991年出版的《Building the Data Warehouse》一书中所提出的定义被广泛接受:数据仓库是一个面向主题的(Subject Oriented)、集成的(Integrated)、相对稳定的(Non-Volatile)、反映历史变化(Time Variant)的数据集合,用于支持管理决策(Decision Making Support)。
早期的数仓多是基于关系型数据库(比如Oracel、SQLServer)搭建,数仓设计主要由从事系统开发的软件工程师完成。随着互联网大数据技术的发展,现在互联网公司的数仓主要基于Hadoop技术生态构建,并逐渐分化出专门从事数仓架构和数据开发的数仓工程师。受关系型数据库的设计影响,大部分软件工程师转向做数仓设计时,会不自觉地遵循三范式要求。但是数仓设计与关系型数据库设计有很大区别,不能完全遵循三范式设计。
数仓的三层架构:ODS-DW-DM
ETL是英文Extract-Transform-Load的缩写,它描述了数仓数据从来源端经过抽取(extract)、转换(transform)、加载(load)至目的端的整个生产过程。早期数仓直接从数据源产出分析报表,ETL过程比较简单,可以通过简单的脚本实现。但是,随着数据量的爆发增长和数据应用的拓展(除数据分析外,数据挖掘,人工智能等应用都强依赖数仓),数仓的ETL过程变得越来越复杂,需要工程化手段对数仓做架构设计。现在数仓总体架构会分三层:ODS源数据层,DW中间层和DM集市层,如下图所示。

ODS层存储最原始的数据,不对数据做任何加工处理。DW层存储ETL过程的中间表,简化ETL实现的复杂度,提高中间数据的复用度。为了便于工程实

最低0.47元/天 解锁文章
421

被折叠的 条评论
为什么被折叠?



