今天与师妹讨论关于OLAP的问题,我当时提出“OLAP是与数据仓库息息相关的,一提OLAP就会论及数据仓库”。这会儿,当我拿出书来重新阅读OLAP的概念时,发现我所言虽然不能算错,但是显得狭隘了些,呵呵。
首先来看看官方给OLAP下的定义。
定义1:OLAP(联机分析处理)是针对特定问题的联机数据访问和分析。通过对信息(维数据)的多种可能的观察形式进行快速、稳定一致和交互性的存取,允许管理决策人员对数据进行深入观察。
定义2:OLAP(联机分析处理)是使分析人员、管理人员或执行人员能够从多种角度对从原始数据中转化出来的、能够真正为用户所理解的、并真实反映企业维特性的信息进行快速、一致、交互地存取,从而获得对数据的更深入了解的一类软件技术。(OLAP委员会的定义)。
OLAP的目标:满足决策支持或多维环境特定的查询和报表需求,它的技术核心是“维”这个概念,因此OLAP也可以说是多维数据分析工具的集合。
由此可以看出,OLAP与数据仓库之间并没有谁包含谁的关系,而是因为数据仓库呈现多维的特征因此需要使用OLAP对其进行分析。两者之间算得上是珠联璧合,这也是人们在谈及数据仓库时必然联想到OLAP,反之亦然的原因。
另一方面,这也说明了OLAP不是数据仓库技术的“专利”,任何具有多维数据特征,需要进行快速、深入分析并灵活生成各种报表的数据集合都可以采用OLAP的方式进行处理。正如在上篇提到的统计数据库,严格的说它还算不上数据集市更不要说数据仓库,但是它是多维的、需要从不同角度进行分析的,一定要产生各种报表的,在此层面上与数据仓库的机制产生了共鸣。因此我说将统计数据库看成数据集市,主要指他们之间在这方面的相通之处。
再来看看相关的基本概念:
1. 维:是人们观察数据的特定角度,是考虑问题时的一类属性,属性集合构成一个维(时间维、地理维等)。
2.维的层次:人们观察数据的某个特定角度(及某个维)还可以存在细节程度不同的各个描述方面(时间维:日期、月份、季度、年)。
3.维的成员:维的一个取值。是数据项在某维中位置的描述。比如“某年某月某日”是在时间维上位置的描述。
4.多维数组:维和变量的组合表示。一个多维数组可以表示为:(维1,维2,...,维n,变量)。
5.数据单元(单元格):多维数组的取值。
以下是OLAP的特性。
(1) 快速性:用户对OLAP的快速反应能力有很高的要求。系统应能在5秒内对用户的大部分分析要求作出反应。
(2)可分析性:OLAP系统应能处理与应用有关的任何逻辑分析和统计分析。
(3)多维性:多维性是OLAP的关键属性。系统必须提供对数据的多维视图和分析,包括对层次维和多重层次维的完全支持。
(4)信息性:不论数据量有多大,也不管数据存储在何处,OLAP系统应能及时获得信息,并且管理大容量信息。
在我们的系统中,OLAP有关维的特征都得到较好的体现。需要指出的是,我认为OLAP的快速性体现在报表生成和数据展现上,真正的数据预处理过程是很难在5秒钟内完成的。因此,参与分析的数据应首先经过处理,比如细粒度和高粒度的问题,然后存储起来。当用户需要按自己规定的视角获取数据时,OLAP机制应能够快速的根据事先处理好的数据完成展现和组织报表的动作,显然相比而言这一步速度一定会很快的。
呵呵,又是半夜了,上床睡觉,明天接着写。^_^