一、数据仓库的概念
数据仓库(Data Warehouse)简称DW或者DWH,顾名思义,就是储存数据的仓库,一般用于对过去的以及既定发生过的数据进行储存和分析。
数据仓库有个最大的特性:本身不产生数据也不会消耗数据,数据来源于各个数据源。
二、数据仓库的特征
数据仓库的特征总结下来其实只有四个字:及(集)时稳住(主)
1、主题性:和其他传统的数据库面向一个或者多个项目不同。数据仓库是面向分析的主题,分析需要什么,主题就是什么,数据仓库会把各个数据源的数据进行整合,围绕某一主题进行。
2、集成性:数据仓库的数据来源于不同的数据源,经过一系列的抽取、清洗、转换的过程形成最终的数据集合。
3、稳定性(非易失性):数据一旦进入数据仓库,一般是不允许进行修改的,只能通过分析工具进行分析查询。
4、时变性:随着时间的推移,数仓中原有的数据会无法满足对未来的分析,所以是需要追加新的数据的。
三、数据库 和 数据仓库的区别
1、在谈论数据库以及数据仓库的区别之前,我们应该先说两个概念。
(1)数据库:面向交易的处理系统,通常对少数记录进行查询和修改,主要用于操作型处理,也被称为联机事务处理 OLTP。
(2)数据仓库:一般针对某些主题的历史数据进行分析,被称为联机分析处理 OLAP。
注意:数据仓库的出现,并不是要取代数据库。
2、数据库 和 数据仓库的区别
(1)数据库是面向事务设计的,数据仓库是面向主题设计的。
(2)数据库一般储存业务数据,数据仓库一般储存历史数据。
(3)数据库设计是尽量避免冗余,数据仓库在设计是有意引入冗余。
(4)数据库是为捕获数据而设计(实时),数据仓库是为分析数据而设计(离线)。
四、数据仓库的分层架构
按照数据流入流出的过程,数据仓库架构可分为三层——源数据、数据仓库、数据应用。
源数据层(ODS): 操作性数据(Operational Data Store),是作为数据库到数据仓库的一种过度,ODS的数据结构一般与数据来源保持一致。
数据仓库层(DW):数据仓库(Data Warehouse),是数据的归宿,这里保存所有的从ODS到来的经过清洗后的数据,不会被修改,并且长期保存。
数据应用层(DA或APP): 数据应用(Dataapplication),为了特定的应用目的或应用范围,而从数据仓库中独立出来的一部分数据,也可称为部门数据或主题数据,该数据面向应用。如根据报表、专题分析需求而计算生成的数据。
五、数据仓库的血液——ETL
ETL,是英文Extract-Transform-Load的缩写,抽取(extract)、转换(transform)、加载(load)。ETL是将业务系统的数据经过抽取、清洗、转换后加载到数据仓库的过程。ETL是数据仓库的血液,维系着数仓的新城代谢,而数据仓库的日常维护和管理大多就是保持ETL的正常和稳定。
狭义ETL: 指将数据从数据源抽取出来, 根据主题对数据进行清洗转换处理工作 然后将符合分析的数据 加载到DW层的过程。
宽泛ETL: 指数据从数据源到ODS层 从ODS层到DW层 从DW层到APP层的过程。