数据仓库知识整理

由于现在做的项目是各个银行的数据仓库的项目,因为以前也不了解,用于自己学习整理,算是在即的一份备份。如有不正确和不足的地方,希望多多指教。

数据仓库是一个面向主题的,集成的,不可更新的,随时间不变化的数据集合,它用于支持企业或组织的决策分析处理。

数据仓库是一个集成的数据库,也就是数据仓库中的数据来自于分散型的操作数据,我们把分散型的操作数据从原来的数据中抽取出来,进行加工和处理,然后满足了一定的要求,这样的数据才能进入到数据仓库。

那么原来的数据有可能来自Oracle,也有可能来自Mysql,DB2,Redis,MongoDb等数据库,也有可能来自文本文件和其他的操作系统,我们把不同的数据集成起来就组成了数据仓库。

数据仓库中的数据是不可更新的,也就是说数据仓库主要是为了决策分析,所提供数据,所以主要涉及的操作是数据查询。
我们一般都不会在数据仓库中做更新和删除操作,因为数据仓库就是做查询操作。
并且数据仓库中的数据是随着时间的推移而不产生数据变化的集合。


image.png

数据仓库的结构和建立过程:


image.png

数据源:
A,业务数据系统(关系型,非关系型等数据库)
B,文档资料(csv,txt)
C,其他数据(其他系统的数据)
数据存储及管理:
A,抽取(Extract)
把数据源的数据按照一定的方式读取出来。然后进行格式转换。
B,转换(Transform)
将抽取出来的数据按照一定的格式进行转换。然后进行装载。
为什么要转换?
因为不同数据源的数据它的格式可能不一样,不一定满足我们的要求,所以我们要按照一定的规则进行转换。只有转换完符合要求的数据才能进行装载。
C,装载(Load)
将满足所需要的格式的数据,存储到数据仓当中,这样数据仓库就建立了起来。

建立了数据仓库以后,就是为了对外提供服务,所以我们需要有数据仓库的引擎。
数据仓库引擎:在数据仓库引擎当中包含有不同的服务器,不同的服务器提供不同的服务(数据查询,数据报表,数据分析,各类应用等系统)

前端展示:
A,数据查询
B,数据报表
C,数据分析
D,各类应用
前端展示的数据都来自于数据仓库的引擎中的各个服务,而服务又读取我们数据仓库中的数据,这样就完成了整个数据仓库的建立。

还要理解OLTP应用与OLAP应用:
OLTP:联机事务处理OLTP(on-line-transaction processing)
典型的OLTP应用就是“银行的转账”
比如:我们转账的操作,分别为扣钱和加钱的操作,这两个操作应该同时成功或者同时失败,如果有一方失败需要有事务的保证需要回滚,OLTP的系统面向的是事务,操作的频率会非常高,比如银行转账的业务实时都会发生。
OLAP:联机分析处理OLAP(On-Line Analytical Processing)
典型的OLAP应用:商品推荐系统


image.png

商品推荐系统这种应用是基于原来它的历史数据,从而进行数据的分析和挖掘,然后提供给别的系统所使用,这种OLAP的应用主要面向的是查询,在这种应用系统当中我们一般不会做更新和删除或者插入的操作,因为里面的数据都是属于历史的数据。

我们在搭建一个数据仓库的时候通常会使用以下两种模式:
1,第一种星型模型,星型模型是搭建数据仓库最基本的一种数据模型。
2,第二种雪花模式,是在星型模型的基础之上发展起来的一种新的模型,雪花模型使用于更复杂的应用场景。
图一,星型模型


image.png

image.png

图二:雪花模型


image.png

你可能感兴趣的:(数据仓库知识整理)