原来在学校实验室也进行过开发工作,有一定的项目经验,后来也靠这些项目经验以实习生的身份加入了现公司。
但是万万没想到,加入的是大数据部门啊,导致现在一直在补大数据相关的知识。
最后悔的是之前也有参加过一个大数据的特色班,可惜那时候没好好学,一直忙着实验室的Java后台的一些项目,难受~
好了,牢骚也发完了。今天也把之前的一些课件翻了出来,重新学习一下,然后对数据仓库进行一个理解和总结。
本文主要分两部分
1、什么是数据仓库
2、数据仓库的应用

一、什么是数据仓库

W.H.Inmon在《 Building the Data Warehouse 》一书中,对数据仓库的定义为:
数据仓库是一个
面向主题
集成
非易失
随时间变化
用来支持管理人员决策
数据集合

1、面向主题

操作型数据库的数据组织面向事务处理任务,各个业务系统之间各自分离,而数据仓库中的数据是按照一定的主题域进行组织。
主题是一个抽象的概念,是数据归类的标准,是指用户使用数据仓库进行决策时所关心的重点方面,一个主题通常与多个操作型信息系统相关。每一个主题基本对应一个宏观的分析领域。

例如,银行的数据仓库的主题:客户

客户数据来源:

从银行储蓄数据库、信用卡数据库、贷款数据库等几个数据库中抽取的数据整理而成。这些客户信息有可能是一致的,也可能是不一致的,这些信息需要统一整合才能完整体现客户。

2、集成

面向事务处理的操作型数据库通常与某些特定的应用相关,数据库之间相互独立,并且往往是异构的。而数据仓库中的数据是在对原有分散的数据库数据抽取、清理的基础上经过系统加工、汇总和整理得到的,必须消除源数据中的不一致性,以保证数据仓库内的信息是关于整个企业的一致的全局信息。
具体如下:
1:数据进入数据仓库后、使用之前,必须经过加工与集成。
2:对不同的数据来源进行统一数据结构和编码。统一原始数 据中的所有矛盾之处,如字段的同名异义,异名同义,单位不统一,字长不一致等。
3:将原始数据结构做一个从面向应用到面向主题的大转变。

3、非易失即相对稳定的

操作型数据库中的数据通常实时更新,数据根据需要及时发生变化。数据仓库的数据主要供企业决策分析之用,所涉及的数据操作主要是数据查询,一旦某个数据进入数据仓库以后,一般情况下将被长期保留,也就是数据仓库中一般有大量的查询操作,但修改和删除操作很少,通常只需要定期的加载、刷新。
数据仓库中包括了大量的历史数据。
数据经集成进入数据仓库后是极少或根本不更新的。

4、随时间变化即反映历史变化

操作型数据库主要关心当前某一个时间段内的数据,而数据仓库中的数据通常包含历史信息,系统记录了企业从过去某一时点(如开始应用数据仓库的时点)到目前的各个阶段的信息,通过这些信息,可以对企业的发展历程和未来趋势做出定量分析和预测。企业数据仓库的建设,是以现有企业业务系统和大量业务数据的积累为基础。数据仓库不是静态的概念,只有把信息及时交给需要这些信息的使用者,供他们做出改善其业务经营的决策,信息才能发挥作用,信息才有意义。而把信息加以整理归纳和重组,并及时提供给相应的管理决策人员,是数据仓库的根本任务。因此,从产业界的角度看,数据仓库建设是一个工程,是一个过程

数据仓库内的数据时限一般在5-10年以上,甚至永不删除,这些数据的键码都包含时间项,标明数据的历史时期,方便做时间趋势分析。

数据库和数据仓库的对比

大数据之路-数据仓库概述

二、数据仓库的应用

1、支持数据提取

数据提取可以支撑来自企业各业务部门的数据需求。
由之前的不同业务部门给不同业务系统提需求转变为不同业务系统统一给数据仓库提需求。
大数据之路-数据仓库概述

2、支持报表

基于企业的数据仓库,向上支撑企业的各部门的统计报表需求,辅助支撑企业日常运营决策。

3、支持数据分析(BI)

BI(商业智能)是一种解决方案:
从许多来自不同的企业业务系统的数据中提取出有用的数据并进行清理,以保证数据的正确性,然后经过抽取、转换和装载,即ETL过程,合并到一个企业级的数据仓库里,从而得到企业数据的一个全局视图;
在此基础上利用合适的查询和分析工具、数据挖掘工具、OLAP工具等对其进行分析和处理(这时信息变为辅助决策的知识);
最后将知识呈现给管理者,为管理者的决策过程提供支持 。

4、支持数据挖掘

数据挖掘简单来说就是从海量的数据中发现潜在的,有用的数据(知识)。

5、支持数据应用

电信基于位置数据的旅游客流分析及人群画像
电信基于位置数据的人流监控和预警
银行基于用户交易数据的金融画像应用
电商根据用户浏览和购买行为的用户标签体系及推荐系统
征信机构根据用户信用记录的信用评估

三、OLTP VS OLAP

1、OLTP

On-Line Transaction Processing联机事务处理系统(OLTP),面向交易的处理系统,其基本特征是顾客的原始数据可以立即传送到计算中心进行处理,并在很短的时间内给出处理结果。

最大优点是可以即时地处理输入的数据,及时地回答。也称为实时系统(Real time System)。衡量联机事务处理系统的一个重要性能指标是系统性能,具体体现为实时响应时间(Response Time),即用户在终端上送入数据之后,到计算机对这个请求给出答复所需要的时间。OLTP是由数据库引擎负责完成的。

例如:网上订购一件商品,通过锁定商品、付款、收获确认,每一步操作都是联机事务处理。

一般采用关系型数据库作为平台,如Mysql、Oracle等;

OLTP设计的注意事项

大数据之路-数据仓库概述

2、OLTP

On-Line Analytical Processing 联机分析处理(OLAP)系统是数据仓库系统最主要的应用,专门设计用于支持复杂的分析操作,侧重对决策人员和高层管理人员的决策支持,可以根据分析人员的要求快速、灵活地进行大数据量的复杂查询处理,并且以一种直观而易懂的形式将查询结果提供给决策人员,以便他们准确掌握企业(公司)的经营状况,了解对象的需求,制定正确的方案。

联机分析处理的主要特点,是直接仿照用户的多角度思考模式,预先为用户组建多维即多角度的数据模型。OLAP系统重点的考察指标IOPS(Input/Output Operations Per Second)用于计算机存储设备的性能测试量测方式,可以视为每秒读写次数

如: 登陆淘宝页面,经常得到优惠商品的推荐信息,这些信息是根据不同的人进行不同的商品推荐的,它的后面就是一个巨大的OLAP系统在支撑。

OLAP系统的设计特征

大数据之路-数据仓库概述

3、OLTP和OLAP系统和应用的区别

大数据之路-数据仓库概述
大数据之路-数据仓库概述

四、ODS和数据集市

首先看一张数据仓库系统的案例

大数据之路-数据仓库概述

1、ODS

ODS(Operational Data Storage,操作型数据存储区)是数据仓库体系结构中的一个可选部分,它具备数据仓库的部分特征和OLTP系统的部分特征。它是“面向主题的、集成 的、当前或接近当前的、随时间不断变化的”数据库系统。

ODS功能
大数据之路-数据仓库概述
ODS成因
信息处理的多层次要求导致了一种新的数据环境——交易系统-仓库的中间层ODS(操作型数据存储)的出现。

它像仓库一样是一种面向主题,集成的数据环境,又像操作型DB交易系统一样包含着全局一致的、细节的当前的数据。

这样就构成了DB-ODS-DW的关于企业数据的三层体系结构。
大数据之路-数据仓库概述

2、ODS和DW(数据仓库)区别

大数据之路-数据仓库概述

3、数据集市

有两种类型的数据集市—独立型从属型。
独立型数据集市直接从操作型环境获取数据。
从属型数据集市从企业级数据仓库获取数据。

从长远的角度看,从属型数据集市在体系结构上比独立型数据集市更稳定。
应该先建仓库还是先建集市,这个话题一直都是争论的热点。
大数据之路-数据仓库概述

4、数据集市与数据仓库区别

大数据之路-数据仓库概述

五、数据仓库的维度和维度建模

1、维度

维度(Demention):指人们观察事物的角度,是指一种视角,是一个判断、说明、评价和确定一个事物的多方位、多角度、多层次的条件和概念,如时间维度、地区维度、产品维度等等;

2、维度的构成

维度的元素:维度的取值,即维度中的各个数据元素的取值。例如,某通信公司业务办理量统计中的维度包括“品牌”,其成员有动感地带、神州行、全球通;“月度”维1-7月,“业务”维取值有:来电提醒、短信包等……
大数据之路-数据仓库概述

表示对分析主题所属类型的描述。比如"

昨天早上张三在京东花费200元购买了一个皮包

"。那么以购买为主题进行分析,可从这段信息中提取三个维度:时间维度(昨天早上),地点维度(京东), 商品维度(皮包)。通常来说维度表信息比较固定,且数据量小。

3、维度建模

维度建模(dimensional modeling)是专门用于分析型数据库、数据仓库、数据集市建模的方法。
它本身属于一种关系建模方法,但和之前在操作型数据库中介绍的关系建模方法相比增加了两个概念:

1. 维度表(dimension)

表示对分析主题所属类型的描述。比如"昨天早上张三在京东花费200元购买了一个皮包"。那么以购买为主题进行分析,可从这段信息中提取三个维度:时间维度(昨天早上),地点维度(京东), 商品维度(皮包)。通常来说维度表信息比较固定,且数据量小。

2. 事实表(fact table)

表示对分析主题的度量。比如上面那个例子中,200元就是事实信息。事实表包含了与各维度表相关联的外码,并通过JOIN方式与维度表关联。事实表的度量通常是数值类型,且记录数会不断增加,表规模迅速增长。

4、维度建模的三种模式

  • 多维数据模型是为了满足用户从多角度多层次进行数据查询和分析的需要而建立起来的基于事实和维的数据库模型,其基本的应用是为了实现OLAP(Online
    Analytical Processing)。
  • 多维模型把数据看做是数据立方体形式。
  • 多维数据模型围绕中心主题(事实表)组织。
  • 多维数据模型的存在形式:
    A. 星型模式(Star schema)
    B. 雪花模式(Snowflake schema)
    C. 事实星座 (fact constellations):

多维模型多用于数据集市

1. 星形模式
星形模式(Star Schema)是最常用的维度建模方式,下图展示了使用星形模式进行维度建模的关系结构:
大数据之路-数据仓库概述
星型模型事实表在中心,周围围绕连接着维表(每维一个),事实表含有大量数据,特点总结如下:
A. 非正规关系模型
B. 通过主键和外键将每一个维度都与事实表链接
C. 不存在渐变维度(简单理解为只有一级维度)
D. 维度有冗余数据
E . 查询效率可能会比较高
F . 设计维护较为简单
2. 雪花模式
雪花模式(Snowflake Schema)是对星形模式的扩展,每个维表可继续向外连接多个子维表。下图为使用雪花模式进行维度建模的关系结构:
大数据之路-数据仓库概述
星型星型模式的变种,其中某些维表是规范化的(将引起冗余的字段用一个新表来表示),因而把数据进一步的分解到附加表中,结果模式图形成类似于雪花的形状。特点总结如下:
A. 正规关系模型
B. 些数据需要连接才能获取,可能效率较低
C. 冗余数据少
D . 设计维护较为复杂
3. 星座模式
事实星座即多个事实表共享维表,这种模式可以看做星型模式集,因此称为星系模式(galaxy schema),或者事实星座。示例如图:
大数据之路-数据仓库概述

分类:

技术点:

相关文章: