数据仓库基础知识
数据仓库的概念
- 数据仓库,中文简称数仓。英文叫做Data WareHouse,简称DW。
- 数据仓库是面向分析的集成化数据平台,分析的结果给企业提供决策支持;
- 数据仓库本身不生产数据;
- 数据仓库本身也不消费数据;
- 企业中一般先有数据库,然后有数据仓库,可以没有数据仓库,但是不能没有数据库。
- 数据仓库不是大型的数据库,只是一个数据分析的平台。
数据仓库核心特征
面向主题性
主题(subject)是一个抽象的概念 数据综合体。一个分析的主题可以对应多个数据源。
在数仓中开展分析,首先确定分析的主题,然后基于主题寻找、采集跟主题相关的数据。
集成性
数仓不是生成数据的平台 其数据来自于各个不同的数据源
当我们确定主题之后 就需要把和主题相关的数据从各个数据源集成过来。
因为同一个主题的数据可能来自不同的数据源 它们之间会存在着差异(异构数据):字段同名不同意、单位不统一、编码不统一;
因此在集成的过程中需要进行ETL(Extract抽取 Transform转换 load加载)
不可更新性
数仓上面的数据几乎没有修改操作,都是分析的操作。
数仓是分析数据规律的平台 不是创造数据规律的平台。
注意:改指的数据之间的规律不能修改。
时变性
数仓是一个持续维护建设的东西。
站在时间的角度,数仓的数据成批次变化更新。一天一分析(T+1) 一周一分析(T+7)上述所讲的更多偏向于离线数仓,当下还有比较火的实时数仓。
数据库和数据仓库的区别
- 本质的区别就是OLTP 和OLAP系统的区别
- OLTP(On-Line ==Transaction== Processing)
Transaction 事务 面向事务支持事务 OLTP系统注重的是数据安全、完整、响应效率。通常指的就是RDBMS关系型数据库。#面向事务 支持事务#RDBMS: MySQL ORACLE#注意 不是NoSQL数据库 没有事务支持: Redis HBase
- OLAP(On-Line ==Analytical== Processing) 中文发音:欧莱普
Analytical 分析 面向分析支持分析主要指的是数据仓库、数据集市(小型数据仓库):Apache Hive、Apache Impala
- 注意:在某些场合下,说ORACLE也是OLAP系统,如何理解?
如果把RDBMS只用作数据分析工作,就是OLAP系统。
- ==数据仓库不是大型的数据库,也没有要取代数据库的目标==,只是一个数据分析的平台。
数据仓库分层架构
- 数仓本身不生产数据也不消费数据,按照数据流入流出的特点,对平台进行分层
- 最基础最核心的3层架构,企业实际应用中,可以结合需要添加不同分层。
- 核心3层架构- ODS 操作型数据层、源数据层、临时存储层
其数据来自于各个不同的数据源 临时存储 和数据源解耦合 之间有差异 一般不直接用于分析
- DW 数据仓库其数据来自于ODS经过层层的ETL变成各种模型的数据 数据干净规则 统一基于各种模型开展各种分析企业中根据业务复杂度 继续在DW中继续划分子层。 存储大量的中间结果。其数据来自于ODS经过层层ETL得出 企业中可以根据需求在DW中继续分层。
- DA 数据应用层最终消费DW数据的各种应用。
- 分层好处- 解耦合- 空间换时间 提高最终应用层使用数据的效率
ETL和ELT
版权归原作者 小布先生~噫嘘唏 所有, 如有侵权,请联系我们删除。