OLAP技术在国内兴起和发展的过程中,人们对某些基本概念还有不同的理解。比如,OLAP与多维数据模型的关系,多维数据模型与多维数据库(MDD,Multi Dimensional Database)的关系,MOLAP(Multidimensional OLAP,关系联机分析处理)和HOLAP(Hybrid OLAP,混合联机分析处理)间的差异,多维数据库与多维联机分析处理是不是完全一致等问题,还有待于进一步澄清。
一、多维数据模型及相关概念
数据模型一般有两个层次:概念层(逻辑层)和物理层。逻辑数据模型是从概念角度抽象出现实世界的内在规律,如业务流程、数据架构等;物理数据模型则侧重于特定环境下的具体实现,如效率、安全性等。
多维数据模型是一个逻辑概念,该模型主要解决如何对大量数据进行快速查询和多角度展示,以便得出有利于管理决策的信息和知识。多维数据模型的应用领域主要有数据仓库、OLAP和数据挖掘3个方面,其中,多维结构是OLAP的核心。
多维数据模型通过引入维、维分层和度量等概念,将信息在概念上视为一个立方体。图1表示了一个数据立方体。
图1 一个数据立方体
1. 立方体:用三维或更多的维数描述一个对象,每个维彼此垂直。数据的度量值发生在维的交叉点上,数据空间的各个部分都有相同的维属性。
2. 维:是人们观察数据的特定角度,是考虑问题时的一类属性,属性的集合构成一个维(如时间维、机构维等)。
3. 维分层:同一维度还可以存在细节程度不同的各个描述方面(如时间维可包括年、季度、月份、旬和日期等)。
4. 维属性:维的一个取值,是数据项在某维中位置的描述(例如“某年某月某日”是在时间维上位置的描述)。
5. 度量:立方体中的单元格,用以存放数据。
OLAP的基本多维分析操作有钻取(Roll up,Drill down)、切片(Slice)、切块(Dice)及旋转(Pivot)等。
钻取包含向下钻取和向上钻取(上卷)操作,钻取的深度与维所划分的层次相对应。上卷操作通过维规约,在数据立方体上进行聚集;下钻操作是上卷操作的逆操作,由不太详细的数据到更详细的数据。
切片和切块是在一部分维上选定值后,度量数据在剩余维上的分布。在多维数据结构中,按照二维、二维进行切块可得到所需数据,如在“机构、产品、时间”三维立方体中进行切块和切片,可得到各城市、各产品的销售情况。
旋转(转轴)是变换维的方向,即在表格中重新安排维的放置(如行列互换),通过旋转得到不同视角的数据。