多维技术在面向学科知识仓库中的使用——以构建多维电子期刊数据库模型为例,本文主要内容关键词为:多维论文,为例论文,仓库论文,学科论文,模型论文,此文献不代表本站观点,内容供学术参考,文章仅供参考阅读下载。
收修改稿日期:2006-02-07
【分类号】TP311
在面向学科的知识组织及信息用户的信息需求中,数据库是一种有效的管理数据、文本、音频、视频等信息的工具。1993年,关系数据库之父E.F.Codd认为,普通的联机事务处理(OLTP)的简单查询功能已不能满足用户对数据高级分析的需求,于是,提出了联机分析处理(OLAP)和多维数据库(Multidimensional Database,MDD)等概念[1]。随着数据库技术的进一步发展,多维数据库被应用到越来越多的领域。在知识仓库的建设中,目前常用的知识管理平台如TRS、TPI、DESI等系统,基本上都是用实体关系型数据库构建的。本文将多维数据库在OLAP中的应用技术进一步细化和开发,以电子期刊数据库为例,构建多维电子期刊数据库模型,并对该模型进行切片(Slice)、切块(Dice)、钻取(Drill-down和Roll-up)、旋转(Pivot)等各种多维分析,认为多维技术可以应用到面向学科知识仓库管理中。
1 维与多维数据库
维(Dimension)是人们观察客观世界的角度,是多维数据库的结构属性。它是类别和描述事实表中数据对象(级别)的有组织的层次。通过把一个实体的多项重要属性定义为多个维,能使用户对不同维上的数据进行比较。
多维数据库可以简单地理解为将数据存放在一个n维数组中,而不是像关系数据库那样以记录的形式存放,因此,它存在大量稀疏矩阵,使人们可以通过多维视图来观察数据。目前,多维数据库技术主要应用在数据仓库、数据挖掘和OLAP中[2]。与关系数据库相比,其优势在于可以提高数据处理速度,加快反应时间,提高查询效率。目前,常见的多维数据库主要有超立方体结构和多立方体结构。
2 电子期刊数据库中的资源联系
某一信息用户在查看某一特定文献时,影响该文献的因素有期刊(文献出处)、作者、关键词、引文、同被引等。具体地说,信息用户在关心该文献的同时,可能还关心该文献作者的其他文献,或者与该文献具有相同关键词的其他文献,甚至是该文献的引文或同被引文献,因此,对于用户来说,他要求数据库也具有像Web中的“超链接”功能一样,提供文献的所有信息集合,整合文献所有资源联系。在中国期刊全文数据库(CNKI)的KNS5.0中,已经出现了期刊导航、跨库检索、引文、同被引等的链接。而ISI的Web of Science,就是基于多种类型文献之间的相互引证、相关参考的关系,建立了多学术资源体系的基于知识管理的开放式链接和整合。在知识仓库建设特别是特色数据库的电子期刊数据库建设中,由于各种文献资源在文献层次、主题与学科相关、引文、引用和同被引、数据挖掘等方面是互相联系的,因此构成了错综复杂的关系。虽然目前实体关系(E-R)型数据模型也可以应用于OLAP中,但通常用在概念层上表示OLAP应用,因此关系数据模型不能完全表示多维数据属性[3]。对于电子期刊库中的各种资源属性,用多维数据库模型来描述更加方便。
3 数据立方体在电子期刊数据库中的使用模型
立方体型的三维数据库是一种在数据仓库中概念化数据的公共模型[4],也是一种最简单的多维数据库模型。数据立方体由“单元”组成。单元是多维数据库的最基本元素或者说是一个成员和每个与多维数据库关联的维度的唯一逻辑交集[5]。
3.1 立方体型电子期刊数据库模型的建立
数据立方体是多维数据库的基本结构,并作为在多维数据库上定义的所有操作符的输出输入基本单位。有人将它定义为一个4元组〈D,M,A,f〉,这4个元分别表示立方体的特征[6]:
(1)n个维的集合D={d[,1],d[,2],…,d[,n]},其中每个di为从域dom[,dim(i)]中抽取的维名。
(2)k个度量值的集合M={m[,1],m[,2],…m[,k]},其中每个mi为从域dom[,measure(i)]中抽取的度量值名。
(3)维名集合与度量值名集合是不相交的,即D∩M=0。
(4)t个属性的集合A={a[,1],a[,2],…a[,t]},其中每个a[,i]为从域dom[,attr(i)]中抽取的属性名。
(5)一对多映射f:D->A,即每个维存在一个对应的属性集合。与不同维对应的属性集互不相交。
简单说来,多维数据库MDD由维D和度量值M组成并作为自己的结构属性,维又有自己的属性集合d[,n],度量值也有自己的属性集合m[,k],每个维又有自己的层次属性,并最终落点于实体的属性a[,t],也即多维数据库中单元的位置由维度成员的交集定义,单元的值由聚合的度量值提供,如图1所示。
为简单起见,本文仅以文献出处(期刊名)、作者、关键词为维,构建一个三维数据立方体模型,用该三维立方体来表示某电子期刊文献的三维数据库。假如每一个维用特定的属性来描述,那么,“文献”立方体A={出处[,i],作者[,i],关键词[,i],文献[,i]},如图2所示。
对于“文献”立方体而言,映射f为:
f(出处)=(文献[,1],文献[,2],…文献[,n])
f(作者)=(作者[,1],作者[,2],…作者[,n])
f(关键词)=(关键词[,1],关键词[,2],…关键词[,n])
3.2 数据立方体结构的基本操作
在这个立方体结构中,无论信息用户想知道某一作者的所有文献及文献出处,还是包含某一关键词的所有文献及文献的作者,都可以通过多维分析很方便地获得。也就是通过对三维形式组织起来的数据进行切片、切块、钻取、旋转,以求剖析数据,使用户能从多个角度、多侧面地观察数据库中的数据,从而深入理解包含在数据中的信息。
图3中的阴影部分就是精确定位到某一作者某一特定关键词的特定文献(作者4、关键词2的特定文献)。
在进行联合检索分析之前,先研究一下“计算单元”。
计算单元——其值是用定义时制定的Multidimensional Expressions(MDX)表达式在运行阶段计算的单元,该表达式可以有条件地应用于指定单元。它由3个元素组成:
(1)计算子多维数据库——用来定义计算单元特性将会在其上起作用的多维数据库的切片的MDX集合表达式。
(2)计算条件——MDX逻辑表达式进一步限制了计算单元特性的应用。
计算子多维数据库和计算单元条件的组合被称为计算作用域。
(3)计算公式——用于计算包含于计算子多维数据库中的单元值的MDX值表达式[5]。通过切片、切块功能,用户可以对数据进行过滤,专注于某一方面的问题,即通过计算单元对数据进行检索,以得到自己想要的资源。例如,利用切片来实现用户检索“作者4”的所有文献,如图4阴影部分所示。利用切块来实现用户检索作者为“作者3和作者4”、关键词为“关键词1和关键词2”的“文献1和文献2”,如图5阴影部分所示。
4 多维数据库的物理实现
可以采用多种途径来实现多维数据库的物理存储,主要包括采用数组、关系数据库或者两者的结合,通常称之为MOLAP、ROLAP和HOLAP。
4.1 基于多维数组物理存储
多维OLAP(MOLAP)严格遵照Codd的定义,自行建立多维数据模型来存放联机分析系统的数据,它以多维数据组织方式为核心,也就是说,多维数据库可使用多维数组存储数据。当利用多维数据库存储数据时,不需要将多维数据模型中的维度、层划分和立方体等概念转换成其他的物理模型,因为多维数组(矩阵)能很好地体现多维数据模型特点。
对图2可以定义一个三维数组矩阵(4,4,4),体现立方体的维(可深化至维的属性层次)。其中,数组中维的个数对应立方体的维数,数组中每一属性取值对应立方体中每一维度的属性个数,而数组的64个交点则对应立方体中的单元格,用来存放数据。
利用数组实现多维数据模型,其优点是能对数据实现快速访问,但同时也会带来存储空间的冗余,即稀疏矩阵问题,进而导致对存储空间的极大需求。在这种情况下,可以通过添加索引来降低存储冗余并采用数据压缩技术降低存储空间。
4.2 基于关系数据的物理存储
基于关系数据库的物理存储主要是通过将多维数据模型转化为星型架构和雪花型架构,然后依据星型架构和雪花型架构的特性将数据存入不同级别不同层次的表中。
(1)星型架构
在星型架构中有一个事实表和未经正规化的维表。事实表有如下特性:
①大量的数据列,存储容量大;
②主要是数值信息,只有少数的文字或者多媒体信息;
③有和维表连接的外关键词;
④静态数据和聚集数据。
维表中的信息是对事实表的相应说明,如关键词、出处、作者等。通过维表将复杂的描述分割成几个小部分,如主关键词和次关键词等,减少对事实表的扫描,实现优化查询。它主要有以下特性:
①记录数较少,可能只有上千或者上万个记录;
②大多为文字资料;
③信息具有层次结构;
④只有一个主键(Primary Key或Dimension Key);
⑤信息可修改。
如果对上述立方体结构进行关系解析,则得到如图6所示的多维关系表。在这个关系表中引入子表列,也就是表中有表,这是多维数据库与二维数据库最大的区别。传统的二维数据库中表的列是不可再细分的,这种列称之为单纯列。与单纯列相对应,子表列类型是对应于同一数据库中某个表的列,所对应的表称为对应表。由多个单纯列或子表列组成的表叫多维表。这样,多维数据库就由多维表和对应表组成[7]。
(2)雪花型架构
雪花型架构是对星型架构的变形,它将星型架构下的维表格经过正规化处理,使其能表现更丰富的信息,也使得信息处理更加灵活。可将图6所示的星型多维架构转化为如图7所示的雪花型架构。
4.3 基于混合多维数组与关系数据库的存储
基于混合多维数组与关系数据库的存储是利用MOLAP存储上层汇总数据,利用ROLAP存储细节数据,即低层是关系型的,高层是多维矩阵型的。这种方式具有更好的灵活性。
5 结语
随着数据仓库、联机分析处理等技术的发展,多维数据库以其支持普遍存在异构的复杂数据的分类、统计、查询等,越来越受到人们的重视。在电子文献数据库的开发特别是各种信息共享及知识管理中,传统的实体关系(E-R)型数据库已无法提供这些数据的数据挖掘,而多维数据库引入了子表列,使表中的列有了结构,因而适应了面向对象数据库以整体方式进行存储、管理、控制等的需要。因此,多维数据库技术在电子文献数据库,特别是面向学科知识管理及知识仓库的开发和使用中,是大有前途的。
标签:立方体论文; 多维数据库论文; 数据立方体论文; 数据库模型论文; 数据库论文; 信息存储论文; 电子期刊论文; 信息架构论文;