数据仓库由比尔·恩门(Bill Inmon,数据仓库之父)于1990年提出,主要功能是将企业系统联机事务处理(OLTP)长期累积的大量数据,通过数仓理论所特有的数据储存架构,做有系统的分析整理 。
数据仓库的作用
1. 提供集成的结构化数据环境:
① 集成:例如一个企业会有多个系统,多个系统之间,会存在系统不兼容的情况。如何把多个系统中数据整合在一起,就是集成的过程;
② 结构化:大部分线上产生的数据都是非结构化和半结构化的(图片、日志、音频等),需要转化为结构化数据供上游分析使用;
2. 解决从数据库中获取信息的问题:
① 从线上数据库中取数据可能会面临数据不全(不在一个系统中);
② 线上数据库产生的数据不是结构化的,比如产生的日志数据,难以理解;
③ 在线上数据库去数据,当达到一定量时,影响系统性能;
(把从线上数据库中取数,转为从数据仓库中取数,来解决这些问题)
数据仓库的特点
1. 面向主题的:数据仓库是用来分析特定主题域的,所以说数据仓库是面向主题的,例如“财务”就是一个主题域。面向主题其实是一个分类的概念。
① 电商业务-主题域划分:交易域、商品域、用户域、财务域......
② 社交业务-主题域划分:内容域、会员域、互动域、交易域......
2. 集成的:数据仓库会对接多个数据源,同一主题或产品相关数据可能来自不同系统不同类型的数据库、日志文件等。
3. 稳定的:数据一旦进入数据仓库,则不可被改变(数据仓库是记录事实的唯一版本)。数据仓里的历史数据是不应该被更新的,同时存储的稳定性较强。
4. 反映历史变化的:数据仓库保存了长期的历史数据(从系统有数据开始一直到当前,从始至今),这点是相对OLTP的数据库(线上实时在线数据库)而言。因为性能考虑后者通常保存近期的热数据。
数据仓库的目的
构建面向分析的集成化数据环境,为企业提供决策支持。
OLTP(联机事务处理过程)
1. 事务:人机交互的过程中发成的行为,就称为一个事务;
2. OLTP:也称为实时系统(Real Time System),是人机交互的一个应用系统;
3. OLTP的特点:对用户操作需要快速响应。
4. 快速响应 需要面临的问题:
(1)系统请求响应的性能
(2)数据总是保持在最新的状态
(3)数量级小(OLTP的数量级越小,查询的性能就越好)
OLAP(联机分析处理过程)
1. OLAP的特点
(1)从用户的思考角度出发,仿照用户思考模式预先为构建多维的数据模型;
(2)用户可以快速查询分析各个维度数据
(3)能动态的在各个维度之间切换或者进行多维度综合分析,具有极大的分析灵活性。
2. OLAP和数仓的关系
关系:互补
一般以数据仓库作为基础,即从数据仓库中抽取详细数据的一个子集并经过必要的聚集存储到OLAP存储中供数据分析工具读取。(OLAP是建立在数仓之上的一个多维查询的操作)
OLAP和OLTP的区别
DATACube数据魔方
面向分析的多维查询操作:钻取、上卷、切片、切块、旋转
Tips: 数据立方体只是多维模型的一个形象的说法,立方体自身只有三维,而实际会有更多维度。