首页 > 代码库 > BI入门基础概念(全)
BI入门基础概念(全)
一、多维数据模型及相关概念
数据模型一般有两个层次:概念层(逻辑层)和物理层。逻辑数据模型是从概念角度抽象出现实世界的内在规律,如业务流程、数据架构等;物理数据模型则侧重于特定环境下的具体实现,如效率、安全性等。
多维数据模型是一个逻辑概念,该模型主要解决如何对大量数据进行快速查询和多角度展示,以便得出有利于管理决策的信息和知识。多维数据模型的应用领域主要有数据仓库、OLAP和数据挖掘3个方面,其中,多维结构是OLAP的核心。
多维数据模型通过引入维、维分层和度量等概念,将信息在概念上视为一个立方体。
1. 立方体:用三维或更多的维数描述一个对象,每个维彼此垂直。数据的度量值发生在维的交叉点上,数据空间的各个部分都有相同的维属性。
2. 维:是人们观察数据的特定角度,是考虑问题时的一类属性,属性的集合构成一个维(如时间维、机构维等)。
3. 维分层:同一维度还可以存在细节程度不同的各个描述方面(如时间维可包括年、季度、月份、旬和日期等)。
4. 维属性:维的一个取值,是数据项在某维中位置的描述(例如“某年某月某日”是在时间维上位置的描述)。
5. 度量:立方体中的单元格,用以存放数据。
OLAP的基本多维分析操作有钻取(Roll up,Drill down)、切片(Slice)、切块(Dice)及旋转(Pivot)等。
钻取包含向下钻取和向上钻取(上卷)操作,钻取的深度与维所划分的层次相对应。上卷操作通过维规约,在数据立方体上进行聚集;下钻操作是上卷操作的逆操作,由不太详细的数据到更详细的数据。
切片和切块是在一部分维上选定值后,度量数据在剩余维上的分布。在多维数据结构中,按照二维、二维进行切块可得到所需数据,如在“机构、产品、时间”三维立方体中进行切块和切片,可得到各城市、各产品的销售情况。
旋转(转轴)是变换维的方向,即在表格中重新安排维的放置(如行列互换),通过旋转得到不同视角的数据。
二、多维数据模型的物理实现
OLAP多维数据模型的实现有多种途径,其中主要有采用数组的多维数据库、关系型数据库以及两者相结合的方式,人们通常称之为MOLAP、ROLAP和HOLAP。但MOLAP的提法容易引起误解,毕竟根据OLAP的多维概念,ROLAP也是一种多维数据的组织方式。
1. 多维联机分析处理(多维数据库管理系统)
多维联机分析处理严格遵照库德的定义,自行建立多维数据库来存放联机分析系统的数据,它以多维数据组织方式为核心,也就是说,多维联机分析处理使用多维数组存储数据。
当利用多维数据库存储OLAP数据时,不需要将多维数据模型中的维度、层划分和立方体等概念转换成其他的物理模型,因为多维数组(矩阵)能很好地体现多维数据模型特点。
针对图1,可以定义一个三维数组矩阵(7,6,3),体现立方体的维、属性和维度量。其中数组中维的个数对应立方体的维度数,数组中每一维取值对应立方体中每一维度的属性个数,而数组的126个交点对应立方体中的单元格,用来存放数据。
利用数组实现多维数据模型的优点,在于对数据的快速访问,但同时也会带来存储空间的冗余,即稀疏矩阵问题,进而导致对存储空间的极大需求。例如,图2中定义的一个立方体结构,在用数组定义时,其取值可能有104463亿种情况。但实际上,并不是每一天、每个经营机构在不同地区和不同特约商户都会产生具有不同币种、不同卡种的交易,和关系数据库管理系统相比,只有当某一交易确实发生时,才在相应的表中留下记录。
为了解决稀疏矩阵问题,某些产品提出了稀疏维(sparse)和密度维(Dense)策略。由稀疏维产生索引块,由密度维形成数据块。只有当稀疏维的组合在交易事件初次发生时才创建索引块,进而创建数据块。
图3显示了数据块和索引块的关系。稀疏维和密度维的引入在一定程度上降低了立方体的存储冗余问题,此外,通过数据压缩技术可降低数据块的存储空间。
2. 关系联机分析处理(关系数据库管理系统)
ROLAP以关系数据库为核心,以关系型结构进行多维数据的表示和存储,将多维数据库的多维结构划分为两类表:一类是事实表,用来存储数据和维关键字;另一类是维表,对每个维至少使用一个表来存放维的层次、成员类别等维的描述信息。维表和事实表通过主关键字和外关键字联系在一起,形成“星型模式”。对于层次复杂的维,为避免冗余数据占用过大的存储空间,可以使用多个表描述,这种星型模式的扩展称为“雪花模式”。这种多维数据的表示方式能够让使用者以较简单的方式了解这些资料,增加查询效率,并对海量数据存储空间有较少要求。
事实表有如下特性:① 大量的数据列,存储容量可达到Tbt;② 主要是数值信息,只有少数的文字或者多媒体信息;③ 有和维表连接的外关键字;④ 静态数据和聚集数据。
维表中的信息是对事实表的相应说明,例如产品特征、销售时间和客户账号等。通过维表将复杂的描述分割成几个小部分,如某个时间点的销售量等,减少对事实表的扫描,实现优化查询。它主要有以下特性:① 记录数较少,可能只有上千或者上万个记录;② 大多为文字资料;③ 信息具有层次结构;④ 只有一个主键(Primary Key或Dimension Key);⑤ 信息可修改。
雪花架构是对星型架构的变形,它将星型架构下的维表格经过正规化处理,使其能表现更丰富的信息,也使得信息处理更加灵活。
3. 混合联机分析处理
混合联机分析处理利用多维联机分析处理技术存储上层汇总数据,利用关系联机分析处理存储细节数据,即低层是关系型的,高层是多维矩阵型的。这种方式具有更好的灵活性。
还有其他一些实现OLAP的方法,如提供一个专用的SQL Server,对某些存储模式(如星型、雪花型)提供对SQL查询的特殊支持。
三、存储模式的比较和选择
多维联机分析处理的优势不仅在于能清晰地表达多维概念,更重要的是它有着极高的综合速度。在关系数据库管理系统中,如果要得到某一地区的销售总量,只能逐条记录检索,找到满足条件的记录后将数据相加;而在多维数据库中,数据可以直接按行或列累加,其统计速度远远超过关系数据库管理系统。数据库中的记录数越多,其效果越明显。但是对多维联机分析处理来说,随着维度和维成员的增加,其存储空间可能出现组合爆炸。
关系联机分析处理的存储空间没有大小限制,现有的关系数据库的技术可以沿用,可以通过SQL实现详细数据与概要数据的存储。现有关系型数据库已经对OLAP做了很多优化,包括并行存储、并行查询、并行数据管理、基于成本的查询优化、位图索引、SQL的OLAP扩展等,大大提高了关系联机分析处理的访问效率。相比较而言,关系联机分析处理技术具有更大的可伸缩性。
BI ,bi 软件,bi 工具
BI入门基础概念(全)