多维数据库是指将数据存放在一个门维数组中,而不是像关系数据库那样以记录的形式存放。因此它存在大量稀疏矩阵,人们可以通过多维视图来观察数据。多维数据库增加了一个时间维,与关系数据库相比,它的优势在于可以提高数据处理速度,加快反应时间,提高查询效率1。
相关定义维(Dimension):是人们观察数据的特定角度,是考虑问题时的一类属性,属性集合构成一个维(时间维、地理维等)。
维的层次(Level):人们观察数据的某个特定角度(即某个维)还可以存在细节程度不同的各个描述方面(时间 维:日期、月份、季度、年)。
维的成员(Member):维的一个取值,是数据项在某维中位置的描述。(“某年某月某日”是在时间维上位置的描述)。
度量(Measure):多维数组的取值。(2000年1月,上海,笔记本电脑,0000)。
OLAP的基本多维分析操作有钻取(Drill-up和Drill-down)、切片(Slice)和切块(Dice)、以及旋转(Pivot)等。
钻取:是改变维的层次,变换分析的粒度。它包括向下钻取(Drill-down)和向上钻取(Drill-up)/上卷(Roll-up)。Drill-up是在某一维上将低层次的细节数据概括到高层次的汇总数据,或者减少维数;而Drill-down则相反,它从汇总数据深入到细节数据进行观察或增加新维。
切片和切块:是在一部分维上选定值后,关心度量数据在剩余维上的分布。如果剩余的维只有两个,则是切片;如果有三个或以上,则是切块。
旋转:是变换维的方向,即在表格中重新安排维的放置(例如行列互换)2。
后关系型数据库的主要特征是将多维处理和面向对象技术结合到关系数据库上。这种数据库使用强大而灵活的对象技术,将经过处理的多维数据模型的速度和可调整性结合起来。由于它独有的可兼容性,对于开发高性能的交换处理应用程序来说,后关系型数据库非常理想.在后关系型数据库管理系统中,采用了更现代化的多维模型,作为数据库引擎。并且,这种以稀疏数组 为基础的独特的多维数据库架构,是从已成为国际标准的数据库语言基础上继承和发展的,是已积累了实践经验的先进而可靠的技术。
多维数据模型能使数据建模更加简单,因为开发人员能够方便地用它来描述出复杂的现实世界结构,而不必忽略现实世界的问题,或把问题强行表现成技术上能够处理的形态,而且多维数据模型使执行复杂处理的时间大大缩短。例如开发一个服装连锁店信息管理系统时,如果用关系数据库,就需要建立许多表,一张表用来说明每种款式所具有的颜色和尺寸,另一张表用来建立服装和供应商之间的映射,并表示它是否已被卖出,此外还需要建一些表来表示价格变化、各店的库存等等。每成交一笔生意,所有这些表都需要修改,很快这些关系数据库就会变得笨重而缓慢。而在多维数据模型中,可以将这些数据看做是存在于一个“立方体”中,这个“立方体”有足够多的“面”,以便对数据进行完全分类,如款式、颜色、价格、库存等等都能够立刻互相映射,获取数据极其迅速,而且由于清除了冗余的数据,多维数据库非常简单,不仅好用,而且更经济3。
多维数据库增加了一个时间维,与关系数据库相比,它的优势在于可以提高数据处理速度,加快反应时间,提高查询效率。
目前有两种MDD 的OLAP产品:基于多维数据库的MOLAP和基于关系数据库的ROLAP。ROLAP建立了一种新的体系,即星型结构。
MDD并没有公认的多维模型,也没有像关系模型那样标准地取得数据的方法(如SQL、API等)。基于MDD的OLAP产品,依据决策支持的内容使用范围也有很大的不同。
在低端,用户使用基于单用户或小型LAN的工具来观察多维数据。这些工具的功能性和实用性可能相当不错,但由于受到规模的限制,它们不具备OLAP的所有特性。这些工具使用超立方结构,将模型限制在n维形态。当模型足够大且稀疏数据没有控制好时,这种模型将会不堪一击。这些工具使用数据库的大小是以MB来计量的,而不是以GB计量的,因此只能进行只读操作,且具备有限的复杂计算。
在高端,OLAP工具用4GL提供了完善的开发环境、统计分析、时间序列分析、财政报告、用户接口、多层体系结构、图表等许多其他功能。尽管不同的OLAP工具都使用了它们自己的多维数据库,但它们在不同程度上也利用了关系数据库作为存储媒体。因为关系数据库和OLAP工具同时在高端服务器上处理,所以速度和效率仍然很快。
纯多维数据库引擎也被开发出来。尽管这些工具缺乏4GL及充分的开发环境,但却有比高端MDD工具所使用的数据库更为复杂的数据库。这些工具也具有统计分析、财务分析和时间序列分析等功能,并有自己的API,允许其对前端的开发环境开放。
MDD能提供优良的查询性能。存储在MDD中的信息比在关系数据库中的信息具有更详细的索引,可以常驻内存。MDD的信息是以数组形式存放的,所以它可以在不影响索引的情况下更新数据。因此MDD非常适合于读写应用3。
组织方式各公司多维数据库产品的数据组织不完全相同,Arbor公司的ESSbase多维数据库是一种具有代表性的产品,下面以这种组织方式为例,说明从多维数据库或关系数据库中抽取出来、存放在多维数据库的数据组织。
将用于分析的数据从关系数据库或关系数据仓库中抽取出来,存放到多维数据库的超立方结构中。
有一组包含6个维的数据:
销售方式 6成员
产品 1500成员
销售地 100成员
时间 17成员
项目8成员
统计50成员
其中,一些维被称为“稠密维”(dense dimensions),这些维构成了数据存储的“多维体”,其他的维被称为“稀疏维”(sparsedimensions)。
可以将这些“稀疏维”存储在类数据库表结构中,这个表中只记录那些组合存在的数据,并有一个索引指向相应的“多维体”。
在例子中“时间”、“项目”和“统计”是“稠密维”,它们构成了“立方体”;其他的三维产品、销售方式、销售地区是“稀疏维”。
这种多维体是以多维数组方式记录各测量值的,相应各维有一定的记录维及维内层次的元数据结构。这种数据组织方式消除了大量数据库表中由于空穴造成的空间浪费,以及在每个元组中存储的外键信息,它由统一的维与数组的对应系数限定数据,大大减少了存储空间。当使用多维数据库作为数据仓库的基本数据存储形式时,其最主要的特点是:大大减少了以维为基本框架的存储空间,针对多维数据组织的操作算法,极大地提高了多维分析操作的效率。
与关系数据库不同多维数据库是在最近十年内发展起来,其目的是分析数据而不是完成在线事务。多维数据库(MDA)对数据进行建模以作为事实、维度或者数值度量,这些都为做出决策而进行了大量数据的交互分析。这类数据库常见的示例包括InterSystems Cache、ContourCube以及Cognoa PowerPlay。
关系数据库常常需要SELECT……FROM以及其他类型的SQL查询来提供信息,与此不同,多维数据库允许用户以更为口语化的英语来询问问题,例如,“How many type Z dog leashes have been sold in New Jersey so far this year?”为达到此目的可以使用一种在线分析处理(OLAP)的软件,该软件可以迅速地提供出复杂数据库的查询答案。OLAP软件常常使用于销售与市场业务报表、管理报表、趋势分析等类似的领域中。访问多维数据库中数据的OLAP应用软件称为MOLAP(多维OLAP)应用软件。