数据仓库基本概念

原文:https://www.cnblogs.com/MR-zhang-01/p/9278477.html

一、数据仓库的概念 - 元数据

按照传统的定义,元数据(Metadata)是关于数据的数据。在数据仓库系统中,元数据可以帮助数据仓库管理员和数据仓库的
开发人员非常方便的找到他们所关心的数据;元数据是描述数据仓库内数据的结构和建立方法的数据,可将其按用途的不同分
为两类:技术元数据和业务元数据


技术元数据是存储关于数据仓库系统技术细节的数据,是用于开发和管理数据仓库使用的数据,主要包括以下信息:

1)数据仓库结构的描述,包括仓库模式、视图、维、层次结构和导出数据的定义,以及数据集市的位置和内容;

2)业务系统、数据仓库和数据集市的体系结构和模式;

3)汇总用的算法,包括度量和维定义算法,数据粒度、主题领域、聚集、汇总、预定义的查询与报告;

4)由操作环境到数据仓库环境的映射,包括源数据和它们的内容、数据分割、数据抽取、清洗转换规则和数据刷新规则、安全(用户授权和存取控制)。


二、数据仓库的概念 - 联机处理分析(OLAP)

简写为OLAP,随着数据库技术的发展和应用,数据库存储的数据量从20世纪80年代的兆(M)字节及千兆(G)字节过渡到
现在的兆兆(T)字节和千兆兆(P)字节,同时,用户的查询需求也越来越复杂,涉及的已不仅是查询或操纵一张关系表中的
一条或几条记录,而且要对多张表中的千万条记录的数据进行数据分析和信息综合,关系数据库系统已不能全部满足这一要求
。在国外,不少软件厂商采取了发展其前端产品来弥补关系数据库管理系统的不足,力图统一分散的公共应用逻辑,在短时间
内响应非数据处理专业人员复杂查询要求。


数据仓库与OLAP的关系是互补的,现代OLAP系统一般以数据仓库作为基础,即从数据仓库中抽取详细数据的一个子集并经过
必要的聚集存储到OLAP存储器中供前端分析工具读取。OLAP系统按照其存储器的数据存储格式可以分为关系OLAP
(RelationalOLAP,简称ROLAP)、多维OLAP(MultidimensionalOLAP,简称MOLAP)和混合型OLAP(HHybridOLAP,简称
HOLAP)三种类型。


1)ROLAP

ROLAP将分析用的多维数据存储在关系数据库中并根据应用的需要有选择的定义实视图作为表也存储在关系数据库中。不必要
将每一个SQL查询都作为实视图保存,只定义那些应用频率比较高、计算工作量比较大的查询作为实视图。对每个针对OLAP
服务器的查询,优先利用已经计算好的实视图来生成查询结果以提高查询效率。同时作为ROLAP存储器的RDBMS也针对
ROLAP作相应的优化,比如并行存储、并行查询、并行数据管理、基于成本的查询优化、位图索引、SQL的OLAP扩展
(cube,rollup)等等。


2)MOLAP

MLOAP将OLAP分析用到的多维数据物理上存储为多维数组的形式,形成“立方体”的结构。维的属性值被映射成多维数组的下
标值或下标的范围,而总结数据作为多维数组的值存储在数组的单元中。由于MOLAP采用了新的存储结构,从物理层实现起,
因此又称为物理OLAP(PhPhysicalOLAP);而ROLAP主要通过一些软件工具或中间软件实现,物理层仍采用关系数据库的存
储结构,因为称为虚拟OLAP(VirVirtualOLAP)。


3)HOLAP

由于MOLAP和ROLAP有着各自的优点和缺点(如下表所示),且它们的结构迥然不同,这给分析人员设计OLAP结构提出了难
题。为此一个新的OLAP结构--混合型OLAP(HOLAP)被提出,它能把MOLAP和ROLAP两个结构的优点结合起来。迄今为止
,对HOLAP还没有一个正式的定义。但很显然,HOLAP结构不应该是MOLAP和ROLAP结构的简单组合,而是这两种结构技
术优点的有机结合,能满足用户各种复杂的分析请求。


三、数据仓库的概念 - 维度

管理人员往往希望从不同的角度来审视业务的情况,比如从时间、地域、产品、客户等来看收入、利润、支出等业务统计数字
。每一个分析的角度可以叫做一个维,因此,我们把多角度分析方式称为多维分析。以前,每一个分析的角度需要制作一张报
表。在线多维分析工具的主要功能,是根据用户常用的多种分析角度,事先计算好一些辅助结构,以便在查询时能尽快访问到
所要的汇总数字,并快速地从一维转变到另一维,将不同角度的信息以数字、直方图、饼图、曲线等等方式展现在用户面前。


四、数据仓库的概念 - 切片/切块/钻取/旋转/转轴

1)切片和切块(Slice and Dice)

在多维数据结构中,按二维进行切片,按三维进行切块,可得到所需要的数据。每次都是沿其中一维进行分割称为分片,每次沿多维进行的分片称为分块。


2)钻取(Drill)

钻取包括向下钻取(Drill-down)和向上钻取(Drill-up),钻取的深度与维所划分的层次相对应。


3)旋转(Rotate)/转轴(Pivot)

通过旋转可以得到不同视角的数据。


五、数据仓库的概念 - 星型/雪花型

1)星形模式

有一张事实表、以及零个或多个维度表;事实表与维度表通过 主键/外键 相关联,维度表之间没有关联,就像很多星星围绕在一个恒星周围,顾命名为星型模型。

在不考虑缓慢变换的情况下,大多数事实表的设计方式:id  dim1id  dim2id  dim3id  ...measure1  measure2  measure3...

在不考虑缓慢变换的情况下,大多数维度表的设计方式:level1id  level1name level1attributename1,level1attributename2...
level2id  level2name level2attributename1,level2attributename2..  levelnid (PK)     levelnname levelnattributename1,levelnattributename2


2)雪花模式

如果将星型模型中某些维度的表再做规范,抽取成更细的维度表,然后让维度表之间也进行关联,那么这种模型成为雪花模型(雪花模型可以通过一定的转换,变为星型模型)


雪花模式是对星型模式维表的进一步层次化,将某些维表扩展成事实表,这样既可以应付不同级别用户查询,又可以将源数据
通过层次间的联系向上综合,最大限度的减少数据存储量,因而提高了查询功能。雪花模式的维度表是基于范式理论的,因此
是介于第三范式和星形模式之间的一种设计模式,通常是部分数据组织采用第三范式的规范结构,部分数据组织采用星形模式
的事实表和维表结构。在某些情况下,雪花模式的形成是由于星形模式在组织数据时,为减少维度层次和处理多对多关系而对
数据表进行规范化处理后形成的。


雪花模式的优点是:

在一定程度上减少了存储空间;
规范化的结构更容易更新和维护。


同样,雪花模式也存在不少缺点:

雪花模式比较复杂,用户不容易理解;
浏览内容相对困难;
额外的连接将使查询性能下降。


在数据仓库中,通常不推荐“雪花化”。因为在数据仓库中,查询性能相对OLTP系统来说更加被重视,而雪花模式会降低数据仓库系统的性能。

原文地址:https://www.cnblogs.com/weiyiming007/p/12356962.html