CN1508728A - 使用元数据在关系数据库中创建多维数据集的方法和系统 - Google Patents

使用元数据在关系数据库中创建多维数据集的方法和系统 Download PDF

Info

Publication number
CN1508728A
CN1508728A CNA2003101202163A CN200310120216A CN1508728A CN 1508728 A CN1508728 A CN 1508728A CN A2003101202163 A CNA2003101202163 A CN A2003101202163A CN 200310120216 A CN200310120216 A CN 200310120216A CN 1508728 A CN1508728 A CN 1508728A
Authority
CN
China
Prior art keywords
metadata
dimension
cube
metadata object
attribute
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CNA2003101202163A
Other languages
English (en)
Other versions
CN1262958C (zh
Inventor
E
威廉·E·麦洛伊
G
内森·G·克罗斯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN1508728A publication Critical patent/CN1508728A/zh
Application granted granted Critical
Publication of CN1262958C publication Critical patent/CN1262958C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/283Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • Y10S707/99934Query formulation, input preparation, or translation
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • Y10S707/99935Query augmenting and refining, e.g. inexact access

Abstract

公开用于进行查询处理的方法、系统和程序。存储了事实元数据对象的元数据和与事实元数据对象关联的一个或多个维度元数据对象。构建具有事实元数据对象中的一个或多个度量值和一个或多个维度元数据对象中的一个或多个属性的列的视图。生成描述事实和维元数据对象中的列的角色的另外的元数据。还公开了计算机可读的介质,用于存储供程序访问的数据。数据包括多维数据集模型元数据对象,该对象包括事实元数据对象,一个或多个维度元数据对象,描述事实元数据对象中的一个或多个表和一个或多个维度元数据对象中的一个或多个表是如何联接的一个或多个联接元数据对象。数据还包括这样的多维数据集元数据对象,它们代表多维数据集模型元数据对象的子集,并包括具有其中一个事实元数据对象中的一个或多个度量值和一个或多个维度元数据对象的一个或多个属性的列的视图,以及描述事实元数据对象和一个或多个维度元数据对象中的列的角色的文档。

Description

使用元数据在关系数据库中创建多维数据集的方法和系统
技术领域
本发明涉及使用元数据在关系数据库中创建多维数据集。
背景技术
联机分析处理(OLAP)已经变得越来越流行。OLAP分析人员不用审阅打印在绿条纸张上的成堆的静态报告,而可以交互地研究经营成果,动态地调整数据的视图,提出问题,几乎立即可以获得答案。这种免除了按固定的时间表对固定的问题的静态回答的做法可使经营分析人员更有效地操作并影响经营活动中的改善。
Nigel Pendse引入了“FASMI”这一术语来说明OLAP系统的特征。FASMI特征是:快速、分析、共享、多维和信息。有关更深入的信息,请参见N.Pendse,"What Is OLAP?"The OLAPReport,http://www.olapreport.com/fasmi.htm.
至于快速,与OLAP中的“O”的精神一致,这样的系统需要非常快地提供结果,通常在几秒钟之内,很少在20或30秒钟以上。这种性能水平是使分析人员有效地工作而不会分心的关键。
至于分析,考虑OLAP中的“A”,OLAP系统一般提供适合于给定应用程序的丰富的分析功能,需要的编程极少。
至于共享,OLAP系统通常是一种共享资源。这意味着,需要OLAP系统能够提供相应的安全性和完整性功能。最终,这可能意味着在数据库的每一个单元上提供不同的访问控制。
至于多维,多维性是对OLAP系统的主要要求。OLAP产品以多维框架呈现它们的数据。维度是系统的数据值的相关的标识符、或属性(例如,产品、市场、时间、渠道、方案或客户)的集合。属于一个特定维度的标识符(例如,“The Lord of the Rings-DVD”、“San Jose,California”、“2002”、“Retail Rental”和“John Q.Public”)一般具有某种结构,如,层次结构。有时这些标识符有一个以上的自然结构。
多维特征是指,OLAP系统可以在维度的各种方向,以及在维度的各种子集和结构布局之间切换。由于OLAP系统的多维特性,它们实现的数据集合被称为多维数据集。至于信息,OLAP系统存储和计算信息。OLAP系统的数据常常来自一个或多个操作系统。可以将分析模型应用于这些数据,结果可以存储在系统中,或者在查询时生成。一个特定的OLAP系统可以管理的信息量是该系统的一个特征。
多年来,企业使用星形或雪花形架构在关系数据库中存储多维数据。随着时间的推移,关系数据库供应商添加了优化功能,可以提高这些架构上的查询性能。在上个世纪九十年代,开发了许多特殊用途的数据库,它们可以处理计算复杂性变大的情况,性能一般比关系引擎好。
多维OLAP(MOLAP)是指使用特殊用途的文件系统或索引来存储多维数据集数据的OLAP系统家族。Express Web Publisher、Essbase、TMl和Pilot Suite是基于特殊用途的存储和索引技术的产品的一些例子。微软的OLAP产品也包括MOLAP引擎。这些系统常常是只读系统,定期向这些系统中加载基本数据,然后,计算、存储和索引派生结果。MOLAP系统的可伸缩性常常受到在其中计算和存储派生结果的批窗口的大小的限制。为改善可伸缩性,这样的系统常常具有将一些派生结果的计算延期到查询时间的手段。
对于关系OLAP(ROLAP),多年来一直使用星形架构作为表示关系数据库中的多维数据的手段。许多商业软件开发公司,如MicroStrategy、Brio、Business Objects、Metacube、Hyperion和Metaphor为关系星形架构开发了批或交互多维报告和浏览接口。这些系统都是在超级聚合操作符被添加到SQL语言定义之前设计和实现的。
具体来说,直到几年前,关系数据库才允许每个查询只在单个级别计算聚合。例如,将使用带有GROUP BY子句的一个SELECT语句在季度级别(即,对于一组季度)检索结果集,而使用带有GROUP BY子句的另一个SELECT语句在月级别(即,对于一组月)检索结果集。这就强制关系OLAP系统针对数据库运行多个查询以便在不同的级别计算单元。
为促进OLAP型的查询创建,并提供更先进的优化,IBM公司出产的DB2关系数据库管理系统(RDBMS)实现了三个新的超级聚合操作符(ROLLUP、CUBE和GROUPING SETS),并将它们添加到SQL标准中,以允许单一查询生成多个聚合。这些超级聚合操作符是对GROUP BY子句的扩展,并指定聚合在多个级别生成。例如,可以使用一个SELECT语句在多个级别(例如,季度和月)的聚合的计算的结果集。
需要注意的是,这些超级聚合操作符不仅仅是生成多个分组集的简化形式。由于在单个语句中请求多个分组集,RDBMS 110可以构建一个执行计划,该计划以这样的方式生成所有分组集,以便计算所需要的每一个输入行都只引用一次。这可以导致几个数量级的性能改善,特别是当输入行集不能容纳到缓冲池(即,高速缓存)时。
现有技术系统用于产生多维报告,显示通过发出多个查询而产生的具有不同级别的粒度的结果。多个查询可以获得多个结果集,然后合并结果集以形成一个单一的报告。这样的系统取决于星形架构中的表和列的角色的一些描述(元数据),以便生成必要的SQL以检索数据,从而产生多维报告。准确的元数据在不同的产品之间有差异。
多维联机分析处理(OLAP)系统(例如,Essbase、Cognos和Microsoft推出的)用于当给出多维数据集的每一个边的成员集时自然地返回多维结果集。多维OLAP系统还用于在任何查询的前面计算一些或者所有结果。
自从引入关系数据库以来,已经使用SQL进行多维分析,但是关系OLAP系统没有能够自然地返回多维结果集或在查询前面计算一些或者所有结果。
因此,需要一种改善的关系OLAP系统。
发明内容
提供了用于进行查询处理的方法、系统和程序。存储了事实元数据对象的元数据和与事实元数据对象关联的一个或多个维度元数据对象。构建了具有事实元数据对象中的一个或多个度量值和一个或多个维度元数据对象中的一个或多个属性的列的视图。生成描述事实和维度元数据对象中的列的角色的另外的元数据。
还提供了计算机可读的介质,用于存储供程序访问的数据。计算机可读的介质中存储的数据结构包括供程序使用的数据。数据包括多维数据集模型元数据对象,该对象包括事实元数据对象,一个或多个维度元数据对象,描述事实元数据对象中的一个或多个表和一个或多个维度元数据对象中的一个或多个表是如何连接的一个或多个连接元数据对象。数据还包括这样的多维数据集元数据对象,它们代表多维数据集模型元数据对象的子集,并包括具有其中一个事实元数据对象中的一个或多个度量值和一个或多个维度元数据对象的一个或多个属性的列的视图,以及描述事实元数据对象和一个或多个维度元数据对象中的列的角色的文档。
所描述的本发明的实施方式提供了用于创建和描述关系数据库中的视图的方法、系统和程序,以使结果视图的行为类似于多维数据库。
附图说明
现在请参看附图,在附图中,类似的引用号表示对应的部分:
图1以方框图说明了根据本发明的某些实施方式的计算环境。
图2说明了根据本发明的某些实施方式的事实元数据对象和度量值元数据对象与关系数据的关系。
图3说明了根据本发明的某些实施方式的星形-联接架构的示例。
图4说明了根据本发明的某些实施方式从关系表构建维度元数据对象。
图5说明了根据本发明的某些实施方式元数据对象在多维数据集模型中组合在一起并映射到关系表的关系星形架构。
图6说明了根据本发明的某些实施方式概念元数据对象分类为三层。
图7说明了根据本发明的某些实施方式创建对应于基本/关系层的元数据对象。
图8说明了根据本发明的某些实施方式从基本/关系层构建的另外的元数据对象。
图9说明了根据本发明的某些实施方式基于星形-联接架构创建的多维层元数据对象。
图10说明了根据本发明的某些实施方式用于定义多维数据集的元数据对象的实例。
图11说明了根据本发明的某些实施方式在联机分析处理(OLAP)层中创建了每一个元数据对象的一个实例。
图12说明了根据本发明的某些实施方式的一种平衡的层次结构的示例。
图13说明了根据本发明的某些实施方式的一种失衡的层次结构的示例。
图14说明了根据本发明的某些实施方式的不规则的层次结构。
图15说明了根据本发明的某些实施方式的网络层次结构。
图16说明了根据本发明的某些实施方式的一些元数据对象之间的一些关系。
图17说明了根据本发明的某些实施方式的由两个维度表和事实表组成的星形架构。
图18A-18E说明了根据本发明的某些实施方式可以为星形架构生成的可能的元数据对象实例集和元数据对象的一些属性。
图19说明了根据本发明的某些实施方式的简单的三维联机分析处理(OLAP)多维数据集。
图20说明了根据本发明的某些实施方式的对于基于网格的联机分析处理(OLAP)查看器(查询处理器)典型的示例多维数据集的视图。
图21说明了根据本发明的某些实施方式的星形架构的简单示例。
图22说明了根据本发明的某些实施方式自动摘要表如何缩短查询时间的示例。
图23说明了根据本发明的某些实施方式基于星形架构创建的多维数据集模型。
图24说明了根据本发明的某些实施方式的元数据对象和这些对象之间的关系。
图25说明了根据本发明的某些实施方式的销售多维数据集。
图26说明了根据本发明的某些实施方式为生成多维数据集视图而实现的逻辑。
图27说明了根据本发明的某些实施方式的多维数据集视图的格式示例。
图28说明了根据本发明的某些实施方式的多维数据集视图的格式示例的更多细节。
图29说明了根据本发明的某些实施方式的计算机系统的体系结构的一个实施方式。
具体实施方式
在下面的描述中,参考了构成了本发明的组成部分的并说明了本发明的多个实施方式的附图,应该理解,也可以利用其他实施方式,在不偏离本发明的范围的情况下,可以进行结构和操作更改。
A. 多维元数据介绍
在某些实施方式中,本发明提供了多维元数据对象和使用多维元数据对象的技术。为便于参考,本发明在这里将被称为“OLAP多维元数据系统”,多维元数据对象将被称为“元数据对象”。
在某些实施方式中,在IBM公司出产的DB2通用数据库(UDB)RDBMS中实现了OLAP多维元数据系统100。虽然本说明书描述了IBM的DB2UDB RDBMS软件的使用,那些精通本技术的人将认识到,本发明可以使用其他RDBMS软件,如Oracle、Informix、Sybase出产的RDBMS软件。此外,本发明可以在使用各种操作系统的计算机上运行,如IBM z/OS、IBM AIX、Microsoft Windows 2000、Microsoft Windows XP、Linux、Solaris、HP-UX。
图1以方框图说明了根据本发明的某些实施方式的计算环境。关系数据库管理系统(RDBMS)110包括多维元数据软件120(例如,存储过程应用程序编程接口(API))和用户界面150。RDBMS110访问多维元数据对象130和关系数据库140。在某些实施方式中,多维元数据对象130中的数据和关系数据库140可以存储在单个数据库中。
OLAP多维元数据系统100包括多维元数据软件120(例如,存储过程应用程序编程接口(API))、用户界面150和多维元数据对象130。多维元数据软件120用于创建、存储和访问多维元数据对象130。可选地,可以为用户或管理员提供用户界面150,以便向多维元数据软件120发送命令。用户可以通过用户界面150提交命令,从而创建、访问、修改或删除多维元数据对象130。多维元数据软件120接收和处理命令。例如,多维元数据软件120可以创建和存储多维元数据对象130。
在某些实施方式中,OLAP多维元数据系统100为RDBMS110提供了附加功能,如DB2通用数据库(这里简称为DB2UDB),以便改善RDBMS 110执行OLAP处理的能力。本发明简化了OLAP解决方案的部署和管理,并改善了OLAP工具和应用程序的性能。
具体来说,OLAP多维元数据系统100提供了元数据对象。新的元数据对象存储在,例如,描述现有的关系数据的维度模型和OLAP结构的数据库目录(例如,DB2UDB目录)。数据库目录提供了一个单一的知识库,从该知识库中OLAP应用程序可以捕获多维元数据。在某些实施方式中,元数据对象可以驻留在数据库目录之外的数据存储区中,也可以跨多个数据存储区驻留。利用中心知识库中的信息,数据库优化器能够使用星形架构特定的技术来优化查询的执行。
利用元数据对象,本发明可以通过将摘要表中的数据聚合并创建索引来优化OLAP查询性能。OLAP多维元数据系统100还提供了元数据编程接口。具体来说,OLAP多维元数据系统100为OLAP工具和应用程序开发人员提供了基于SQL和可扩展标记语言(XML)的应用程序编程接口(API)。XML是万维网联合会(W3C)定义的文本格式,有关XML的更多细节可以在2000年10月6日发布的“可扩展标记语言(XML)1.0(第二版)W3C推荐标准”中找到,其网址是:http://www.w3.org/TR/REC-xml。通过CLI、ODBC或JDBC连接或者通过使用到DB2 UDB的嵌入式SQL,应用程序和工具可以使用单一的存储过程(即,多维元数据软件120的示例)创建、修改和检索元数据对象。在某些实施方式中,多个存储过程可以提供用于创建、修改和检索元数据对象的功能。
OLAP多维元数据系统100元数据对象作为智能OLAP结构描述了关系信息,但本发明提供的多维元数据对象不同于传统的OLAP对象。本发明的元数据对象存储元数据,意思是说,元数据对象存储有关基表中的数据的信息。元数据对象描述有关数据位于何处,还可以描述基本数据内的关系。例如,事实元数据对象是存储有关相关度量值、属性和联接的信息,但不包括专门来自基本事实表的数据的特定的元数据对象。
元数据提供了新的透视图,从中可以了解数据。若没有元数据对象,数据库目录只知道有关表和列名的情况,而无法存储有关表和列的含义的或者表和列彼此之间的关系的信息。利用元数据对象,就可以存储此信息。
每一个元数据对象都完成一段大的图像,显示关系数据是什么意思。一些元数据对象通过聚合数据或直接对应于关系表中的特定列来充当直接访问关系数据的基。其他元数据对象描述基元数据对象之间的关系,并将这些基元数据对象链接在一起。最终,所有元数据对象都可以按照彼此之间的关系组合在一起,成为叫做“多维数据集模型”的元数据对象。多维数据集模型代表关系表的特定分组和配置。多维数据集模型的用途是描述对于给定应用程序或工具的OLAP结构。多维数据集模型倾向于描述不同的用户为正在分析的数据可能需要的所有多维数据集。多维数据集模型组合维度和事实,并为维度提供多个层次结构的灵活性。多维数据集模型传达在星形架构数据库上生成复杂的查询的查询设计工具和应用程序所需要的结构信息。
多维元数据对象模型用于描述关系数据库中代表多维数据所使用的架构。组织这样的数据的一种方式是通过使用星形或雪花形架构(在雪花形架构中,维度表是规范化的)。然而,模型足够灵活,可以处理任何类型的架构(例如,更多规范化的架构)。
A.1 多维元数据概述
多维元数据允许维护有关存储在数据仓库中的OLAP结构的元数据。以前数据库目录中没有此信息,没有经常被数据仓库元数据知识库记录。多维元数据帮助数据仓库设计人员表示表和它们的列之间的结构关系。一旦数据库目录中有了此元数据,RDBMS 110的其他组件,如数据库优化器(例如,DB2 UDB优化器),可以利用结构信息,并对这些新OLAP元数据对象描述的数据更快地执行查询。元数据对象还可以通过提供针对数据仓库生成多维查询所需要的基本结构信息来协助商业智力工具。为了捕获OLAP结构信息,OLAP多维元数据系统100定义了多个新元数据对象。这些元数据对象能够描述对OLAP数据建模经常使用的架构的关键方面,如星形-联接和雪花形架构。
向数据库目录添加元数据对象这一做法提供了完全的功能和与其他数据库组件的集成。新的元数据对象由架构所拥有,如同常规表一样。元数据对象的另一个设计点是它们中的大多数都具有独立的作用。即,元数据对象提供有关基础关系架构,以及元数据对象是否包括在更复杂的多维结构中的信息。
多维数据集模型可以以许多方式来构建,但常常构建为表示关系星形架构或雪花形架构。基于简单的星形架构的多维数据集模型是围绕一个中心事实元数据对象构建的,该对象描述了从事实表聚合的关系数据。度量值元数据对象描述了关系表中的列的数据计算,并连接在一起以创建事实元数据对象。图2说明了根据本发明的某些实施方式的事实元数据对象210和度量值元数据对象220、230与关系数据250的关系。
维度元数据对象连接到多维数据集模型中的事实元数据对象,正象维度表连接到星形架构中的事实表那样。关系表中的数据的列由连接在一起组成维度元数据对象的属性元数据对象表示。
图3说明了根据本发明的某些实施方式的星形-联接架构的示例。星形-联接架构具有连接到中心销售事实表300的时间310、产品320和区域330维度表。为关系表中的相关的维度和事实表300、310、320、330列创建了属性。每一个维度表310、320、330都具有维度键属性,如TimeID、ProductID或RegionID。区域维度表330还具有City和City_Population属性,以及名为CityPop AR的属性关系。属性关系表示了City属性中的每个值确定City_Population属性中的对应值的功能相关性。在事实表内,Sales和Costs以及三个维度键属性TimeID、ProductID和RegionID有两个度量值。
三个联接将每个维度表310、320、330连接到对应的维度键属性上的中心事实表300。在此示例中,维度表310、320、330基于TimeID、ProductID或RegionID属性连接到事实表300。
图4说明了根据本发明的某些实施方式从关系表450构建维度元数据对象406、410。例如,在元数据对象x之间,维度元数据对象406建立在属性元数据对象408上,属性元数据对象408连接到关系表中的属性452。维度元数据对象410建立在属性元数据对象412、414和联接元数据对象416上。属性元数据对象连接到关系表450中的属性454和456。
层次结构存储有关一个维度内属性彼此之间的关系和结构的信息。作为元数据对象,层次结构提供了计算和导航一个维度的途径。每个维度都具有对应的层次结构,该层次结构上带有为每个成员属性定义的级别。例如,Region维度具有一个RegionH层次结构,上面带有为State和City属性定义的级别,该维度还引用CityPopAR属性关系。在多维数据集模型中,每个维度都可以具有多个层次结构,但星形架构示例为每个维度定义了一个层次结构。
在星形架构中,所有维度元数据对象都以星的形状连接到中心事实元数据对象,以创建多维数据集模型。联接元数据对象可以连接表,以创建事实元数据对象或维度元数据对象。元数据联接还可以通过将事实元数据对象连接到维度元数据对象而充当多维数据集模型内的胶。维度元数据对象具有有关它们的所有组件层次结构、属性、属性关系和相关的联接的信息。事实元数据对象具有有关它们的所有组件度量值、属性、属性关系和相关的联接的信息。
图5说明了根据本发明的某些实施方式元数据对象500在多维数据集模型中组合在一起并映射到关系表550的关系星形架构。多维数据集模型元数据对象510建立在维度元数据对象512、514,联接元数据对象516 518和事实元数据对象520上。
多维数据集模型元数据对象是灵活的元数据对象,其组件可以重复使用,以为特定的应用程序创建比较准确的多维数据集元数据对象。例如,多维数据集模型元数据对象可以具有37个事实,但从多维数据集模型元数据对象生成的一个多维数据集元数据对象可以消除一个或多个维度元数据对象,一个或多个级别的维度元数据对象,和/或一个或多个度量值元数据对象。
除多维数据集模型元数据对象之外,还有比较特定的元数据对象,叫做多维数据集元数据对象。多维数据集元数据对象是与OLAP概念多维数据集最接近的元数据对象。多维数据集元数据对象是多维数据集模型元数据对象的特定的实例或子集。多维数据集元数据对象具有特定的从父多维数据集模型元数据对象派生的类似的但限制性比较强的元数据对象集,包括:多维数据集维度、多维数据集层次结构和多维数据集事实。例如,RegionCubeDim是一个多维数据集维度,又是从Region维度派生的属性的子集。RegionCubeDim引用State和City属性,但不引用City_Population属性或CityPop AR属性关系。RegionCubeDim引用了确定了其范围的Region维度以及所有结构信息,包括联接信息,并与多维数据集模型Region维度在一起。
在某些实施方式中,多维数据集元数据对象为多维数据集维度定义了一个多维数据集层次结构,而维度元数据对象可以为多维数据集模型元数据对象定义许多层次结构。多维数据集元数据对象和多维数据集模型元数据对象之间的这种结构差异允许用单一的SQL语句检索多维数据集元数据对象。
图6说明了根据本发明的某些实施方式概念元数据对象分类为三层。这些层是基本/关系层600、多维层610和OLAP层620。基本/关系层600向其他元数据对象提供了基础结构并封装了关系数据库的概念。多维层610包括元数据对象,这些元数据对象引用基本/关系层600中的元数据对象,以通过关系数据库提供多维抽象。OLAP层620包含表示OLAP结构的高级别的元数据对象。通过组合来自其他层的元数据对象,OLAP层620给OLAP多维数据集提供了不同的复杂性。
为更好地理解本发明,提供了一个示例。该示例基于数据集市中使用的常用结构—星形-联接架构。对于星形联接架构,基于基本/关系层、多维层和OLAP层创建元数据对象的实例。图3说明了根据本发明的某些实施方式的简单星形-联接架构,该架构由事实表300、事实和三维表Time 310、Product 320和Region 340构成。
现有的数据库目录通常存储表和列名。有关这些表和列担任什么角色,以及表和列彼此之间的关系的信息丢失。然而,利用OLAP多维元数据系统100,此信息通过创建元数据对象而捕获。
图7说明了根据本发明的某些实施方式创建对应于基本/关系层的元数据对象700。为联接中使用所有维度表列和事实表列创建了属性。为事实表中的每个事实列创建了一个度量值元数据对象。此星形-联接架构中使用的联接由三个联接元数据对象来捕获。联接元数据对象指定如何连接事实表和维度表的对应的属性。在Region维度表中创建了一个属性关系,以表示City和City_Population之间的关系,以及City属性中的每个值确定City_Population属性中的值这样的事实。
图8说明了根据本发明的某些实施方式从基本关系层构建的另外的元数据对象。创建了三个层次结构800、810、820,表示相关的属性之间的关系。这些层次结构800、810、820在多维层中被维度使用,以便创建计算和导航维度的手段。在RegionH层次结构820中,引用了CityPop AR属性关系。应用于一个给定层次结构的所有属性关系都被捕获。为每个层次结构创建了一个多维数据集层次结构850、860、870,以便在多维数据集上下文中使用。多维数据集层次结构850、860、870用于确定与一个给定多维数据集有关的层次结构的级别范围。多维数据集层次结构850、860、870还捕获应用于它的属性关系。
图9说明了根据本发明的某些实施方式基于星形-联接架构创建的多维层元数据对象。为事实表Fact创建了一个事实元数据对象900。SalesFacts元数据对象900包括可用的度量值和事实到维度联接中所需要的属性。为每个维度表创建了一个维度元数据对象910、920、930,它们是星形-联接架构的一部分。维度元数据对象组合了来自此示例中的单一的维度表的高度关联的属性。维度元数据对象还引用在一个维度的属性上应用的层次结构。维度可以定义多个层次结构,然而,在该示例中,为每个维度只定义了一个层次结构。
图10说明了根据本发明的某些实施方式用于定义多维数据集的元数据对象的实例1000、1010、1020、1030。多维数据集事实、多维数据集维度和多维数据集层次结构元数据对象用于确定属性和度量值(它们是多维数据集的一部分)的范围。这些元数据对象中的每一个都引用正在被确定范围的元数据对象,以及所有结构信息,如联接,并保留在主(即,父)元数据对象中。所有多维数据集特定的对象都持有一个到主对象的引用,在主对象中对它们进行了定义。例如,多维数据集层次结构元数据对象具有到层次结构元数据对象的引用,在层次结构元数据对象中对多维数据集层次结构元数据对象进行了定义。在某些实施方式中,为多维数据集维度指派了一个层次结构。在该示例中,创建了多维数据集事实SalesCubeFacts 1000,并列出了在该多维数据集中使用的度量值(Sales)。
OLAP层由多维数据集模型和多维数据集元数据对象构成。多维数据集模型元数据对象描述了与给定应用程序有关的事实和维度。多维数据集模型元数据对象的维度可以定义多个层次结构,这使得多维数据集模型元数据对象成为一个非常灵活的结构。多维数据集元数据对象是由多维数据集模型元数据对象派生而来的,因此,所有多维数据集维度、多维数据集层次结构和多维数据集事实元数据对象都由多维数据集模型元数据对象派生而来。多维数据集模型元数据对象和多维数据集元数据对象之间的差异在于,在多维数据集元数据对象中,为每个维度定义一个层次结构,从而可以用单一的SQL语句检索多维数据集元数据对象。
图11说明了根据本发明的某些实施方式在OLAP层中创建了每一个元数据对象的一个实例。该示例中创建的多维数据集模型捕获从图3的示例星形-联接架构生成的一个可能的多维数据集模型1100。多维数据集1150是基于多维数据集维度TimeCubeDim、ProductCubeDim、RegionCubeDim和多维数据集事实SalesCubeFacts创建的。
A.2 元数据对象属性
除元数据对象特定的属性之外,每一个元数据对象都具有一组常规属性。常规属性用于标识元数据对象实例、描述元数据对象实例的使用或角色,跟踪元数据对象实例更改。在某些实施方式中,元数据对象是使用架构来命名的,命名方式与其他数据库元数据对象的命名方式相同。当不要求默认用户名时,可能需要元数据对象的完全限定。
表1描述了所有元数据对象的常规属性。
表1
属性 描述
名称 元数据对象的名称。
架构 拥有该元数据对象的架构。
公司名称 呈现给最终用户的名称。此名称可以作为对最终用户比较有意义的名称在图形用户界面中使用。
注释 有关元数据对象的特性或使用的文本描述或注释。
创建时间 创建元数据对象时的时间。
创建者 定义该元数据对象的用户(架构)。
修改时间 上次修改元数据对象时的时间。
修改者 执行了修改的用户(架构)。
除所有元数据对象共享的公用常规属性集之外,每一个元数据对象都具有一组元数据对象特定的属性。这些元数据对象特定的属性描述了定义元数据对象的组件和质量。
多维数据集模型是逻辑星形架构的一个表示。多维数据集模型是一组围绕中心事实元数据对象的相关的维度元数据对象。每个维度都可以具有多个层次结构,从而提高了多维数据集模型的灵活性。有关如何连接事实所使用的表和维度元数据对象的结构信息存储在多维数据集模型中。多维数据集模型中还存储了用于检索OLAP数据的足够的信息。理解多维数据集模型并可以处理特定维度的多个层次结构的其他报告和OLAP工具可以受益于多维数据集模型的使用。
多维数据集模型定义了复杂的关系集,并可用于有选择地向应用程序暴露相关的事实和维度。连接维度与中心事实元数据对象的每个联接元数据对象都作为一组与对应的维度一起存储。多维数据集模型组件的子集可以由许多多维数据集用于不同的分析目的。
可以创建一个空的没有事实元数据对象或任何维度的多维数据集模型。然而,多维数据集模型在创建对应的多维数据集之前完成。OLAP多维元数据系统100是这样对多维数据集模型进行验证的:确保多维数据集模型包括事实元数据对象、至少一个维度,以及现有的事实和维度之间的联接,而且所有属性都引用有效的表。没有层次结构也可认为多维数据集模型是完整的,然而,为能够从多维数据集模型定义多维数据集,至少应为每个维度定义一个层次结构。
每个元数据对象都具有一组元数据对象特定的属性,这些属性描述了定义元数据对象的组件和质量。表2描述了多维数据集模型的元数据对象特定的属性。
表2
   属性   描述
   事实   多维数据集模型中使用的事实。
   (维度、联接)集   在多维数据集模型中使用的维度以及它们对应的联接。
事实元数据对象组合了涉及给定应用程序的相关的度量值。多个关系事实表可以在特定的属性上连接,以映射另外的相关度量值。事实元数据对象存储了有关在事实到维度联接中使用的属性以及用于跨多个数据库表映射另外的度量值的属性和联接的信息。因此,除一组度量值之外,事实元数据对象还存储了一组属性和一组联接。事实元数据对象在多维数据集模型中作为星形架构的中心使用。
事实元数据对象在星形架构中担任事实表的角色。正象事实表那样,事实元数据对象收集数据库目录中以度量值表示的度量实体。这些不必来自相同的表,从而允许设计人员按任何OLAP应用程序的需要组合度量值。
表3描述了事实元数据对象的元数据对象特定的属性。
表3
  属性   描述
  度量值集   事实元数据对象中的所有相关度量值集。
  属性集   事实元数据对象中使用的所有属性集。
  联接集   连接所有指定的度量值和属性所需要的所有联接集。
维度元数据对象在星形架构中担任维度表的角色。维度组合相关的属性,这些属性一起描述了一个或多个度量值的某些方面。因此,维度元数据对象提供了一个将一起描述度量值的一个方面的一组相关属性分类的途径。在多维数据集模型中使用维度来根据诸如Region、Product或Time之类的逻辑类别来组织事实元数据对象中的数据。相关的属性和将这些属性组合在一起所需要的联接在维度的元数据对象特定的属性中进行定义。
维度引用一个或多个层次结构。层次结构描述了维度属性的关系和结构,并可用于驱动维度的导航和计算。
维度还具有一个描述维度是否是面向时间的类型。例如,一个叫做Time的维度可以包含诸如Year、Quarter和Month之类的属性,该维度就是时间类型的。另一个叫做Region的维度可以包含诸如Country、State、City和Population之类的属性,该维度就是一个常规类型。类型信息可以被应用程序用来智能化地并适当地执行与时间相关的功能。
下面的表4描述了维度元数据对象的元数据对象特定的属性。
表4
  属性     描述
  属性集     维度中使用的所有属性集。
  联接集     连接所有指定的属性所需要的所有联接集。在这里指定连接维度表所需要的联接。
  层次结构集     应用于该维度的层次结构集。
  类型[常规,时间]     维度类型。
层次结构定义了一个多维数据集模型的一个给定维度内的一组一个或多个属性之间的关系。通过定义这些关系,提供了遍历一个给定维度的导航和计算手段。可以为一个多维数据集模型的一个维度定义多个层次结构。层次结构元数据对象还引用将层次结构中属性链接到其他相关的属性的一组属性关系。可以作为层次结构的一部分查询由一个属性关系直接关联起来的属性。例如,Region维度的一个层次结构可以具有City属性,属性关系可以将City链接到City_Population属性。此层次结构可以在包括City的查询中包括City_Population信息。
层次结构描述了属性之间的父子关系。此信息被维度引用,以表示如何浏览维度成员,以及如何聚合维度中的数据。
层次结构类型描述了层次结构内的属性之间的关系。支持下面四个层次结构类型:平衡、失衡、不规则,以及网络。
图12说明了根据本发明的某些实施方式的一种平衡的层次结构1200的示例。平衡的层次结构是这样的层次结构:带有有意义的级别和具有一致的深度的分支。每个属性的逻辑父位于它的紧上方的级别。平衡的层次结构1200表示诸如Year 1210、Quarter 1220和Month 1230之类的每个级别的意义和深度一致的时间。
图13说明了根据本发明的某些实施方式的一种失衡的层次结构1300的示例。失衡的层次结构是这样的层次结构:其级别具有一致的父子关系,但对一个特定级别中的所有成员具有不一致的语义意义。此外,层次结构分支也具有不一致的深度。失衡的层次结构可以表示组织图。例如,失衡的层次结构1300显示了一个在层次结构的最高级别上的CEO,至少有两个人可以在下面分叉,包括首席运营官和执行秘书。首席运营官下面有很多人,但执行秘书没有。在CEO和所有向CEO汇报的人之间有一致的父子关系。然而,CEO紧下面的级别的语义意义不一致,因为该级别中有不同的雇员类型。
不规则的层次结构是这样的层次结构:在该层次结构中,每个级别都具有一致的意义,但分支具有不一致的深度,因为分支级别中的至少一个成员属性为空白。不规则的层次结构可以表示一个地理层次结构,其中,诸如城市或国家之类的每个级别的意义一致地使用,但层次结构的深度不同。图14说明了根据本发明的某些实施方式的不规则的层次结构1400。不规则的层次结构1400显示了定义了Continent、Country、Province/State和City级别的地理层次结构。一个分支具有北美作为Continent,美国作为Country,加利福尼亚作为Province/State,旧金山作为City。然而,当一个成员在所有级别都没有项目时,层次结构1400变得不规则。例如,另一个分支具有欧洲作为Continent,希腊作为Country,雅典作为City,但在Province/State级别没有项目,因为此级别不适用于希腊。在此示例中,希腊和美国分支下降到不同的深度,从而形成了不规则的层次结构1400。
网络层次结构是这样的层次结构:其中,没有指定级别的顺序,但级别确实具有语义意义。图15说明了根据本发明的某些实施方式的描述了诸如Color、Size和PackageType之类的产品属性的网络层次结构1500。由于属性级别没有固有的父子关系,因此级别的顺序可能不同。一家小配件公司可能具有诸如Color为白色,Size为小,PackageType为收缩包装的成员项目。第二成员项目Color可能为红色、Size为大,PackageType为盒子。
一个层次结构(平衡、失衡、不规则或网络)还为该层次结构指定部署机制。部署机制定义了如何解释一个层次结构的属性。支持下面两个部署机制:标准和递归。
标准部署机制使用层次结构的级别定义,其中,层次结构中的每个属性都定义一个级别。例如,Time维度的平衡的层次结构将被每个定义的级别(包括Year、Quarter和Month)组织。标准部署可以和所有四个层次结构类型一起使用。表5显示了如何使用标准部署组织Time维度的一些平衡的层次结构属性。
表5
    年     季度     月
    2001     第一季度     一月
    2001     第一季度     二月
    2001     第一季度     三月
    2002     第一季度     一月
    2002     第一季度     二月
    2002     第一季度     三月
递归部署机制使用层次结构的属性之间的固有的父子关系。使用递归部署的失衡的层次结构是作为父子属性对来表示的。例如,表6显示了描述图13所示的组织图的失衡的层次结构的属性对。父子属性对包括:首席执行官和执行秘书,首席执行官和首席运营官,首席运营官和通信主任,通信主任和通信专家。递归部署可以与失衡的层次结构一起使用。
表6
    父属性     子属性
    首席执行官     执行秘书
    首席执行官     首席运营官
    首席运营官     通信主任
    通信主任     通信专家
下面的表7描述了一个层次结构元数据对象的元数据对象特定的属性。
表7
    属性   描述
    属性列表   从层次结构的顶端到底部的属性的有序列表。在递归层次结构的情况下,两个属性被用作父与子。
    属性关系集   将层次结构属性链接到其他属性的所有属性关系集。
    类型[平衡、失衡、不规则、网络]   层次结构类型。
    部署[标准、递归]   层次结构部署。
度量值元数据对象定义了度量实体,并在事实元数据对象中使用。度量值在维度的上下文内有意义。例如,收入300本身没有意义。当收入度量值被放进诸如Region之类的维度的上下文中时,该度量值才有意义。例如,Vermont的收入为300。度量值元数据对象的常见的示例是Revenue、Cost和Profit。
度量值对象使度量实体的存在变得明确。度量值是由一个或多个SQL表达式定义的,该表达式可以简单得象一个到表列的映射,也可以涉及多个列及其他度量值或属性。对于每个度量值,为多维数据集模型、或多维数据集的上下文中的计算定义了一个聚合列表。该列表中每个聚合都指定了诸如SUM、COUNT、MIN、MAX之类的聚合函数,以及在其中应用了聚合函数的维度列表。聚合中的空维度列表表示将使用度量值中非显式引用的所有剩余维度。当使用的第一个聚合函数需要一个以上的输入(如CORRELATION)时,一个度量值将具有一个以上的SQL表达式模板。当一个度量值具有单一的SQL表达式模板,并且它只引用其他度量值时,该度量值可以具有空聚合列表。在此情况下,将发生引用的度量值的聚合。度量值和属性共享相同的名称空间,意思是说,由架构完全限定的名称必须在度量值和属性之中是唯一的。度量值的常见的示例是Sales、Costs和Prforit等等。
度量值是由SQL表达式的聚合来进行定义的。表列、属性和度量值被映射到一个模板以构建SQL表达式(即,“SQL表达式模板”)。然后,将结果SQL表达式用作度量值的第一个聚合函数的输入。如果一个度量值具有一个以上的聚合,则聚合函数按列出它们的顺序来执行,每个随后的聚合取前一聚合的结果作为其输入。如果度量值元数据对象的SQL表达式只引用其他度量值,那么聚合函数是可选的。聚合函数是可选的,因为被引用的度量值提供聚合。
一个度量值的SQL表达式是由两个属性的组合创建的:一个模板和列、属性和度量值的列表。模板使用令牌表示法,其中{$$n}是令牌,n引用列表中的特定的列、属性或度量值。列、属性和度量值的列表是有序的,列、属性或度量值在列表中的位置对应于令牌n值。
SQL表达式被用作第一个聚合的输入。每个聚合指定一个应用于对应的维度列表的函数。数据库所支持的任何聚合函数,包括SUM、COUNT、MIN、MAX和CORRELATION。在某些实施方式中,每个维度都由度量值元数据对象聚合一次。如果维度列表是空的,则聚合函数应用于多维数据集或多维数据集模型中的不专门由该列表中的另一个聚合使用的所有维度。
一个简单的度量值的示例是Revenue。可以用三个维度对于一个多维数据集模型创建Revenue度量值:Product、Market和Time。Revenue具有一个SQL表达式模板(template="{$$1}"),该模板表示到列、属性和度量值的一个项目列表中指定的列的简单映射,其中list="Column Fact.Rev"。聚合列表是(SUM,<NULL>),其中SUM是聚合函数,<NULL>是空维度列表。SQL表达式被用作SUM聚合函数的输入,从而产生SQL:SUM(Fact.Rev)。
一个更复杂的度量值Profit可能具有一个SQL表达式模板(template="{$$1}-{$$2}"),其中属性、列和度量值的列表是list="Measure Revenue,Column Fact.Cost"。用正确的引用替换令牌,SQL表达式变成:"Revenue-Fact.Cost"。将Revenue度量值引用扩展到其列引用,SQL表达式变成:"Fact.Rev-Fact.Cost"。Profit度量值的聚合列表是:(SUM,<NULL>)。使用Profit SQL表达式作为SUM聚合函数的输入,Profit度量值的SQL是:
SUM(Fact.Rev-Fact.Cost).
如果度量值具有需要两个或更多参数的聚合函数(如CORRELATION),则度量值将具有两个或更多SQL表达式。
度量值还具有基于SQL数据类型的数据类型。OLAP多维元数据系统100自动确定一个度量值的数据类型。此外,度量值和属性共享相同的名称空间。因此,由架构完全限定的名称必须在度量值和属性之中是唯一的。下面的表8描述了一个度量值元数据对象的元数据对象特定的属性。
表8
  属性   描述
  SQL表达式模板列表   用作度量值的第一个聚合函数的输入的SQL表达式模板的列表。模板通过使用′{$$n}′表示法来引用列、属性和度量值。在模板中,n是对应于列、属性和度量值列表的序号。
  列、属性和度量值列表   对于每个SQL表达式模板,提供列、属性和度量值的有序列表。这些列、属性和度量值按SQL表达式模板指定的方式应用。
  聚合列表(函数,维度列表)   指定如何计算一个度量值的聚合的列表。每个聚合都由一个SQL聚合函数和将函数应用到其中的维度的可选列表。
  数据类型(架构、名称、长度、比例尺)   确定属性的数据类型。基于SQL数据类型,并由数据类型架构、名称、长度和比例尺构成。
属性表示数据库表列的基本抽象。属性由SQL表达式进行定义,该表达式可以是到表列的简单映射,可以涉及多个列及其他属性,可以涉及基础数据库的所有功能,如用户定义的函数。在某些实施方式中,如果在定义SQL表达式时使用其他属性,则其他属性无法构成属性引用循环。例如,如果属性A引用属性B,那么,属性B不能引用属性A。
一个属性的SQL表达式定义是由两个属性的组合创建的:一个模板和列和属性的列表。模板使用令牌表示法,其中{$$n}是令牌,n引用列表中的特定的列、属性或度量值。列、属性的列表是有序的,列或属性在列表中的位置对应于令牌n值。
例如,模板(template="{$$1}‖"‖{$$2}")可以与诸如list="Column CUSTOMER.FIRSTNAME,Attribute LastName"之类的对应的列表一起使用,以将客户的名和姓连接起来,中间用空格隔开。用正确的列表引用替换令牌,SQL表达式是:"Customer.FirstName‖"‖LastName"。属性引用进一步被扩展为列引用,以构成SQL表达式:"Customer.FirstName‖"‖Customer.LastName"。
属性可以在数据仓库或数据集市的设计中担任多个角色。一个属性可以担任的角色有:级别、描述、维度属性、维度键或键。
级别属性在层次结构中使用。常见的级别属性的示例有:Year和Quarter、State和City。描述属性在描述类型属性关系中使用,并将另外的描述性信息与另一个属性关联。例如,叫做Product的表可能具有带有产品代码的属性,以及带有文本描述的描述属性。维度属性在维度类型的属性关系中使用,并定义另一个属性的特定的特征和质量。常见的维度属性的示例有:Population、Size和Weight。维度键属性用于连接事实和维度元数据对象,并表示一个维度表中的主键,或者要在事实表中使用的一个维度表的外键。键属性用于连接一个事实或维度元数据对象内的表。键属性常常在雪花形架构中使用。
属性和度量值共享相同的名称空间。因此,由架构完全限定的名称必须在属性和度量值之中是唯一的。属性和度量值元数据对象是关系数据库列的抽象。然而,它们由可以包括多个列的SQL表达式进行定义。度量值比属性更专业-它们包括用于从较低级别的数据计算较高级别的摘要的聚合函数(列函数)。
下面的表9描述了定义属性元数据对象的元数据对象特定的属性。
表9
   属性   描述
   SQL表达式模板   定义属性的SQL表达式。模板通过使用{$$n}表示法来引用列、属性,其中n是对应于列、属性列表的序号。
   SQL表达式的列和属性列表   构成属性的所有列和属性的有序列表。这些列和属性按SQL表达式模板指定的方式应用。
   数据类型(架构、名称、长度、比例尺)   确定属性的数据类型。基于SQL数据类型,并由数据类型架构、名称、长度和比例尺构成。
   角色[级别、描述、DIMATTR、DIMKEY、KEY]   这是可选的。属性担任的角色。
属性关系一般地描述了属性的关系。关系是由左属性和右属性、类型、基数以及关系是否确定功能相关性来描述的。类型描述了右属性相对于左属性担任什么角色。例如,ProductName右属性描述了ProductCode左属性。ProductName和ProductCode之间的关系类型是DESCRIPTION。基数描述了左属性和右属性的实例之间的关系以及它如何基于基数来解释。在1∶1基数中,对于每个右属性实例,至多有一个左属性实例,对于每个左属性实例,至多有一个右属性实例。在1∶N基数中,对于每个右属性实例,至多有一个左属性实例,对于每个左属性实例,可以有任意数量的右属性实例。在N∶1基数中,对于每个右属性实例,可以有任意数量的左属性实例,对于每个左属性实例,至多有一个的右属性实例。在N∶N基数中,对于每个右属性实例,可以有任意数量的左属性实例,对于每个左属性实例,可以有任意数量的右属性实例。
功能相关性属性说明属性关系是否还可以用作功能相关性。功能相关性定义两个属性之间的功能关系。例如,在诸如City和Mayor或者Product和Color之类的属性之间可以定义功能相关性。功能相关性说明,每个City值确定Mayor值,或者,每个Product值确定Color值。这意味着关系中描述的基数由设计人员来设置,这对于查询优化是有好处的。
属性关系的一个用途是在一个维度中的层次结构的上下文内。可以作为层次结构的一部分查询与层次结构属性直接相关的属性。这就允许层次结构的每个级别定义补充一个给定级别的信息的属性。例如,一个层次结构可以具有City属性。City属性可以用属性关系与City_Population属性相关。利用属性关系信息,信息可以包括在一个包括City的查询中。
下面的表10描述了定义属性关系元数据对象的元数据对象特定的属性。
表10
    属性   描述
    左属性   关系中使用的左属性。
    右属性   关系中使用的右属性。
    类型[描述,关联]   属性关系描述的关系的类型。类型用于确定属性担任什么角色。
    基数[1∶1,1∶N,N∶1,N∶N]   联接中预期的基数。
    功能相关性[是,否]   确定属性关系是否还是功能相关性。
联接元数据对象连接两个元数据对象所引用的关系表。两个元数据对象可以在映射到关系表列的一对或多对属性元数据对象上连接。在事实到维度联接中,联接元数据对象将来自事实元数据对象的属性和来自维度元数据对象的属性连接在一起。在组合联接中,属性对集来自于相同的表集。例如,要用FirstName和LastName的复合键连接关系Table1与具有FName和Lname的复合键的关系Table2,使用具有两个联接谓词的关系联接;一个联接谓词用于Table.1.FirstName和Table2.FName,第二个联接谓词用于Table.1.LastName和Table2.LName。有关此组合联接的信息存储在一个联接元数据对象中。
联接元数据对象由左属性、右属性和联接操作符的列表进行定义。此外,还指定联接类型和预期的基数。联接可以在两个事实、两个维度、或事实和维度之间使用。联接元数据对象被多维数据集模型、事实和维度元数据对象引用。
下面的表11描述了定义联接元数据对象的元数据对象特定的属性。
表11
    属性  描述
    (左属性、右属性、操作符)列表  左属性:联接的左边的属性。右属性:联接右边的属性。操作符:联接中预期的操作符[=,<,>,<>,>=,<=]。
    类型[INNER,FULLOUTER,leftOUTER,rightOUTER]  预期的联接类型。
    基数[1∶1,I∶N,N∶l,N∶N]  联接中预期的基数。
多维数据集是可以使用单一的SQL语句传递的OLAP多维数据集的非常精确的定义。每个多维数据集都由单一的多维数据集模型派生而来。多维数据集事实和多维数据集维度的列表是引用的多维数据集模型中的那些的子集。还定义了表示数据库中的多维数据集的多维数据集视图名称。多维数据集适用于不使用多个层次结构的工具和应用程序,因为多维数据集维度允许每个多维数据集维度有一个多维数据集层次结构。
多维数据集的用途是定义OLAP结构的标准关系视图。除关系视图之外,多维数据集还提供了以多维术语描述其列的角色的扩展描述(例如,作为XML文档)。在定义多维数据集的过程中,设计人员选择可能的元素的子集,为每个维度选择单一的层次结构。这就确保了多维数据集不含糊地定义单一的关系结果集。多维数据集的简明性使得多维数据集对不太复杂的OLAP应用程序(如由万维网(“Web”)服务提供动力的便携设备)有用处。
下面的表12描述了多维数据集元数据对象的元数据对象特定的属性。
表12
  属性   描述
  多维数据集模型   从中派生多维数据集的多维数据集模型。
  多维数据集事实   多维数据集中使用的多维数据集事实。多维数据集事实由多维数据集模型中的事实元数据对象派生而来。
  多维数据集维度的列表   多维数据集中使用的多维数据集维度的有序列表。多维数据集维度由多维数据集模型中的维度派生而来。
  一个多维数据集层次结构与每个多维数据集维度关联。
  多维数据集视图   数据库中的表示多维数据集的视图。
  扩展描述   以多维模型描述列的角色和它们的关系的XML文档。
多维数据集事实元数据对象具有来自特定的事实元数据对象的有序列表中的度量值的子集。多维数据集事实元数据对象给予多维数据集确定多维数据集模型的事实的范围的灵活性。诸如联接和属性之类的结构信息是从父事实元数据对象引用的。下面的表13描述了定义多维数据集事实元数据对象的元数据对象特定的属性。
表13
  属性   描述
  事实   从中派生多维数据集事实的事实。
  度量值列表   多维数据集中使用的度量值的有序列表。所有度量值都是从中派生多维数据集事实的事实的一部分。
多维数据集维度元数据对象用于确定在多维数据集中使用的维度的范围。多维数据集维度元数据对象引用它从中派生的维度和给定的多维数据集的相关多维数据集层次结构。在某些实施方式中,一个多维数据集层次结构可以应用于多维数据集维度。应用于多维数据集维度的联接和属性是从维度定义中引用的。下面的表14描述了定义多维数据集维度元数据对象的元数据对象特定的属性。
表14
  属性   描述
  维度   从中派生多维数据集维度的维度。
  多维数据集层次结构   应用于多维数据集维度的多维数据集层次结构。
多维数据集层次结构元数据对象是层次结构的确定范围的版本,并在多维数据集中使用。多维数据集层次结构引用它从中派生的层次结构,可以具有来自父层次结构的属性的子集。此外,多维数据集层次结构元数据对象引用在多维数据集上应用的属性关系。在某些实施方式中,可以为多维数据集的多维数据集维度定义一个多维数据集层次结构。多维数据集层次结构元数据对象具有与从中派生该多维数据集层次结构元数据对象的层次结构相同的层次结构类型和部署机制。
多维数据集层次结构非常类似于层次结构;然而,多维数据集维度引用了单一的多维数据集层次结构。这就允许单一的SELECT语句计算多维数据集的单元。
下面的表15描述了定义多维数据集层次结构元数据对象的元数据对象特定的属性。
表15
    属性   描述
    层次结构   从中派多维数据集层次结构的层次结构。
    属性列表   从多维数据集层次结构的顶端到底部的所有属性的有序列表。属性的顺序应该与父层次结构相同。
    属性集   将多维数据集层次结构关系属性链接到其他属性的所有属性关系集。
图16说明了根据本发明的某些实施方式的一些元数据对象之间的一些关系。箭头表示一个元数据对象引用另一个元数据对象。例如,多维数据集元数据对象1610引用多维数据集模型元数据对象1600。表16说明了元数据对象的比较详细的关系描述。
表16
    元数据元数据对象1     引用     元数据元数据对象2
    多维数据集模型     0或1个     事实
    多维数据集模型     0或多个     维度/联接
    多维数据集     1     多维数据集模型
    多维数据集     1     多维数据集事实
    多维数据集     1或多个     多维数据集维度
    事实     1或多个     度量值
    事实     0或多个     属性
    事实     0或多个     联接
    维度     1或多个     属性
    维度     0或多个     联接
    维度     0或多个     层次结构
    多维数据集事实     1     事实
    多维数据集事实     1或多个     度量值
    多维数据集维度     1     维度
    多维数据集维度     1或多个     属性
    多维数据集维度     1     多维数据集层次结构
    层次结构     1或多个     属性
    层次结构     0或多个     属性关系
    多维数据集层次结构     1     层次结构
    多维数据集层次结构     1或多个     属性
    多维数据集层次结构     0或多个     属性关系
    度量值     0或多个     度量值
    度量值     0或多个     属性
    度量值     0或多个     维度
    属性     0或多个     属性
    属性关系     2     属性
    联接     多个2(最小2)     属性
根据某些实施方式,有元数据对象命名约定和命名的规则。在不偏离本发明的范围的情况下,可以使用这里描述的命名约定和规则之外的命名约定和规则。有两种不同的命名约定可用来命名对象:普通和分隔。对于元数据对象,由于其灵活性,在命名对象和引用数据库表和列时使用分隔约定。分隔约定允许混合大小写、空格和特殊字符,如国家语言字符。完整的字符集由对象所在的数据库的代码页确定。
除命名约定之外,在某些实施方式中,还有某些规则应用于对象中的不同的标识符。例如,架构长度为1-30字节,架构名不能以′SYS′开始;名称长度为1-128字节;公司名称长度为1-128字节;注释长度为1-254字节;表架构(在引用列时使用)长度为1-128字节;表名(在引用列时使用)长度为1-128字节;列名(在引用列时使用)长度为1-128字节。
除实施的关系之外,为每个元数据对象描述了附加规则。即,每个元数据对象都有其自己的规则集,如果元数据对象遵循一个元数据对象的所有元数据对象规则,则该元数据对象的实例是有效的。规则可以分为三个类别:基本规则、多维数据集模型完整性规则和优化规则。下面有关特定规则的讨论为本发明的某些实施方式提供了一组规则。在其他实施方式中,在不偏离本发明的范围的情况下,可以修改一个或多个元数据对象为规则集。
多维数据集模型元数据对象的基本规则有:(1)多维数据集模型元数据对象引用0个或一个事实元数据对象;(2)多维数据集模型元数据对象引用0个或多个维度;(3)维度-联接对同时具有维度和联接;(4)如果在事实的属性表中找到联接的一侧的所有属性,在维度的属性表中找到另一侧的所有属性,则与维度关联的联接是有效的;以及(5)对于多维数据集模型的事实中引用的每个度量值,度量值的聚合中的所有显式维度引用都被多维数据集模型引用。当多维数据集模型至少引用一个维度时,带有空维度列表的聚合至少与多维数据集模型中的以前没有被引用的一个维度匹配。
多维数据集元数据对象的基本规则有:(1)多维数据集元数据对象引用一个多维数据集事实;(2)多维数据集元数据对象至少引用一个多维数据集维度;(3)多维数据集事实由多维数据集模型中使用的事实派生而来;以及(4)多维数据集维度由多维数据集模型中使用的维度派生而来。
事实元数据对象的基本规则有:(1)事实元数据对象至少引用一个度量值;(2)事实引用的所有属性和度量值都是可连接的;(3)在事实元数据对象上下文中,在两个给定的表之间可以定义单一的联接;(4)在事实元数据对象中没有联接循环;以及,(5)事实元数据对象引用的所有联接都引用事实元数据对象属性。
维度元数据对象的基本规则有:(1)维度元数据对象至少引用一个属性;(2)维度引用的属性是可连接的;(3)没有联接循环;(4)在维度上下文中,在任何两个给定的表之间可以定义单一的联接;(5)维度引用的层次结构引用维度的属性;(6)维度的层次结构引用的属性关系引用维度的属性;以及(7)维度引用的联接引用维度的属性;
多维数据集事实元数据对象的基本规则有:
(1)多维数据集事实元数据对象引用一个事实;(2)多维数据集事实元数据对象至少引用一个度量值;以及,(3)多维数据集事实元数据对象引用的度量值都是事实元数据对象的一部分。
多维数据集维度元数据对象的基本规则如下:(1)多维数据集维度元数据对象引用一个维度;(2)多维数据集维度元数据对象引用多维数据集层次结构;以及,(3)多维数据集维度元数据对象引用的多维数据集层次结构由是多维数据集维度元数据对象的维度所引用的维度的层次结构派生而来。
层次结构元数据对象的基本规则有:(1)层次结构元数据对象至少引用一个属性;(2)递归部署需要有两个属性;(3)一个层次结构内的每个属性关系都具有左属性作为层次结构的一部分;(4)层次结构内的每个属性关系都具有1∶1或N∶1作为基数;以及,(5)所允许的层次结构类型和层次结构部署的某些组合如表17所示:
表17
    类型/部署     标准     递归
    平衡     X
    不规则     X
    失衡     X     X
    网络     X
多维数据集层次结构元数据对象的基本规则有:(1)多维数据集层次结构元数据对象引用一个层次结构;(2)多维数据集层次结构元数据对象至少引用一个属性;(3)多维数据集层次结构元数据对象引用的属性是层次结构的一部分;(4)多维数据集层次结构元数据对象中的属性的顺序与层次结构中的相同(被定义为网络的层次结构除外);(5)一个层次结构内的每个属性关系都具有左属性作为层次结构的一部分;以及(6)多维数据集层次结构元数据对象中引用的属性关系还在定义多维数据集层次结构的层次结构中被引用。
度量值元数据对象的基本规则有:(1)度量值元数据对象可以具有属性、列、度量值作为每个SQL表达式模板的参数,或者它们中一个也没有;(2)用作SQL模板参数的属性和度量值不能在属性和/或度量值之中生成相关性循环;(3)度量值元数据对象中定义的每个SQL模板都不是空字符串;(4)SQL模板不使用聚合函数;(5)如果至少引用了一个度量值并且只引用度量值,则不需要聚合;(6)如果存在聚合,则SQL模板数量匹配第一个聚合函数的参数数量;(7)带有多个SQL模板的度量值元数据对象在聚合脚本中的至少定义一个步骤;(8)如果度量值元数据对象A引用度量值元数据对象B,而度量值元数据对象B定义了多个SQL模板,那么,度量值元数据对象A没有聚合脚本;此规则适用于度量值引用树中的所有级别;(9)多参数聚合函数用作第一个聚合;(10)如果度量值元数据对象定义一个或多个聚合,则一个聚合可能具有空维度列表;(11)在一个度量值元数据对象内,在聚合内或跨聚合之间一个维度不能被引用多次;(12)在SQL表达式模板内,令牌指示符(即,{$$#})从1开始计数,并且是连续的,中间没有间隙;以及(13)在SQL表达式内,每个列、属性和度量值都至少被引用一次。
属性元数据对象的基本规则有:
(1)属性元数据对象可以具有属性、列作为SQL模板的参数,或者它们中一个也没有;(2)用作SQL模板参数的属性不能在属性之间生成相关性循环;(3)SQL模板不能是空字符串;(4)不允许聚合函数成为SQL模板的一部分;(5)在SQL表达式模板内,令牌指示符(即,{$$#})从1开始计数,并且是连续的,中间没有间隙;以及(6)在SQL表达式内,每个列、属性和度量值都至少被引用一次。
属性关系元数据对象的基本规则有:(1)属性关系元数据对象引用两个属性;以及(2)属性关系元数据对象不能被定义为具有基数=N∶N和功能相关性=YES。
联接元数据对象的基本规则有:(1)联接元数据对象至少引用一个左属性、右属性、和操作符三元组;(2)联接元数据对象中的所有左属性可以分解为单一表的一个或多个列;(3)联接元数据对象中的所有右属性可以分解为单一表的一个或多个列;以及(4)联接元数据对象的每个三元组都定义一个有效操作;为它们定义的左右属性以及操作的数据类型是兼容的。
多维数据集模型完整性规则扩展了基本规则,以便确保多维数据集模型具有所需要的到其他元数据对象的链接,以允许形成有效的仓库SQL查询。多维数据集模型元数据对象的多维数据集模型完整性规则有:(1)多维数据集模型元数据对象引用一个事实;(2)多维数据集模型元数据对象引用一个或多个维度。
优化规则扩展了多维数据集模型完整性规则,以便确保可以执行仓库SQL查询的优化。
多维数据集模型元数据对象的优化规则有:(1)用于事实到维度的联接具有基数1∶1或N∶1,并联接事实的表与维度的主表。
维度元数据对象的优化规则有:(1)假设维度的联接形成的联接网络,至少有一个表、主表,其中,从此表辐射出的所有联接都具有基数N∶1或1∶1。
联接元数据对象的优化规则有:(1)在参与联接的列上定义了约束;如果联接是自我联接,即,相同的列集用于等式的两侧,则定义匹配列集的主键;在其他所有情况下,当一侧的列集不同于联接的另一侧时,主键匹配联接的一侧的列,外键匹配其他列集并引用主键;(2)联接基数是1∶1、N∶1或1∶N;如果联接是自我联接,则基数是1∶1;在其他所有联接情况下,在定义了主键的一侧基数是1,在定义了外键的一侧是N;如果外键一侧还定义了主键,则使用1作为基数;(3)联接中使用的所有属性都解析为非可为空的SQL表达式;以及,(4)联接类型是INNER JOIN。
A.4 元数据对象示例
图17说明了根据本发明的某些实施方式的由两个维度表1710、1720和事实表1700组成的星形架构。两条线1730、1740表示事实表1700和维度表1710、1720之间的联接。在某些实施方式中,数据库设计人员使用建模工具或用户界面150,可以为元数据对象130创建元数据对象实例。在多维元数据的生成期间定义的大多数元数据对象130都可以为新模型重复使用(如果元数据对象与新模型相一致)。图18A-18E说明了根据本发明的某些实施方式可以为图17的星形架构生成的可能的元数据对象实例集,以及为简单起见,和元数据对象的一些属性。具体来说,图18A-18E中的一些被省略的属性是常见的属性。例如,图18A-18E说明了多维数据集模型元数据对象实例1800、多维数据集元数据对象实例1802、事实元数据对象实例1804、多维数据集事实元数据对象实例1806、度量值元数据对象实例1808、1810、维度元数据对象实例1812、1814、多维数据集维度元数据对象实例1816、1818、层次结构元数据对象实例1820、1822、1824、多维数据集层次结构元数据对象实例1826、1828,联接元数据对象实例1830、1832,以及属性元数据对象实例1834-1848。
用户可以使用用户界面150创建元数据对象。在创建空的多维数据集模型元数据对象之后,通过创建相应的联接元数据对象,创建事实元数据对象和维度元数据对象并连接到多维数据集模型元数据对象。
4B. 在关系数据库中使用多维数据集视图和扩展描述来创建多维 数据集
本发明的某些实施方式在关系数据库中如此创建和描述多维数据集视图,以使结果多维数据集视图的行为类似于多维数据库。具体来说,本发明提供了元数据扩展(即,元数据对象),允许多维架构的设计人员向多维查询和分析工具描述这些架构的结构。此外,SQL(结构化查询语言)扩展包括诸如ROLLUP、CUBE和GROUPING SETS之类的新操作符。在本发明的实施方式中,ROLLUP操作符用于创建多维结果集,该结果集将包括多维数据集的所有切片。
B.1 超级聚合操作符
图19说明了根据本发明的某些实施方式的简单OLAP多维数据集1900。多维数据集1900的每一个维度都包括一组相关的成员。在该示例中,产品、时间和位置是多维数据集1900的维度。位置维度的成员是位置USA、Canada、CA、NY、ON,SJC、PAS、YKT和TOR。一个维度的成员通常被组织成显示一个维度内的级别的父子关系的级别层次结构。级别是共享许多公用属性的成员集。在该示例中,元素SJC、PAS、YKT和TOR属于城市级别。此级别具有成员属性“square_foot”-以平方英尺为单位的每一存储区的大小。虽然在该示例中不显示,城市级别还可以具有包括“市长”的属性,而州级别可以具有包括“州长”的属性。请注意,如果一个层次结构的一个特定级别的成员不是唯一的(例如,时间维度中的01和02),那么它们与父标识符结合以构成唯一的成员名(例如,1999-01)。
为了在图19中显示成员的层次关系,诸如1999和SJC之类的聚合成员没有作为多维数据集1900的切片的标识符显式显示出来。然而,概念上,一个边上的所有成员确实标识这样的切片。因此,(1999,VCRS,SIC)描述了多维数据集1900的单元,与(1999-01,RCA,SJC)描述多维数据集1900的单元的方式相同。多维数据集1900的每个单元都包含两个值的矢量:金额和数量。有时,将这些值的矢量视为多维数据集1900的另一个维度是适当的。
OLAP多维数据集1900的此视图不显式描述如何计算值。通常,层次关系暗示简单的聚合(例如,CA=SJC+PAS)。在许多模型中,层次结构中的数学关系式比较复杂,它们随度量的特性而变化。例如,在度量销售和存货清单的多维数据集中,可以按时段计算销售额的总和,而平均值或最终值更适用于存货清单。在很多情况下(特别是对于开销),只有聚合值可用,OLAP系统用于将这些开销分摊到较低级别。
由于一个多维数据集中的单元数量是每个维度的大小的乘积,因此OLAP多维数据集可以非常大。假设有一个具有1000000个客户、100000个产品、2500时间段和25度量的大型企业。实现这样的多维数据集的OLAP系统必须有处理6250000000000000单元的潜力。潜在的单元数量通常比填充的单元数量大几个数量级,因此OLAP多维元数据系统100被设计用于处理填充非常稀少的矩阵。
图20说明了根据本发明的某些实施方式的对于基于网格的联机分析处理(OLAP)查看器(即,查询处理器)典型的示例多维数据集1900的视图。从任何这样的视图,OLAP系统通常提供允许分析人员快速切换到相关视图的操作。通常提供的操作包括:深化、浅化和透视。深化是指将维度从不太详细导航到更加详细。表2000显示了深化位置维度中的一个级别的结果。浅化是指将维度从更加详细导航到不太详细。表2010显示了浅化一个级别到产品维度的顶端的结果。透视是指在结果中重新布置维度的顺序。表2020显示了切换显示网格中的产品维度和时间维度的结果。
多年来,关系数据库广泛地用于多维分析。到目前为止,最常见的方法是以所谓的星形架构组织数据。最简单的星形架构由连接了许多维度表的事实表构成。事实表中每个维度有一个列,另外,每个度量值也有一个列。有关设计星形架构和优化派生结果的计算的技术的文章很多。
图21说明了根据本发明的某些实施方式的星形架构的简单示例。事实表2100具有五列。事实表2100中的行中每个维度有一个键值,和两个值列-一个用于“金额”,另一个用于“数量”。每个维度键值都匹配对应的维度表2110、2120、2130中的单行的键字段中的键值。在事实表的突出显示的行中,TID键值“1”匹配时间维度表2110的第一行,因此,事实表的这一行中的值是针对1999年1月的。同样,突出显示行中的PID和LID的键值分别用于查找产品2120和位置2130维度表(ELECTRO,CCOR,SONY)和(USA.,CA,SJC)中的匹配。由于位置维度表中的维度属性列,SJC中的存储的大小是100。
在引入超级聚合操作符之前,使用SQL语言实现大的OLAP多维数据集有一些困难。其中一些问题有:(1)GROUP BY不能用于返回聚合的不同级别的单元的结果,这意味着,需要许多不同的查询才能获得所有单元值;(2)高度聚合的查询会引用事实表中中的每一行才能返回很少的单元值;(3)一般来说没有这样巨大的计算的结果的存储-关系引擎必须对每个查询“从头开始”,因为计算各种级别的聚合,因而需要重复地读取事实表的行;
(4)SQL只支持少数几个聚合函数(SUM、COUNT、AVG、MIN和MAX);(5)关系数据库目录不包含有关星形架构的结构的元数据,这样的元数据被移交给工具和应用程序的域,因此,星形架构必须“描述”多次-每个所使用的应用程序或工具一次;以及(6)由于元数据不是数据库目录的一部分,因此键结构信息对查询编译器不可用。
在引入超级聚合操作之前,解决关系OLAP系统中遇到的性能问题的一个方法是维护许多摘要事实表和关联的维度表。在这样的系统中,每当修改事实表中的数据时,也将调整对应的摘要表。在查询时,如果带有所要求的聚合的摘要表不可用,则OLAP系统必须选择相应的包含部分地聚合的结果的摘要表,或者查询基本事实表。生成摘要的开销只产生一次,然后可以为许多次查询缓冲。
OLAP多维元数据系统100使用ROLLUP、CUBE和GROUPING SETS中的一个或多个超级聚合操作符为基于其他元数据对象(例如,事实、维度、层次结构、度量值和多维数据集模型元数据对象)的多维数据集对象产生多维数据集视图。
ROLLUP操作符作为GROUP BY子句的扩展,基于列的列表,生成多个小计分组子句。例如,可以使用层次结构元数据对象中的信息生成分组子句。在OLAP方面,这具有在一个给定维度中进行层次结构计算的相同效果。假设有诸如具有由国家、州和城市组成的层次结构的之类的位置的维度,ROLLUP(country,state,city)子句生成表示层次结构的计算的分组子句。n个元素(c1,c2,…、cn-1,cn)的ROLLUP的一般说明相当于下面的分组子句:
(c1,c2,…、cn-1,cn)
(c1,c2,…、cn-1)
(c1,c2)
(c1,)
请注意,ROLLUP子句中的n个元素转换为(n+1)个分组子句。OLAP应用程序可以具有多个维度(例如,在维度元数据对象中进行定义)。每个维度的ROLLUP都以关系方式返回表示OLAP多维数据集的结果。一个单一的语句中的一个以上的ROLLUP操作符的组合导致为每个ROLLUP生成分组子句的笛卡尔乘积。例如,在一个单一的语句ROLLUP(country,state),ROLLUP(year,month)中合并下面的ROLLUP操作符对导致生成下面的分组子句,这是构成一个多维数据集的一组分组子句:
(country,state,year,month)
(country,state,year)
(country,state)
(country,year,month)
(country,year)
(country)
(year,month)
(year)
()
使用ROLLUP操作符的查询包括单一的结果集中的所有生成的分组子句。因此,结果集包括所有分组子句列加聚合列的联合。为了合并不同分组集的结果,在其中一个给定行不是成员的任何分组列中返回空值,如下面的示例所示。参见表18中的一个单一的维度的ROLLUP查询的结果。生成包括ROLLUP操作符的SELECT语句。基于元数据对象130生成SELECT语句。例如,在下面的SELECT语句中,从度量值元数据对象生成“sum”操作符,从联接元数据对象生成联接。
SELECT country,state,sum(amt)AS revenue
FROM fact f,location 1
WHERE f.lid=l.lid
GROUP BY ROLLUP(country,state)
表18
  国家     州     收入
    235329.24
  加拿大     -     35754.64
  加拿大     ON     35754.64
  美国     -     199574.60
  美国     CA     103910.41
  美国     NY     94665.19
在表18中的示例中,通过“州”列中的空值(显示为破折号)指定带有美国的聚合收入的行。通过“国家”和“州”列中的空值指定带有所有国家和州的聚合收入的行。
CUBE操作符是GROUP BY子句的扩展,生成分组列的所有置换的小计加总计。每个维度具有一个属性的OLAP多维数据集受益于CUBE操作符,因为使用单一的分组子句用单一的语句计算完整的多维数据集。例如,CUBE(time,product,location)导致下面的分组子句:
(time,product,location)
(time,product)
(time,location)
(product,location)
(time)
(product)
(location)
()
由于CUBE操作符在列上生成所有置换,因此n列的分组子句的结果数量是2n。CUBE操作符的列顺序无关紧要-CUBE(time,customer)和CUBE(customer,time)产生相同的结果集。
GROUPING SETS操作符允许在一个单一的语句中指定多个分组子句。这可以视为将两个或更多行的组联合到一个单一的结果集中。这在逻辑上等效于多个子选择的联合,每个子选择中的GROUPBY子句对应于一个分组集。下面的示例在GROUPING SETS定义中使用了两个分组。参见表19中的GROUPING SETS查询的结果。
SELECT country,state,prodline,
SUM(amt)AS revenue
FROM fact f,location 1,product p
WHERE f.lid=l.lid AND f.pid=p.pid
GROUP BY GROUPING SETS((country,state),(prodline))
表19
   国家   州   Prodline       收入
  加拿大   ON     35754.64
  美国   CA     103910A1
  美国   NY     94665.19
  -   -     服装     53912.31
  -   -     电子设备     77944.12
  -   -     医学     103472.81
在OLAP系统的上下文中,GROUPING SETS操作符对限制摘要表的大小是有用的(下面将讨论)。OLAP查询通常具有多个ROLLUP子句(例如,每个维度一个)。一个结果集中的分组集的数量是对于每个ROLLUP的分组集的数量的乘积。每个ROLLUP的分组集的数量比ROLLUP中的列数量多一个。这意味着,为其中每个维度都具有三个级别的五维OLAP多维数据集构建的摘要表将导致(3+1)5=1024个分组集。GROUPING SETS操作符可用于显式选择在这样的摘要表中使用哪些分组集。
针对数据仓库运行的查询可能会很容易产生比较大的计算开销,从而限制了数据仓库的查询吞吐量。这些查询经常是数据的聚合,执行的查询倾向于具有非常相似的聚合。自动摘要表(AST)提供了预先计算和存储将重复地计算和访问的信息的手段。自动摘要表是一个特殊类型的具体化视图,是专门为保存聚合或摘要设计的。
自动摘要表是一个这样的表:它是根据查询结果而定义的,具有以从一个或多个表预先计算出的结果为形式的数据,这些数据将在定义查询时使用。自动摘要表可以显著地改善涉及一个或多个维度或表上的聚合数据或者最常访问的数据的复杂查询的响应时间。自动摘要表提供了RDBMS 110可以直接使用的预先计算出数据。当使用诸如SUM和COUNT之类的简单分析时,RDBMS 110可以动态地从预先计算出的数据聚合。
摘要表包含可用于用较小的变化回答许多查询的信息的超集。可以在摘要表中为最常访问的查询捕获多维数据集模型的特定的方面。可以预先计算开销大的表联接,结果可以存储在摘要表中。摘要表通常比基表小得多。
知道有关摘要表的情况的数据库优化器(例如,DB2 SQL编译器中使用的数据库优化器)可以自动重新编写查询,以将摘要表而不是将基表作为目标。用户可以继续针对基表编写查询。数据库判断何时为特定的查询使用摘要表,并将重新编写用户的查询以指向摘要表。
图22说明了根据本发明的某些实施方式自动摘要表如何缩短查询时间的示例。在图22的左边2200,类似的查询必须遍历涉及联接事实和维度表以及计算聚合的所有步骤。在右边2250,自动摘要表存储为许多查询执行的常见的工作,从而减少了随后的查询所需要的计算。当在RDBMS 110(例如,DB2 UDB RDBMS)中使用自动摘要表时,RDBMS 110能够自动重新路由可以利用现有自动摘要表的查询。这就使得任何应用程序都可以利用自动摘要表的优点,无需更改向数据库写入查询的方式。
此外,RDBMS 110还为自动摘要表维护提供了交替的当前值模型。有两个基本模式:(1)立即刷新和(2)延迟刷新。对于立即刷新,RDBMS 110监视任何表中的影响自动摘要表中维护的值的更改。如果在作为自动摘要表的源表的表中进行了插入、更新或删除,则RDBMS 110作为发起事务的一部分,将相应的更改包括到自动摘要表中。在此模式下,RDBMS 110负责使自动摘要表保持一致。对于延迟刷新,对源表的更改不会触发RDBMS 110的自动摘要表维护。这就给予数据库管理员(DBA)完全控制何时应该执行自动摘要表维护的权力,从而使DBA负责确定自动摘要表的当前值。
当用户操作特定的OLAP多维数据集时,OLAP应用程序通常需要计算许多不同的聚合。RDBMS 110为自动摘要表处理OLAP多维数据集提供了特殊的支持。自动摘要表可以利用包括GROUPBY扩展的语句。这些扩展,如ROLLUP,为数据库管理员提供了在RDBMS 110内部定义OLAP多维数据集的途径。当OLAP应用程序查询多维架构时,RDBMS 110会将查询重新路由到具有已经计算好的结果的自动摘要表。这就使得RDBMS 110显著地改善查询响应时间。自动摘要表支持的另一个能力允许RDBMS 110通过使用更多常规计算的聚合来计算非现有的聚合。例如,如果RDBMS110具有按月计算的销售量的聚合,而查询请求按季度计算的销售量,那么RDBMS 110的数据库优化器能够通过读取月聚合来计算季度聚合。这就节省了处理时间,因为读取的行数较小。通常,OLAP多维数据集包括多个维度,每个维度一个层次结构。下面的示例显示了如何使用自动摘要表定义具有三个维度的简单多维数据集。
  CREATE SUMMARYTABLE CUBE AS(

  SELECT l.country,l.state,l.city,p.prodline,p.prodgroup,
p.product,t.year,t.month,

  SUM(f.amt)AS revenue,

  COUNT(*)AS count

  FROM fact f,location 1,product p,time t

  WHERE f.lid=l_lid AND f.pid=p.pid AND f.tid=t.tid

  GROUP BY ROLLUP(l.country,1.state,l.city),

  ROLLUP(p.prodline,p.prodgroup,p.product),

  ROLLUP(t.year,t.month)

  )AS DATA INITIALLY DEFERRED

  REFRESH IMMEDIATE
在此示例中,由于三个ROLLUP子句的组合,自动摘要表包括48分组子句。定义完整的多维数据集的自动摘要表倾向于具有许多分组子句。这通常导致自动摘要表比较大,这提高了自动摘要表的维护开销。然而,DBA可以通过利用GROUPING SETS操作符来创建自动摘要表。在此情况下,在自动摘要表中定义比较少的多维数据集切片,从而使自动摘要表比较简单,也比较小。这就降低了自动摘要表的维护开销,但某些开销放到了查询时间中。这就考虑了OLAP系统平衡前台计算时间和存储开销与查询的性能。要想找到最佳的平衡点,通常需要对一个给定系统的用户的查询模式的理解。
OLAP应用程序通常需要比诸如SUM和AVG之类的基本聚合函数提供的计算更复杂的计算。最近的扩展包括等级函数、统计函数和推拉窗操作符。DB2 RDBMS引入的等级函数计算行相对于特定的排序表达式的序数等级。如果指定了RANK,则行的等级被定义为1加该行前面的行数。因此,如果相对于顺序有两个或更多行不同,那么在连续的等级编号中将会有一个或多个间隙。如果指定了DENSE_RANK,则行的等级被定义为1加前面的相对于顺序不同的行数。这就消除了连续的等级编号中的间隙。下面的示例显示了如何使用RANK按销售收入给州和省分等级。参见表20中的结果。
SELECT country,state,prodline,SUM(amt)AS revenue,
RANK()OVER
(ORDER BY SUM(amt)desc)AS rank
FROM fact f,location l,product p
WHERE f.lid=l.lid AND f.pid=p.pid
GROUP BY country,state
表20
     国家     州     收入    等级
    加拿大     ON     35754.64     3
    美国     CA     10391041     1
    美国     NY     94665.19     2
包括相关性、方差、协方差、标准偏差和线性回归函数家族的统计函数改善了对复杂的OLAP应用程序的支持。
推拉窗操作符相对于动态地确定的窗口提供了分析数据的能力。窗口,一组行,是根据请求的操作确定的,例如,“ROWSBETWEEN 3 PRECEDING AND 3 FOLLOWING”。给定了这样的窗口,则应用聚合函数。推拉窗操作符对用于计算每天的股票七日中心平均值的应用程序是有用的。
图23说明了根据本发明的某些实施方式基于图21的星形架构创建的多维数据集模型。对于多维数据集模型元数据对象2300,时间维度元数据对象2310引用两个不同的层次结构元数据对象2312、2314。
图24说明了根据本发明的某些实施方式的用于图19的示例创建的元数据对象和这些对象之间的关系。使用元数据架构,可以作为名为Sales的多维数据集元数据对象2400的定义的一部分创建多维数据集视图。示例多维数据集元数据对象2400中的所有单元的数据值可以用下列语句来计算:SELECT*FROM sales。为此,在多维数据集视图的SELECT子句中,将事实和维度表连接起来,使用ROLLUP操作符计算收入和量小计和总计。
图25说明了一个销售多维数据集2500,这是一个根据本发明的某些实施方式的说明用于描述图19所示的示例多维数据集的术语的注释结果集。在图25中,省略符号表示没有说明的行。销售多维数据集2500包括产品维度级别2510、位置维度级别2520,成员属性2530,以及时间维度级别2540。在不偏离本发明的范围的情况下,可以修改维度级别的顺序。在实践中,对多维数据集的所有单元进行查询是不常见的,因为大多数的真实的多维数据集太大,进行这样的查询是不切实际的。相反,这里定义的销售多维数据集2500将使用谓词来进行查询,以将检索到的数据限制到所关心的子集,以用于报告或分析。下面是生成多维数据集视图的示例查询:
  CREATE VIEW sales AS(SELECT

  p.prodline,p.prodgroup,p.products,

  l.country,l.state,l.city,

  l.locid AS store,l.size AS square_foot

  lt.year,t.month,

  SUM(f.amt)AS amount,

  SUM(f.qty)as quantity

  FROM fact f.

  time t,

  product p,

  location 1

  WHERE f.tid=t.tid AND

  f.pid=p.pid AND
				
				<dp n="d49"/>
  f/lid=l.lid AND

  GROUP BY

  ROLLUP(p.prodline,p.prodgroup.p.products).

  ROLLUP(l.country,l.state,l.city.(l.locid,l.size)),

  ROLLUP(t.year,t.month));
多维数据集对象的引入提供了移动关系OLAP的访问范例的模型。应用程序现在可以以一个单一的SQL查询,检索聚合的不同级别的多维数据,无需包括管理摘要表和聚合当前值的代码。因此,关系数据库能够承担起存储和计算直到现在都是由关系OLAP产品和应用程序处理的管理活动的责任。
B.2 多维数据集视图和扩展描述的使用细节
给定一个描述所有多维数据集(例如,为其定义了所有事实和维度表,它们的连接,以及所有层次结构的多维数据集模型)的架构(例如,星形或雪花)的元数据,以及描述用于构成多维数据集的表中的列的角色的元数据,可以选择元数据的子集来构建关系视图(即,特定的多维数据集)。然后,可以查询多维数据集,查询的结果是一个多维结果集。
图26说明了根据本发明的某些实施方式为生成多维数据集视图而实现的逻辑。控制从方框2600开始,多维元数据软件120接收多维数据集模型元数据对象的说明。在某些实施方式中,说明可以以XML文档的形式接收。在某些实施方式中,说明可以通过用户界面150接收。该说明向多维元数据软件120提供信息,以生成元数据对象(例如,事实和维度元数据对象)。
在方框2610中,多维元数据软件120基于说明生成多维数据集模型元数据对象。在方框2620中,多维元数据软件120接收多维数据集模型元数据对象的子集的选择。在某些实施方式中,接收多维数据集模型元数据对象中的事实和维度的选择。在某些实施方式中,选择可以以XML文档的形式接收。在某些实施方式中,选择可以通过用户界面150接收。在某些实施方式中,在一个或多个多维数据集模型元数据对象生成之后的任何时间都可以接收多维数据集模型元数据对象的子集的一个或多个选择。
在方框2622中,多维元数据软件120基于多维数据集模型元数据对象的子集的选择生成多维数据集元数据对象。多维数据集元数据对象包括基于多维数据集元数据对象的多维数据集视图和扩展描述。可以用SQL语句查询多维数据集视图。扩展的描述提供有关多维数据集视图中的列的信息,如它们彼此之间的关系。
具体来说,在方框2622中,多维元数据软件自动生成SQL,以便生成多维数据集视图。对于带有完全对称计算的简单多维数据集元数据对象,使用度量值列的简单聚合函数和每一个维度的ROLLUP操作符创建多维数据集视图。事实和维度表是使用联接而进行连接的。可以使用更复杂的查询创建具有此“形状”的多维数据集视图。本发明涵盖具有指定形状的任何多维数据集视图,不管描述结果所需要的SELECT语句的复杂性如何。多维数据集视图甚至可以是一个非常简单的SELECT语句,该语句引用一个通过无法用SELECT语句描述的手段维护的表(实的或环绕)。下面是利用ROLLUP操作符生成多维数据集视图的SELECT查询示例:
SELECT country,state,sum(amt)AS revenue
FROM fact f location 1
WHERE f.lid=1.lid
GROUP BY ROLLUP(country,state)
一旦生成了多维数据集视图,RDBMS 110可以接收针对多维数据集视图的查询。RDBMS 110处理查询,并返回多维结果集。
图27说明了根据本发明的某些实施方式多维数据集视图的格式示例。在某些实施方式中,多维数据集视图的列是这样排列的:度量值2610首先列出,然后是每一个维度2620,2630,并带有按级别列出的维度属性。在不偏离本发明的范围的情况下,可以修改列的特定顺序。列是以应用程序可以确定任何列的正确角色的方式描述。为简单起见,多维数据集视图的列排列的顺序与它们在关联的扩展描述中出现的顺序相同。应用程序能够查询扩展描述,以获得排序信息,以便更好地了解多维数据集视图。
图28说明了根据本发明的某些实施方式的多维数据集视图2800的格式示例的更多细节。多维数据集视图2800的列描述了多维行集。度量值2810在维度之前列出。维度n的属性作为该维度的级别属性和关联的属性的完整的层次结构出现。例如,级别属性L11 2820表示维度1的级别1(例如,2720),级别属性L12 2830表示维度1的级别2,级别属性L13 2840表示维度1的级别3。级别属性L21 2850表示维度2的级别1(例如,2730),级别属性L22 2860表示维度2的级别2。每一个级别属性2820、2830、2840、2850和2860都具有关联的属性。例如,属性A111和A112是维度1的第一级别2820的属性。
多维数据集视图表示和描述如何计算多维数据集元数据对象的所有单元。多维数据集视图可以用SELECT语句进行查询,会返回一个多维结果集,在该结果集中,通过多维数据集的多个维度中的每一个维度的级别属性和关联的属性中的值集来描述返回的度量值的阵列。多维数据集视图不需要多维数据集的任何计算出的单元的具体化。这就给在查询时计算单元留下了许多灵活性(例如,优化的机会)。这还意味着,计算单元值的开销由多维数据集视图的所有查询集来共享。
多维结果集的级别属性是在多维数据集的度量值和维度之间划分的。对于每一个维度,标识了包括维度的层次结构的级别属性,指定了它们之间的父子关系。一个给定维度中的属性列还可以与该维度的层次结构中的一个级别属性关联。
查询多维数据集视图的应用程序可以要求RDBMS 110提供多维结果集的属性列的描述。在现有技术系统中,此描述一般给出列的名称、数据类型、列中的数据的长度,但这些信息还不足够以多维术语了解查询多维数据集视图的结果。因此,本发明的实施方式提供了多维结果集中的列的角色的描述和它们的关系。此描述是元数据,并在扩展的描述中提供。
在标题“扩展描述示例”下面提供了描述多维数据集视图的XML文档的示例。在某些实施方式中,名称和度量值或属性引用在扩展描述和多维数据集视图中一般是相同的。在某些情况下,由于列和属性名称的名称空间的差异,它们可能会不同。对于某些实施方式,这一枚举多维数据集视图的列的技术是优选的。在不偏离本发明的范围的情况下,可以使用许多其他枚举列的机制。
扩展描述示例
  <cubeView    name="SalesCubeView"    schema="Sales"
cubeName="SalesCube"cubeSchema="Sales">

  <column name="SALESDOLLARS"role="measure"

  <measureRef name="SalesDollars"schema="Sales"/>

  </column>

  <column name="SALESCOST"role="measure"

  <measureRef name="SalesCost"schema="Sales"/>

  </column>

  <column name="REGION"role="Ievel′

  <attributeRef name="Region"schema="Sales"/>

  <cubeDimensionRef name="Market"schema="Sales"/>

  </column>

  <column name="STATE"role="level"

  <attributeRef name="State"schema="Sales"/>

  <cubeDimensionRef name="Market"schema="Sales"/>

  </column>

  <column name="STATEPOP"role="associated"

  <attributeRef name="StatePop"schema="Sales"/>
				
				<dp n="d53"/>
  <cubeDimensionRef name="Market"schema="Sales"/>

  <levelColumnRef name="STATE"/>

  </column>

  <column name="CITY"role="level"

  <attributeRef name="City"schema="Sales"t>

  <cubeDimensionRef name="Market"schema="Sales"/>

  </column>

  <column name="FAMILY"role="level"

  <attributeRef name="Familv"schema="Sales"/>

  <cubeDimensionRef name="Product"schema="Sales"/>

  </column>

  <column name="SKU"role="level"
  <attributeRef name="SKU"schema="Sales"/>

  <cubeDimensionRef name="Product"schema=′Sales"/>

  </column>

  <column name="PKGTYPE"role="associated"

  <attributeRef name="PkgType"schema="Sales"/>

  <cubeDimensionRef name="Product"schema="Sales"/>

  <levelColumnRef name="SKU"/>

  </column>

  </cubeView>
“扩展描述示例”提供了有关与属性关联的级别的信息。例如,STATEPOP列(即,<column name="STATEPOP"role="associated")与STATE级别(即,<levelColumnRefname="STATE"/>)关联,在“扩展描述示例”中的文本如下:
<column name="STATEPOP"role="associated"
<attributeRef name="StatePop"scbema="Sales"/>
<cubeDimensionRef name="Market"schema="Sales"/>
<levelColumnRef name="STATE"/>
</column>
如果需要,可以使用XML Path语言(XPATH)查询(在1999年11月16日发布的“XML Path语言(XPATH),版本1.0,W3C推荐标准”中进行了定义,可以在http://www.w3.org/TR/xpath找到)来按数字定位特定的列的描述。XPATH查询的结果是基于扩展描述的。例如,下面的XPATH查询的结果(1)和(2)是基于上文的扩展描述示例的。例如,要获得多维数据集视图中的第四列的描述,可以提交下面的XPATH查询(1):
XPATH query:/cubeView/column[4](1)
例如,XPATH查询(1)的结果是:
<column name="STATE"role="level"
<attributeRef name="State"schema="Sales"/>
<cubeDimensionRef name="Market"schema="Sales"/>
</column>
作为另一个示例,要获得多数据集视图中的名为SALESCOST列的描述,可以提交下面的XPATH查询(2):
XPATH query:/CubeView/column[name="SALESCOST"](2)
XPATH查询(2)的结果是:
<column name="SALESCOST"role="measure"
<measureRef name="SalesCost"schema="Sales"/>
</column>
在某些实施方式中,为多维数据集的每一个实例提供了多维数据集元数据对象。多维数据集元数据对象包括对多维数据集视图的引用和多维数据集视图中的列的角色的描述。在某些实施方式中,扩展的描述是包括列节点的XML文档。在某些实施方式中,列节点在XML文档中的定义顺序与它们在多维数据集视图中的定义顺序相同,因为这样做避免了必须在列描述中包括位置信息。在某些实施方式中,多维数据集视图和扩展描述中的结果列是这样排列的:以使所有度量值首先出现,后面是第一维度的所有列,后面是第二维度的所有列,等等。在每一个维度内,列是这样排列的:以使层次结构中的最高级别的列首先出现,后面是该级别的任何属性列。这些列后面是层次结构的第二级别的级别属性,后面是该级别的属性列。这种模式一直持续,直到枚举完最低级别属性和层次结构的最低级别的任何属性列。此外,虽然多维数据集视图是以特定顺序创建的,但是用户可以以任何顺序查询多维数据集视图。
对于图19中说明的多维数据集,多维数据集视图(即,结果集)可以包括时间的两列、产品的三列、位置的五列(即,包括平方英尺属性,这是存储级别的属性)、金额的一列,和数量的一列。因此,多维数据集视图具有十一列。若没有有关列的顺序和哪些列与哪些维度和度量值关联的信息,多维数据集视图就没有用。OLAP多维元数据系统100以XML文档(该文档被称为扩展描述)提供了有关列的顺序和角色的信息(例如,列是针对维度还是针对度量值)。然后,按XML文档指定的顺序对多维结果集进行排序,一个维度的所有列彼此挨在一起排序,从最高级别到最低级别。例如,对于时间维度,年和月列以多维结果集表示,并随带列的任何属性(例如,月列的季节属性)。
一旦创建了多维数据集视图,用户或应用程序可以请求一个多维数据集元数据对象列表,从列表中选择多维数据集元数据对象,从所选择的多维数据集元数据对象的扩展描述中请求信息。
DB2、Z/OS和AIX是IBM公司的商标。Windows是微软公司的商标。Solaris是Sun Microsystems的商标。Linux是Linus Torvalds的商标。HP-UX是Open Group UNIX 95品牌的产品。Pilot Suite是Pilot Software的商标。Express是Oracle公司的商标。Essbase是Hyperion Solutions Corporation的商标。TM1是Applix,Inc.的商标。
另外的实现方式细节
所描述的用于维护有关网络组件的信息的技术可以使用标准编程和/或工程技术作为方法、设备或者产品来实现,以生产软件、固件、硬件或它们的任何组合。这里所使用的术语“产品”是指以硬件逻辑(例如,集成电路芯片、可编程门阵列(PGA)、专用集成电路(ASIC)等等)或者计算机可读的介质,如磁存储介质(例如,硬盘驱动器、软盘、磁带等等)、光存储器(CD-ROM、光盘等等)、易失性和非易失性存储器设备(例如,EEPROM、ROM、PROM、RAM、DRAM、SRAM、固件、可编程逻辑等等)。计算机可读的介质中的代码由处理器访问和执行。其中实现了优选的实施方式的代码可以进一步通过传输介质或者通过网络从文件服务器进行访问。在这样的情况下,包含了代码的产品可以包括传输介质,如网络传输线、无线传输介质、通过空气、无线电波、红外信号等等传播的信号。因此,“产品”可以包括其中包含了代码的介质。此外,“产品”可以包括其中包含、处理和执行代码的硬件和软件组件的组合。当然,那些精通本技术的人将认识到,在不偏离本发明的范围的情况下,可以对此配置进行许多修改,产品可以包括当前技术中已知的任何信息携带介质。
有许多可以描述角色的方式。例如,角色可以用文件中的元数据而不是以XML文档进行描述。
图26的逻辑描述了按特定顺序发生的特定的操作。在备选实现方式中,可以按不同的顺序执行修改或删除某些逻辑操作。此外,可以向上文描述的逻辑中添加步骤,仍符合所描述的实现方式。此外,这里所描述的操作可以连续地发生或者某些操作可以并行地处理,或者描述为由单一进程执行的操作可以由分布式进程来执行。
图26的逻辑被描述为以软件来实现的。此逻辑也可以是主机系统的操作系统或应用程序的一部分。在其他实施方式中,此逻辑可以维护在存储区域或在只读存储器或其他硬连接类型的设备中。优选的逻辑可以以硬盘驱动器或以可编程和非可编程门阵列逻辑来实现。
图29说明了根据本发明的某些实施方式的计算机系统100的体系结构的一个实现方式。计算机系统100可以实现计算机体系结构2900,该计算机体系结构具有处理器2902(例如,微处理器)、内存2904(例如,易失性存储设备)和存储器2906(例如,非易失性存储区,如磁盘驱动器、光盘驱动器、磁带驱动器等等)。存储器2906可以包括内存储设备或者附装的或者网络可访问的存储器。存储器2906中的程序被加载到内存2904中,并由处理器2902以当前技术已知的方式执行。该体系结构进一步包括网卡2908,以允许与网络进行通信。输入设备2910用于向处理器2902提供用户输入,可以包括键盘、鼠标、笔尖、麦克风、对触摸敏感的显示屏幕,或者当前技术已知的任何其他激活或输入机制。输出设备2912能够呈现从处理器2902、或诸如显示监视器、打印机、存储器等等其他组件中传送过来的信息。
本发明的优选的实施方式的上述描述只是为了说明和描述。它不是详尽的描述,也不将本发明限制为所说明的准确形式。根据上文的讲述,许多修改和变化也是可以的。本发明的范围不是由此详细说明进行限制,而是由所附加的权利要求进行限制。上文的说明、示例和数据提供了本发明的组件的制造和使用的完整的描述。由于在不偏离本发明的精神和范围的情况下本发明可以有许多实现方式,本发明的精神在于下文所附的权利要求。

Claims (30)

1一种用于进行查询处理的方法,包括:
存储事实元数据对象的元数据和与事实元数据对象关联的一个或多个维度元数据对象;
构建具有事实元数据对象中的一个或多个度量值和一个或多个维度元数据对象中的一个或多个属性的列的视图。
生成描述事实和维度元数据对象中的列的角色的另外的元数据。
2.根据权利要求1所述的方法,进一步包括:
接收一个说明,该说明描述事实元数据对象,一个或多个维度元数据对象,以及描述事实元数据对象中的一个或多个表和一个或多个维度元数据对象中的一个或多个表是如何联接的联接元数据对象;以及
从该说明创建元数据。
3.根据权利要求1所述的方法,其特征在于,元数据包括元数据对象。
4.根据权利要求1所述的方法,进一步包括:
从该说明生成多维数据集模型元数据对象。
5.根据权利要求1所述的方法,进一步包括:
从多维数据集模型元数据对象生成包括视图和另外的元数据的多维数据集元数据对象。
6.根据权利要求1所述的方法,其特征在于,可以查询视图。
7.根据权利要求1所述的方法,其特征在于,可以查询另外的元数据。
8.根据权利要求1所述的方法,其特征在于,元数据存储在数据库目录中。
9.根据权利要求1所述的方法,进一步包括:
生成结构化查询语言语句以构建视图。
10.根据权利要求1所述的方法,其特征在于,使用度量值的聚合函数和维度元数据对象中指定的每一个维度的ROLLUP操作符构建视图。
11.根据权利要求1所述的方法,其特征在于,另外的元数据存储在可扩展标记语言文档中。
12.根据权利要求1所述的方法,其特征在于,视图中的列根据另外的元数据中的列的顺序排列。
13.一种用于存储供程序访问的数据的计算机可读的介质,包括:
存储在计算机可读的介质中的数据结构,其特征在于,数据结构包括供程序使用的数据,该数据包括:
多维数据集模型元数据对象,其中包括事实元数据对象,一个或多个维度元数据对象,描述事实元数据对象中的一个或多个表和一个或多个维度元数据对象中的一个或多个表是如何联接的一个或多个联接元数据对象;以及
多维数据集元数据对象,它们代表多维数据集模型元数据对象的子集,并包括具有其中一个事实元数据对象中的一个或多个度量值和一个或多个维度元数据对象的一个或多个属性的列的视图,以及描述事实元数据对象和一个或多个维元数据对象中的列的角色的文档。
14.根据权利要求13所述的计算机可读的介质,其特征在于,事实元数据对象包括一组度量值元数据对象、一组维度元数据对象,以及一组联接元数据对象。
15.根据权利要求13所述的计算机可读的介质,其特征在于,每一个维度元数据对象都包括一组属性元数据对象、一组层次结构元数据对象、一组联接元数据对象和类型。
16.根据权利要求13所述的计算机可读的介质,其特征在于,每一个元数据对象都具有一组公用属性。
17.根据权利要求13所述的计算机可读的介质,其特征在于,数据结构进一步包括:
至少一个多维数据集事实元数据对象;
至少一个多维数据集维度元数据对象;以及
至少一个多维数据集层次结构元数据对象。
18.根据权利要求13所述的计算机可读的介质,其特征在于,多维数据集元数据对象指定多维数据集模型元数据对象。
19.一种用于进行查询处理的系统,包括:
具有至少一个程序的计算机系统,用于:
(i)存储事实元数据对象的元数据和与事实元数据对象关联的一个或多个维度元数据对象;
(ii)构建具有事实元数据对象中的一个或多个度量值和一个或多个维度元数据对象中的一个或多个属性的列的视图。
(iii)生成描述事实和维度元数据对象中的列的角色的另外的元数据。
20.根据权利要求19所述的系统,其特征在于,至少一个程序进一步包括:
接收一个说明,该说明描述事实元数据对象,一个或多个维度元数据对象,以及描述事实元数据对象中的一个或多个表和一个或多个维度元数据对象中的一个或多个表是如何联接的联接元数据对象;以及
从该说明创建元数据。
21.根据权利要求19所述的系统,其特征在于,至少一个程序进一步包括:
生成结构化查询语言语句以构建视图。
22.根据权利要求19所述的系统,其特征在于,使用度量值的聚合函数和维度元数据对象中指定的每一个维度的ROLLUP操作符构建视图。
23.根据权利要求19所述的系统,其特征在于,另外的元数据存储在可扩展标记语言文档中。
24.根据权利要求19所述的系统,其特征在于,视图中的列根据另外的元数据中的列的顺序排列。
25.一种包括用于进行查询处理的程序的产品,其特征在于,程序导致执行操作,这些操作包括:
存储事实元数据对象的元数据和与事实元数据对象关联的一个或多个维度元数据对象;
构建具有事实元数据对象中的一个或多个度量值和一个或多个维度元数据对象中的一个或多个属性的列的视图。
生成描述事实和维度元数据对象中的列的角色的另外的元数据。
26.根据权利要求25所述的产品,这些操作进一步包括:
接收一个说明,该说明描述事实元数据对象,一个或多个维度元数据对象,以及描述事实元数据对象中的一个或多个表和一个或多个维度元数据对象中的一个或多个表是如何联接的联接元数据对象;以及
从该说明创建元数据。
27.根据权利要求25所述的产品,这些操作进一步包括:
生成结构化查询语言语句以构建视图。
28.根据权利要求25所述的产品,其特征在于,使用度量值的聚合函数和维度元数据对象中指定的每一个维度的ROLLUP操作符构建视图。
29.根据权利要求25所述的产品,其特征在于,另外的元数据存储在可扩展标记语言文档中。
30.根据权利要求25所述的产品,其特征在于,视图中的列根据另外的元数据中的列的顺序排列。
CNB2003101202163A 2002-12-18 2003-12-09 使用元数据在关系数据库中创建多维数据集的方法和系统 Expired - Lifetime CN1262958C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/323,131 2002-12-18
US10/323,131 US7181450B2 (en) 2002-12-18 2002-12-18 Method, system, and program for use of metadata to create multidimensional cubes in a relational database

Publications (2)

Publication Number Publication Date
CN1508728A true CN1508728A (zh) 2004-06-30
CN1262958C CN1262958C (zh) 2006-07-05

Family

ID=32593117

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2003101202163A Expired - Lifetime CN1262958C (zh) 2002-12-18 2003-12-09 使用元数据在关系数据库中创建多维数据集的方法和系统

Country Status (2)

Country Link
US (1) US7181450B2 (zh)
CN (1) CN1262958C (zh)

Cited By (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100440215C (zh) * 2004-12-06 2008-12-03 国际商业机器公司 用于管理相互相关的数据对象的方法和系统
WO2009055961A1 (fr) * 2007-10-30 2009-05-07 Mingzhong Li Ressource d'indexation d'objets dans une structure multidimensionnelle, entrepôt de stockage d'objets, procédé d'accès aux objets et système d'accès aux objets
WO2009065262A1 (fr) * 2007-11-23 2009-05-28 Mingzhong Li Procédé de collecte d'objets dans une structure multidimensionnelle, système de collecte d'objets et support d'enregistrement
CN101258485B (zh) * 2005-09-09 2010-11-17 微软公司 从电子数据文件生成报表命名对象视图的方法和系统
CN101253495B (zh) * 2005-08-30 2010-12-22 微软公司 电子数据快照生成器
CN101111838B (zh) * 2004-11-30 2011-01-19 国际商业机器公司 多维企业软件系统中的自动关系模式生成
CN101167048B (zh) * 2004-11-30 2011-01-19 国际商业机器公司 多维企业软件系统内的可聚集维度信息的生成
CN102279740A (zh) * 2010-06-11 2011-12-14 微软公司 到对象上的反射
CN102339295A (zh) * 2010-07-23 2012-02-01 中国移动通信集团公司 Sql脚本的结构化元数据生成方法及数据地图生成方法
CN102650995A (zh) * 2011-02-25 2012-08-29 中国银联股份有限公司 多维数据分析模型生成系统及方法
CN103927337A (zh) * 2014-03-26 2014-07-16 北京国双科技有限公司 用于联机分析处理中关联关系的数据处理方法和装置
CN103942299A (zh) * 2014-04-15 2014-07-23 湖南中烟工业有限责任公司 一种数据联动展示装置及展示方法
CN104221017A (zh) * 2012-04-10 2014-12-17 微软公司 使用示例来查找连接语料库中的数据
CN104462165A (zh) * 2013-09-20 2015-03-25 商业对象软件有限公司 揭示域对象之间的关系
CN104462172A (zh) * 2013-09-16 2015-03-25 安讯士有限公司 由分布式系统中的装置执行的方法及在分布式系统中的装置
CN105205085A (zh) * 2014-06-30 2015-12-30 中兴通讯股份有限公司 一种海量数据的多维分析方法及装置
CN105488048A (zh) * 2014-09-16 2016-04-13 中兴通讯股份有限公司 一种数据查询的方法及装置
CN105706084A (zh) * 2013-09-06 2016-06-22 超级医疗系统公司 元数据自动化系统
CN107943863A (zh) * 2017-11-09 2018-04-20 北京许继电气有限公司 基于商业智能的敏捷建模方法和系统
CN108241692A (zh) * 2016-12-26 2018-07-03 北京国双科技有限公司 数据的查询方法及装置
CN108280224A (zh) * 2018-02-09 2018-07-13 平安科技(深圳)有限公司 万级维度数据生成方法、装置、设备以及存储介质
CN108345602A (zh) * 2017-01-22 2018-07-31 株式会社日立制作所 数据多维建模系统及数据多维建模方法
CN108595588A (zh) * 2018-04-19 2018-09-28 中国科学院电子学研究所苏州研究院 一种科学数据存储关联方法
CN109189861A (zh) * 2018-06-29 2019-01-11 深圳市彬讯科技有限公司 基于指标的数据流统计方法、服务器及存储介质
CN109325648A (zh) * 2018-06-29 2019-02-12 深圳市彬讯科技有限公司 基于指标的多维度数据流统计方法、服务器及存储介质
CN110928903A (zh) * 2018-08-31 2020-03-27 阿里巴巴集团控股有限公司 数据提取方法及装置、设备和存储介质
CN111159173A (zh) * 2018-11-08 2020-05-15 王纹 一种构造多维语义数据库的方法
CN111295651A (zh) * 2017-09-29 2020-06-16 甲骨文国际公司 在多维数据库环境中使多个父母具有权重的系统和方法
CN111542813A (zh) * 2017-10-09 2020-08-14 塔谱软件有限责任公司 使用异构数据的对象模型来便于建立数据可视化
CN112286929A (zh) * 2020-06-08 2021-01-29 上海柯林布瑞信息技术有限公司 多维数据集的生成方法及装置、计算机可读存储介质
CN113742320A (zh) * 2021-11-05 2021-12-03 亿景智联(北京)科技有限公司 一种olap数据仓库的管理方法及装置
WO2022242524A1 (zh) * 2021-05-19 2022-11-24 中兴通讯股份有限公司 建模方法、网元数据处理方法和装置、电子设备、介质

Families Citing this family (219)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6915289B1 (en) * 2000-05-04 2005-07-05 International Business Machines Corporation Using an index to access a subject multi-dimensional database
US6829621B2 (en) * 2000-10-06 2004-12-07 International Business Machines Corporation Automatic determination of OLAP cube dimensions
US7035843B1 (en) * 2002-02-15 2006-04-25 Oracle International Corporation Evaluation of database hierarchical cubes by nesting rollup operators associated with multiple groupings
US7447687B2 (en) * 2002-05-10 2008-11-04 International Business Machines Corporation Methods to browse database query information
US7716167B2 (en) 2002-12-18 2010-05-11 International Business Machines Corporation System and method for automatically building an OLAP model in a relational database
US7472127B2 (en) * 2002-12-18 2008-12-30 International Business Machines Corporation Methods to identify related data in a multidimensional database
US7953694B2 (en) 2003-01-13 2011-05-31 International Business Machines Corporation Method, system, and program for specifying multidimensional calculations for a relational OLAP engine
US20040181518A1 (en) * 2003-03-14 2004-09-16 Mayo Bryan Edward System and method for an OLAP engine having dynamic disaggregation
FR2853110A1 (fr) * 2003-03-31 2004-10-01 Agreen Tech Equipement informatique pour un acteur d'une chaine logistique
US7895191B2 (en) * 2003-04-09 2011-02-22 International Business Machines Corporation Improving performance of database queries
US7636720B2 (en) 2003-05-08 2009-12-22 Microsoft Corporation Associating and using information in a metadirectory
US20040225632A1 (en) * 2003-05-08 2004-11-11 Microsoft Corporation Automated information management and related methods
US7634480B2 (en) * 2003-05-08 2009-12-15 Microsoft Corporation Declarative rules for metadirectory
US7257603B2 (en) * 2003-05-08 2007-08-14 Microsoft Corporation Preview mode
US7516157B2 (en) * 2003-05-08 2009-04-07 Microsoft Corporation Relational directory
US7085762B2 (en) * 2003-05-22 2006-08-01 International Business Machines Corporation Methods, systems and computer program products for web services access of analytical models
WO2004112301A2 (en) 2003-06-11 2004-12-23 Wtviii, Inc. Mark up language authoring system
US7401075B2 (en) * 2003-06-11 2008-07-15 Wtviii, Inc. System for viewing and indexing mark up language messages, forms and documents
US7590638B2 (en) * 2003-06-24 2009-09-15 Microsoft Corporation System and method for online analytical processing using dimension attributes and multiple hierarchies where first hierarchy has at least one attribute from the defined dimension not present in the second hierarchy
US7590643B2 (en) * 2003-08-21 2009-09-15 Microsoft Corporation Systems and methods for extensions and inheritance for units of information manageable by a hardware/software interface system
US8238696B2 (en) 2003-08-21 2012-08-07 Microsoft Corporation Systems and methods for the implementation of a digital images schema for organizing units of information manageable by a hardware/software interface system
US8166101B2 (en) * 2003-08-21 2012-04-24 Microsoft Corporation Systems and methods for the implementation of a synchronization schemas for units of information manageable by a hardware/software interface system
US8131739B2 (en) * 2003-08-21 2012-03-06 Microsoft Corporation Systems and methods for interfacing application programs with an item-based storage platform
US7756907B2 (en) * 2003-09-16 2010-07-13 The Board Of Trustees Of The Leland Stanford Jr. University Computer systems and methods for visualizing data
US7620658B2 (en) * 2003-09-24 2009-11-17 Microsoft Corporation Configuration of a directory system
US8315972B2 (en) * 2003-09-26 2012-11-20 Microsoft Corporation Method for maintaining databases information about multiple instances of an activity generating, updating virtual OLAP cube based on modified star-schema
US7908548B2 (en) * 2003-10-24 2011-03-15 Oracle International Corporation User interface for establishing mappings from internal metadata to external metadata
US7933867B1 (en) * 2003-11-12 2011-04-26 Teradata Us, Inc. Maintaining views of cube-based operations in a database system
US7606828B2 (en) * 2003-11-18 2009-10-20 Sap Ag Delta-mechanism for integration of OLAP-based planning and reporting
US8037102B2 (en) 2004-02-09 2011-10-11 Robert T. and Virginia T. Jenkins Manipulating sets of hierarchical data
US9684703B2 (en) * 2004-04-29 2017-06-20 Precisionpoint Software Limited Method and apparatus for automatically creating a data warehouse and OLAP cube
US9646107B2 (en) 2004-05-28 2017-05-09 Robert T. and Virginia T. Jenkins as Trustee of the Jenkins Family Trust Method and/or system for simplifying tree expressions such as for query reduction
US20050267823A1 (en) * 2004-05-28 2005-12-01 Bernd Hartmann Balance processor for automated accounting system employing merging and consistency checks
US7707143B2 (en) * 2004-06-14 2010-04-27 International Business Machines Corporation Systems, methods, and computer program products that automatically discover metadata objects and generate multidimensional models
US7480663B2 (en) * 2004-06-22 2009-01-20 International Business Machines Corporation Model based optimization with focus regions
US20050283494A1 (en) * 2004-06-22 2005-12-22 International Business Machines Corporation Visualizing and manipulating multidimensional OLAP models graphically
US7620632B2 (en) 2004-06-30 2009-11-17 Skyler Technology, Inc. Method and/or system for performing tree matching
US8412671B2 (en) * 2004-08-13 2013-04-02 Hewlett-Packard Development Company, L.P. System and method for developing a star schema
US9171100B2 (en) 2004-09-22 2015-10-27 Primo M. Pettovello MTree an XPath multi-axis structure threaded index
US7483880B2 (en) * 2004-09-30 2009-01-27 Microsoft Corporation User interface for database display
US7801923B2 (en) 2004-10-29 2010-09-21 Robert T. and Virginia T. Jenkins as Trustees of the Jenkins Family Trust Method and/or system for tagging trees
US7627591B2 (en) 2004-10-29 2009-12-01 Skyler Technology, Inc. Method and/or system for manipulating tree expressions
US7630995B2 (en) * 2004-11-30 2009-12-08 Skyler Technology, Inc. Method and/or system for transmitting and/or receiving data
US7505888B2 (en) * 2004-11-30 2009-03-17 International Business Machines Corporation Reporting model generation within a multidimensional enterprise software system
US7636727B2 (en) * 2004-12-06 2009-12-22 Skyler Technology, Inc. Enumeration of trees from finite number of nodes
US7418438B2 (en) * 2004-11-30 2008-08-26 International Business Machines Corporation Automated default dimension selection within a multidimensional enterprise software system
US8271463B2 (en) * 2004-12-28 2012-09-18 International Business Machines Corporation System and method for providing access to data with user defined table functions
US7769579B2 (en) 2005-05-31 2010-08-03 Google Inc. Learning facts from semi-structured text
US8244689B2 (en) * 2006-02-17 2012-08-14 Google Inc. Attribute entropy as a signal in object normalization
US8316059B1 (en) 2004-12-30 2012-11-20 Robert T. and Virginia T. Jenkins Enumeration of rooted partial subtrees
US8438141B2 (en) 2005-01-27 2013-05-07 International Business Machines Corporation System and method for providing secure access to data with user defined table functions
US8615530B1 (en) 2005-01-31 2013-12-24 Robert T. and Virginia T. Jenkins as Trustees for the Jenkins Family Trust Method and/or system for tree transformation
US7681177B2 (en) 2005-02-28 2010-03-16 Skyler Technology, Inc. Method and/or system for transforming between trees and strings
US7805422B2 (en) 2005-02-28 2010-09-28 Microsoft Corporation Change notification query multiplexing
EP1875335A4 (en) * 2005-03-07 2008-10-08 Skytide Inc SYSTEM AND METHOD FOR ANALYZING AND REPORTING ADVANCED DATA FROM MULTIPLE SOURCES IN MULTIPLE FORMATS
WO2006095365A2 (en) * 2005-03-11 2006-09-14 Suresh Sambandam A system and method of defining a hierarchical datamodel and related computation and instruction rules using spreadsheet like user interface
US7953720B1 (en) 2005-03-31 2011-05-31 Google Inc. Selecting the best answer to a fact query from among a set of potential answers
US8682913B1 (en) 2005-03-31 2014-03-25 Google Inc. Corroborating facts extracted from multiple sources
US9208229B2 (en) * 2005-03-31 2015-12-08 Google Inc. Anchor text summarization for corroboration
US7587387B2 (en) 2005-03-31 2009-09-08 Google Inc. User interface for facts query engine with snippets from information sources that include query terms and answer terms
US8239394B1 (en) 2005-03-31 2012-08-07 Google Inc. Bloom filters for query simulation
US8356040B2 (en) 2005-03-31 2013-01-15 Robert T. and Virginia T. Jenkins Method and/or system for transforming between trees and arrays
US7899821B1 (en) 2005-04-29 2011-03-01 Karl Schiffmann Manipulation and/or analysis of hierarchical data
US7698349B2 (en) * 2005-05-25 2010-04-13 Microsoft Corporation Dimension member sliding in online analytical processing
US7734615B2 (en) * 2005-05-26 2010-06-08 International Business Machines Corporation Performance data for query optimization of database partitions
US8996470B1 (en) 2005-05-31 2015-03-31 Google Inc. System for ensuring the internal consistency of a fact repository
US7831545B1 (en) 2005-05-31 2010-11-09 Google Inc. Identifying the unifying subject of a set of facts
US7765208B2 (en) * 2005-06-06 2010-07-27 Microsoft Corporation Keyword analysis and arrangement
US7925642B2 (en) * 2005-06-09 2011-04-12 International Business Machines Corporation Apparatus and method for reducing size of intermediate results by analyzing having clause information during SQL processing
US20060282470A1 (en) * 2005-06-10 2006-12-14 Hong-Lee Yu Determining compliance of a database architecture to an enterprise data standard
US9792351B2 (en) * 2005-06-10 2017-10-17 International Business Machines Corporation Tolerant and extensible discovery of relationships in data using structural information and data analysis
US8386463B2 (en) 2005-07-14 2013-02-26 International Business Machines Corporation Method and apparatus for dynamically associating different query execution strategies with selective portions of a database table
US20070027860A1 (en) * 2005-07-28 2007-02-01 International Business Machines Corporation Method and apparatus for eliminating partitions of a database table from a join query using implicit limitations on a partition key value
US8099674B2 (en) 2005-09-09 2012-01-17 Tableau Software Llc Computer systems and methods for automatically viewing multidimensional databases
US20070061287A1 (en) * 2005-09-09 2007-03-15 Jian Le Method, apparatus and program storage device for optimizing a data warehouse model and operation
CA2518881A1 (en) * 2005-09-13 2007-03-13 Cognos Incorporated System and method of ready to render business intelligence data sets
WO2007034482A2 (en) * 2005-09-20 2007-03-29 Sterna Technologies (2005) Ltd. A method and system for managing data and organizational constraints
US7640264B1 (en) * 2005-09-23 2009-12-29 Emc Corporation System and methods for querying a report database
US7546312B1 (en) * 2005-09-23 2009-06-09 Emc Corporation System and methods for modeling a report query database
US7681185B2 (en) 2005-10-12 2010-03-16 Microsoft Corporation Template-driven approach to extract, transform, and/or load
US7664742B2 (en) * 2005-11-14 2010-02-16 Pettovello Primo M Index data structure for a peer-to-peer network
US7587416B2 (en) * 2005-12-15 2009-09-08 Microsoft Corporation Advanced desktop reporting
US20070143250A1 (en) * 2005-12-20 2007-06-21 Beckman Coulter, Inc. Adaptable database system
US20070174309A1 (en) * 2006-01-18 2007-07-26 Pettovello Primo M Mtreeini: intermediate nodes and indexes
US8055674B2 (en) * 2006-02-17 2011-11-08 Google Inc. Annotation framework
US7925676B2 (en) * 2006-01-27 2011-04-12 Google Inc. Data object visualization using maps
US7555471B2 (en) * 2006-01-27 2009-06-30 Google Inc. Data object visualization
US20070179965A1 (en) * 2006-01-27 2007-08-02 Hogue Andrew W Designating data objects for analysis
US20070185870A1 (en) * 2006-01-27 2007-08-09 Hogue Andrew W Data object visualization using graphs
US8260785B2 (en) 2006-02-17 2012-09-04 Google Inc. Automatic object reference identification and linking in a browseable fact repository
US7991797B2 (en) 2006-02-17 2011-08-02 Google Inc. ID persistence through normalization
US8954426B2 (en) * 2006-02-17 2015-02-10 Google Inc. Query language
US7805400B2 (en) * 2006-01-31 2010-09-28 Microsoft Corporation Report generation using metadata
US8700568B2 (en) 2006-02-17 2014-04-15 Google Inc. Entity normalization via name normalization
US7555495B2 (en) * 2006-04-12 2009-06-30 Business Objects Software Ltd. Apparatus and method for routing composite objects to a report server
CN102929901B (zh) * 2006-06-26 2016-12-14 尼尔森(美国)有限公司 提高数据仓库性能的方法和装置
US20090234710A1 (en) * 2006-07-17 2009-09-17 Asma Belgaied Hassine Customer centric revenue management
US7747562B2 (en) * 2006-08-15 2010-06-29 International Business Machines Corporation Virtual multidimensional datasets for enterprise software systems
US8375041B2 (en) * 2006-08-31 2013-02-12 Business Objects Software Ltd Processing queries against combinations of data sources
US7895150B2 (en) 2006-09-07 2011-02-22 International Business Machines Corporation Enterprise planning and performance management system providing double dispatch retrieval of multidimensional data
US8954412B1 (en) 2006-09-28 2015-02-10 Google Inc. Corroborating facts in electronic documents
US8918755B2 (en) * 2006-10-17 2014-12-23 International Business Machines Corporation Enterprise performance management software system having dynamic code generation
US8122026B1 (en) 2006-10-20 2012-02-21 Google Inc. Finding and disambiguating references to entities on web pages
US8694539B2 (en) * 2006-10-27 2014-04-08 International Business Machines Corporation System and method for naming dimension members in a data analyzing system
JP5068062B2 (ja) * 2006-10-30 2012-11-07 インターナショナル・ビジネス・マシーンズ・コーポレーション データベースを統合するためのシステム、方法、およびプログラム
CA2702405A1 (en) * 2006-10-30 2008-05-08 Execue, Inc. A domain independent system and method of automating data aggregation and presentation
US10503867B1 (en) 2006-11-03 2019-12-10 Vidistar, Llc System for interacting with medical images
US20140074502A1 (en) * 2006-11-03 2014-03-13 Vidistar, Llc Methods and systems for analyzing medical image data
US10192031B1 (en) 2006-11-03 2019-01-29 Vidistar, Llc System for extracting information from DICOM structured reports
US7720868B2 (en) * 2006-11-13 2010-05-18 Microsoft Corporation Providing assistance with the creation of an XPath expression
US20080114733A1 (en) * 2006-11-14 2008-05-15 Microsoft Corporation User-structured data table indexing
US20080168042A1 (en) * 2007-01-09 2008-07-10 Dettinger Richard D Generating summaries for query results based on field definitions
WO2008114306A1 (ja) * 2007-02-19 2008-09-25 Sony Computer Entertainment Inc. コンテンツ空間形成装置、その方法、コンピュータ、プログラムおよび記録媒体
US20080222189A1 (en) * 2007-03-06 2008-09-11 Microsoft Corporation Associating multidimensional data models
US8347202B1 (en) 2007-03-14 2013-01-01 Google Inc. Determining geographic locations for place names in a fact repository
US9158818B2 (en) * 2007-04-05 2015-10-13 Oracle International Corporation Facilitating identification of star schemas in database environments
US8595231B2 (en) * 2007-04-26 2013-11-26 International Business Machines Corporation Ruleset generation for multiple entities with multiple data values per attribute
US8239350B1 (en) 2007-05-08 2012-08-07 Google Inc. Date ambiguity resolution
US8239751B1 (en) 2007-05-16 2012-08-07 Google Inc. Data from web documents in a spreadsheet
US20080313136A1 (en) * 2007-06-13 2008-12-18 International Business Machines Corporation Method and apparatus for producing up-to-date query results from tables including data from a data warehouse
US7966291B1 (en) 2007-06-26 2011-06-21 Google Inc. Fact-based object merging
US20090006455A1 (en) * 2007-06-30 2009-01-01 Microsoft Corporation Automated time metadata deduction
US7970766B1 (en) * 2007-07-23 2011-06-28 Google Inc. Entity type assignment
US8738643B1 (en) 2007-08-02 2014-05-27 Google Inc. Learning synonymous object names from anchor texts
US20090044101A1 (en) * 2007-08-07 2009-02-12 Wtviii, Inc. Automated system and method for creating minimal markup language schemas for a framework of markup language schemas
US8032520B2 (en) * 2007-10-04 2011-10-04 Sap Ag Extended handling of ambiguous joins
US20090106293A1 (en) * 2007-10-19 2009-04-23 Oracle International Corporation Multidimensional forecasting
US8200618B2 (en) 2007-11-02 2012-06-12 International Business Machines Corporation System and method for analyzing data in a report
US10452768B2 (en) * 2007-11-03 2019-10-22 International Business Machines Corporation Managing source annotation metadata
US8812435B1 (en) 2007-11-16 2014-08-19 Google Inc. Learning objects and facts from documents
US20090172024A1 (en) * 2007-12-31 2009-07-02 Industrial Technology Research Institute Systems and methods for collecting and analyzing business intelligence data
US8473496B2 (en) * 2008-01-31 2013-06-25 SAP France S.A. Utilizing density metadata to process multi-dimensional data
US7895174B2 (en) * 2008-03-27 2011-02-22 Microsoft Corporation Database part table junctioning
US8015129B2 (en) * 2008-04-14 2011-09-06 Microsoft Corporation Parsimonious multi-resolution value-item lists
US9043273B2 (en) * 2008-04-25 2015-05-26 International Business Machines Corporation Method and apparatus for declarative data warehouse definition for object-relational mapped objects
US8352524B2 (en) 2008-04-30 2013-01-08 Microsoft Corporation Dynamic multi-scale schema
US8352458B2 (en) * 2008-05-07 2013-01-08 Oracle International Corporation Techniques for transforming and loading data into a fact table in a data warehouse
US8495513B2 (en) * 2008-05-13 2013-07-23 International Business Machines Corporation Automated content generation through selective combination
US8250024B2 (en) * 2008-05-13 2012-08-21 International Business Machines Corporation Search relevance in business intelligence systems through networked ranking
US8832601B2 (en) * 2008-05-31 2014-09-09 Red Hat, Inc. ETL tool utilizing dimension trees
US8874502B2 (en) * 2008-08-29 2014-10-28 Red Hat, Inc. Real time datamining
US10102262B2 (en) 2008-08-29 2018-10-16 Red Hat, Inc. Creating reports using dimension trees
US8214323B2 (en) * 2008-09-16 2012-07-03 Beckman Coulter, Inc. Extensible data warehouse for flow cytometry data
US7970728B2 (en) * 2008-10-23 2011-06-28 International Business Machines Corporation Dynamically building and populating data marts with data stored in repositories
US8914418B2 (en) * 2008-11-30 2014-12-16 Red Hat, Inc. Forests of dimension trees
US8412493B2 (en) * 2008-12-22 2013-04-02 International Business Machines Corporation Multi-dimensional model generation for determining service performance
US20100257438A1 (en) * 2009-04-07 2010-10-07 Mellmo Inc. User interface method and apparatus to display tabular source data in a small screen display area
US20100287220A1 (en) * 2009-05-05 2010-11-11 Microsoft Corporation Dynamically Encoding Types and Inhabitants in a Relational Database
US20110016158A1 (en) * 2009-07-16 2011-01-20 Gilles Robert Vergnory-Mion Generation of dimensional metadata based on rdbms data
US9087059B2 (en) * 2009-08-07 2015-07-21 Google Inc. User interface for presenting search results for multiple regions of a visual query
US9135277B2 (en) 2009-08-07 2015-09-15 Google Inc. Architecture for responding to a visual query
US20110078201A1 (en) * 2009-09-30 2011-03-31 Teradata Us, Inc. Ragged and unbalanced hierarchy management and visualization
US8631028B1 (en) 2009-10-29 2014-01-14 Primo M. Pettovello XPath query processing improvements
US9189535B2 (en) * 2009-12-01 2015-11-17 International Business Machines Corporation Compensating for unbalanced hierarchies when generating OLAP queries from report specifications
US8712989B2 (en) 2010-12-03 2014-04-29 Microsoft Corporation Wild card auto completion
US8489650B2 (en) * 2011-01-05 2013-07-16 Beijing Uniwtech Co., Ltd. System, implementation, application, and query language for a tetrahedral data model for unstructured data
EP2490135A1 (en) * 2011-02-21 2012-08-22 Amadeus S.A.S. Method and system for providing statistical data from a data warehouse
US9196086B2 (en) 2011-04-26 2015-11-24 Here Global B.V. Method, system, and computer-readable data storage device for creating and displaying three-dimensional features on an electronic map display
US8898145B2 (en) 2011-06-15 2014-11-25 Microsoft Corporation Query optimization techniques for business intelligence systems
US8645346B2 (en) 2011-06-16 2014-02-04 Microsoft Corporation Composable SQL query generation
CA2795757C (en) * 2011-11-15 2021-09-07 Pvelocity Inc. Method and system for providing business intelligence data
CN102521386B (zh) * 2011-12-22 2013-07-10 清华大学 基于集群存储的空间元数据分组方法
US9069373B2 (en) * 2011-12-23 2015-06-30 Sap Se Generating a runtime framework
CN104428734A (zh) 2012-06-25 2015-03-18 微软公司 输入法编辑器应用平台
US8825635B2 (en) * 2012-08-10 2014-09-02 Microsoft Corporation Automatic verification of data sources
US9633076B1 (en) 2012-10-15 2017-04-25 Tableau Software Inc. Blending and visualizing data from multiple data sources
CN103793422B (zh) 2012-10-31 2017-05-17 国际商业机器公司 基于增强星型模型的立方体元数据及查询语句生成
US9342566B2 (en) * 2013-01-17 2016-05-17 Sap Se Systems and methods for searching data structures of a database
US9460172B2 (en) * 2013-03-13 2016-10-04 Sas Institute Inc. Method to reduce large OLAP cube size using cell selection rules
US9460128B1 (en) * 2013-03-14 2016-10-04 Arris Enterprises, Inc. Sliding window view group constructs in relational database query language
US20140365519A1 (en) * 2013-06-10 2014-12-11 Targit A/S Intelligent processing of user input to a business intelligence software application
US20150088925A1 (en) * 2013-09-20 2015-03-26 Oracle International Corporation User interface for pivot views
US20150134676A1 (en) * 2013-11-11 2015-05-14 International Business Machines Corporation Amorphous data query formulation
CN103870571B (zh) * 2014-03-14 2017-06-06 华为技术有限公司 多维联机分析处理系统中的立方体重构方法和装置
US10204150B2 (en) * 2014-03-21 2019-02-12 Sap Se Simplified hierarchy definition for multidimensional data analysis
US9424318B2 (en) 2014-04-01 2016-08-23 Tableau Software, Inc. Systems and methods for ranking data visualizations
US9613102B2 (en) 2014-04-01 2017-04-04 Tableau Software, Inc. Systems and methods for ranking data visualizations
US20150278214A1 (en) 2014-04-01 2015-10-01 Tableau Software, Inc. Systems and Methods for Ranking Data Visualizations Using Different Data Fields
US10353923B2 (en) * 2014-04-24 2019-07-16 Ebay Inc. Hadoop OLAP engine
US10282446B2 (en) * 2014-06-30 2019-05-07 Netscout Systems Texas, Llc Dynamic selection of source table for DB rollup aggregation and query rewrite based on model driven definitions and cardinality estimates
CN105446991B (zh) * 2014-07-07 2018-10-30 阿里巴巴集团控股有限公司 数据存储方法、查询方法及设备
US10585892B2 (en) 2014-07-10 2020-03-10 Oracle International Corporation Hierarchical dimension analysis in multi-dimensional pivot grids
US10606855B2 (en) 2014-07-10 2020-03-31 Oracle International Corporation Embedding analytics within transaction search
CN105404634B (zh) * 2014-09-15 2019-02-22 南京理工大学 基于Key-Value数据块的数据管理方法及系统
US10176226B2 (en) 2014-11-26 2019-01-08 Looker Data Sciences, Inc. Relation aware aggregation (RAA) on normalized datasets
US20160171401A1 (en) * 2014-12-11 2016-06-16 Hao Wu Layout optimization for interactional objects in a constrained geographical area
CN105824855B (zh) * 2015-01-09 2019-12-13 阿里巴巴集团控股有限公司 一种对数据对象筛选分类的方法、装置以及电子设备
US10333696B2 (en) 2015-01-12 2019-06-25 X-Prime, Inc. Systems and methods for implementing an efficient, scalable homomorphic transformation of encrypted data with minimal data expansion and improved processing efficiency
US10191963B2 (en) 2015-05-29 2019-01-29 Oracle International Corporation Prefetching analytic results across multiple levels of data
CN104866603B (zh) * 2015-06-01 2018-09-25 明算科技(北京)股份有限公司 元数据的调用方法和元数据管理系统
US9875276B2 (en) * 2015-06-15 2018-01-23 Sap Se Database view generation
US11294924B1 (en) * 2015-07-16 2022-04-05 Tableau Software, Inc. Systems and methods for using multiple aggregation levels in a single data visualization
WO2017053901A1 (en) * 2015-09-23 2017-03-30 ValueCorp Pacific, Incorporated Systems and methods for automatic distillation of concepts from math problems and dynamic construction and testing of math problems from a collection of math concepts
US10552393B2 (en) * 2015-10-23 2020-02-04 Oracle International Corporation System and method for use of a dynamic flow in a multidimensional database environment
US10733155B2 (en) * 2015-10-23 2020-08-04 Oracle International Corporation System and method for extracting a star schema from tabular data for use in a multidimensional database environment
US10599678B2 (en) * 2015-10-23 2020-03-24 Numerify, Inc. Input gathering system and method for defining, refining or validating star schema for a source database
US10642990B2 (en) * 2015-10-24 2020-05-05 Oracle International Corporation Generation of dynamic contextual pivot grid analytics
US11468372B2 (en) * 2016-03-08 2022-10-11 Tata Consultancy Services Limited Data modeling systems and methods for risk profiling
KR101758219B1 (ko) * 2017-01-24 2017-07-14 김훈 수치정보 검색이 가능한 수치정보 관리장치
US10656964B2 (en) 2017-05-16 2020-05-19 Oracle International Corporation Dynamic parallelization of a calculation process
US10719372B2 (en) 2017-05-22 2020-07-21 Oracle International Corporation Dynamic parallelization of data loading
CN108376143B (zh) * 2018-01-11 2019-12-27 上海跬智信息技术有限公司 一种新型的olap预计算系统及生成预计算结果的方法
US11023485B2 (en) 2018-09-18 2021-06-01 International Business Machines Corporation Cube construction for an OLAP system
US11966406B2 (en) 2018-10-22 2024-04-23 Tableau Software, Inc. Utilizing appropriate measure aggregation for generating data visualizations of multi-fact datasets
US11537276B2 (en) 2018-10-22 2022-12-27 Tableau Software, Inc. Generating data visualizations according to an object model of selected data sources
US10996835B1 (en) 2018-12-14 2021-05-04 Tableau Software, Inc. Data preparation user interface with coordinated pivots
US11240265B2 (en) 2019-05-06 2022-02-01 Bank Of America Corporation Network forensic system for performing transmission metadata tracking and analysis
US11030256B2 (en) 2019-11-05 2021-06-08 Tableau Software, Inc. Methods and user interfaces for visually analyzing data visualizations with multi-row calculations
US10997217B1 (en) 2019-11-10 2021-05-04 Tableau Software, Inc. Systems and methods for visualizing object models of database tables
US11366858B2 (en) 2019-11-10 2022-06-21 Tableau Software, Inc. Data preparation using semantic roles
US11205296B2 (en) * 2019-12-20 2021-12-21 Sap Se 3D data exploration using interactive cuboids
USD959447S1 (en) 2019-12-20 2022-08-02 Sap Se Display system or portion thereof with a virtual three-dimensional animated graphical user interface
USD959476S1 (en) 2019-12-20 2022-08-02 Sap Se Display system or portion thereof with a virtual three-dimensional animated graphical user interface
USD959477S1 (en) 2019-12-20 2022-08-02 Sap Se Display system or portion thereof with a virtual three-dimensional animated graphical user interface
US11281668B1 (en) 2020-06-18 2022-03-22 Tableau Software, LLC Optimizing complex database queries using query fusion
US20220147503A1 (en) * 2020-08-11 2022-05-12 Massachusetts Mutual Life Insurance Company Systems and methods to generate a database structure with a low-latency key architecture
US11461328B2 (en) 2020-09-21 2022-10-04 Oracle International Corporation Method for using a sematic model to transform SQL against a relational table to enable performance improvements
US11556533B2 (en) * 2020-11-12 2023-01-17 Oracle International Corporation Method for generating views based on a semantic model, that allows for autonomous performance improvements and complex calculations
US11868329B2 (en) 2022-05-20 2024-01-09 International Business Machines Corporation Multidimensional cube multivariate regression

Family Cites Families (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5978788A (en) * 1997-04-14 1999-11-02 International Business Machines Corporation System and method for generating multi-representations of a data cube
US5943668A (en) 1997-06-30 1999-08-24 International Business Machines Corporation Relational emulation of a multi-dimensional database
US5926818A (en) * 1997-06-30 1999-07-20 International Business Machines Corporation Relational database implementation of a multi-dimensional database
US5905985A (en) 1997-06-30 1999-05-18 International Business Machines Corporation Relational database modifications based on multi-dimensional database modifications
US6205447B1 (en) * 1997-06-30 2001-03-20 International Business Machines Corporation Relational database management of multi-dimensional data
US5999924A (en) * 1997-07-25 1999-12-07 Amazon.Com, Inc. Method and apparatus for producing sequenced queries
US6023695A (en) 1997-10-31 2000-02-08 Oracle Corporation Summary table management in a computer system
US5918232A (en) * 1997-11-26 1999-06-29 Whitelight Systems, Inc. Multidimensional domain modeling method and system
US6003036A (en) * 1998-02-12 1999-12-14 Martin; Michael W. Interval-partitioning method for multidimensional data
US6289352B1 (en) 1998-05-29 2001-09-11 Crystal Decisions, Inc. Apparatus and method for compound on-line analytical processing in databases
US6546381B1 (en) * 1998-11-02 2003-04-08 International Business Machines Corporation Query optimization system and method
US6449609B1 (en) * 1998-12-28 2002-09-10 Oracle Corporation Using materialized view to process a related query containing a one to many lossless join
US5991754A (en) 1998-12-28 1999-11-23 Oracle Corporation Rewriting a query in terms of a summary based on aggregate computability and canonical format, and when a dimension table is on the child side of an outer join
US6438537B1 (en) 1999-06-22 2002-08-20 Microsoft Corporation Usage based aggregation optimization
US6374234B1 (en) * 1999-06-22 2002-04-16 Microsoft Corporation Aggregations performance estimation in database systems
US6477536B1 (en) * 1999-06-22 2002-11-05 Microsoft Corporation Virtual cubes
US6707454B1 (en) 1999-07-01 2004-03-16 Lucent Technologies Inc. Systems and methods for visualizing multi-dimensional data in spreadsheets and other data structures
US6581054B1 (en) 1999-07-30 2003-06-17 Computer Associates Think, Inc. Dynamic query model and method
US6385604B1 (en) * 1999-08-04 2002-05-07 Hyperroll, Israel Limited Relational database management system having integrated non-relational multi-dimensional data store of aggregated data elements
US6408292B1 (en) 1999-08-04 2002-06-18 Hyperroll, Israel, Ltd. Method of and system for managing multi-dimensional databases using modular-arithmetic based address data mapping processes on integer-encoded business dimensions
US6542895B1 (en) * 1999-08-30 2003-04-01 International Business Machines Corporation Multi-dimensional restructure performance when adding or removing dimensions and dimensions members
US6546395B1 (en) * 1999-08-30 2003-04-08 International Business Machines Corporation Multi-dimensional restructure performance by selecting a technique to modify a relational database based on a type of restructure
CA2281331A1 (en) * 1999-09-03 2001-03-03 Cognos Incorporated Database management system
FR2806183B1 (fr) * 1999-12-01 2006-09-01 Cartesis S A Dispositif et procede pour la consolidation instantanee, l'enrichissement et le "reporting" ou remontee d'information dans une base de donnees multidimensionnelle
US6356900B1 (en) 1999-12-30 2002-03-12 Decode Genetics Ehf Online modifications of relations in multidimensional processing
US6871140B1 (en) * 2000-02-25 2005-03-22 Costar Group, Inc. System and method for collection, distribution, and use of information in connection with commercial real estate
US20020029207A1 (en) 2000-02-28 2002-03-07 Hyperroll, Inc. Data aggregation server for managing a multi-dimensional database and database management system having data aggregation server integrated therein
DE60137660D1 (de) * 2000-03-17 2009-04-02 Panasonic Corp Kartenanzeige- und Navigationsvorrichtung
US6574619B1 (en) 2000-03-24 2003-06-03 I2 Technologies Us, Inc. System and method for providing cross-dimensional computation and data access in an on-line analytical processing (OLAP) environment
US6768986B2 (en) * 2000-04-03 2004-07-27 Business Objects, S.A. Mapping of an RDBMS schema onto a multidimensional data model
US20020091681A1 (en) 2000-04-03 2002-07-11 Jean-Yves Cras Report then query capability for a multidimensional database model
US6366903B1 (en) 2000-04-20 2002-04-02 Microsoft Corporation Index and materialized view selection for a given workload
US20010037228A1 (en) 2000-05-05 2001-11-01 Iaf Consulting, Inc. System and method for using metadata to flexibly analyze data
US20020002469A1 (en) * 2000-06-21 2002-01-03 Scott Hillstrom System and method for hiring lawyers and managing the process entailed in the pursuit of clients' legal claims
US6681223B1 (en) * 2000-07-27 2004-01-20 International Business Machines Corporation System and method of performing profile matching with a structured document
US6604110B1 (en) * 2000-08-31 2003-08-05 Ascential Software, Inc. Automated software code generation from a metadata-based repository
US6687693B2 (en) 2000-12-18 2004-02-03 Ncr Corporation Architecture for distributed relational data mining systems
US6651055B1 (en) 2001-03-01 2003-11-18 Lawson Software, Inc. OLAP query generation engine
US6775662B1 (en) 2001-05-21 2004-08-10 Oracle International Corporation Group pruning from cube, rollup, and grouping sets
US7487111B2 (en) * 2001-10-19 2009-02-03 U-Haul International, Inc. Online marketplace for moving and relocation services
US7668885B2 (en) * 2002-09-25 2010-02-23 MindAgent, LLC System for timely delivery of personalized aggregations of, including currently-generated, knowledge
US7953694B2 (en) * 2003-01-13 2011-05-31 International Business Machines Corporation Method, system, and program for specifying multidimensional calculations for a relational OLAP engine
US7895191B2 (en) * 2003-04-09 2011-02-22 International Business Machines Corporation Improving performance of database queries

Cited By (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101111838B (zh) * 2004-11-30 2011-01-19 国际商业机器公司 多维企业软件系统中的自动关系模式生成
CN101167048B (zh) * 2004-11-30 2011-01-19 国际商业机器公司 多维企业软件系统内的可聚集维度信息的生成
CN100440215C (zh) * 2004-12-06 2008-12-03 国际商业机器公司 用于管理相互相关的数据对象的方法和系统
CN101253495B (zh) * 2005-08-30 2010-12-22 微软公司 电子数据快照生成器
CN101258485B (zh) * 2005-09-09 2010-11-17 微软公司 从电子数据文件生成报表命名对象视图的方法和系统
WO2009055961A1 (fr) * 2007-10-30 2009-05-07 Mingzhong Li Ressource d'indexation d'objets dans une structure multidimensionnelle, entrepôt de stockage d'objets, procédé d'accès aux objets et système d'accès aux objets
WO2009065262A1 (fr) * 2007-11-23 2009-05-28 Mingzhong Li Procédé de collecte d'objets dans une structure multidimensionnelle, système de collecte d'objets et support d'enregistrement
CN102279740B (zh) * 2010-06-11 2016-04-27 微软技术许可有限责任公司 到对象上的反射
CN102279740A (zh) * 2010-06-11 2011-12-14 微软公司 到对象上的反射
CN102339295B (zh) * 2010-07-23 2014-01-29 中国移动通信集团公司 Sql脚本的结构化元数据生成方法及数据地图生成方法
CN102339295A (zh) * 2010-07-23 2012-02-01 中国移动通信集团公司 Sql脚本的结构化元数据生成方法及数据地图生成方法
CN102650995A (zh) * 2011-02-25 2012-08-29 中国银联股份有限公司 多维数据分析模型生成系统及方法
CN104221017A (zh) * 2012-04-10 2014-12-17 微软公司 使用示例来查找连接语料库中的数据
CN104221017B (zh) * 2012-04-10 2018-05-22 微软技术许可有限责任公司 使用示例来查找连接语料库中的数据
US10140366B2 (en) 2012-04-10 2018-11-27 Microsoft Technology Licensing, Llc Finding data in connected corpuses using examples
CN105706084A (zh) * 2013-09-06 2016-06-22 超级医疗系统公司 元数据自动化系统
CN105706084B (zh) * 2013-09-06 2019-08-06 超级医疗系统公司 元数据自动化系统
CN104462172A (zh) * 2013-09-16 2015-03-25 安讯士有限公司 由分布式系统中的装置执行的方法及在分布式系统中的装置
CN104462172B (zh) * 2013-09-16 2019-05-17 安讯士有限公司 由分布式系统中的装置执行的方法及在分布式系统中的装置
CN104462165A (zh) * 2013-09-20 2015-03-25 商业对象软件有限公司 揭示域对象之间的关系
CN103927337A (zh) * 2014-03-26 2014-07-16 北京国双科技有限公司 用于联机分析处理中关联关系的数据处理方法和装置
CN103942299A (zh) * 2014-04-15 2014-07-23 湖南中烟工业有限责任公司 一种数据联动展示装置及展示方法
CN105205085A (zh) * 2014-06-30 2015-12-30 中兴通讯股份有限公司 一种海量数据的多维分析方法及装置
CN105488048A (zh) * 2014-09-16 2016-04-13 中兴通讯股份有限公司 一种数据查询的方法及装置
CN108241692A (zh) * 2016-12-26 2018-07-03 北京国双科技有限公司 数据的查询方法及装置
CN108345602A (zh) * 2017-01-22 2018-07-31 株式会社日立制作所 数据多维建模系统及数据多维建模方法
CN108345602B (zh) * 2017-01-22 2021-06-25 株式会社日立制作所 数据多维建模系统及数据多维建模方法
CN111295651B (zh) * 2017-09-29 2023-09-26 甲骨文国际公司 在多维数据库环境中使多个父母具有权重的系统和方法
CN111295651A (zh) * 2017-09-29 2020-06-16 甲骨文国际公司 在多维数据库环境中使多个父母具有权重的系统和方法
CN111542813A (zh) * 2017-10-09 2020-08-14 塔谱软件有限责任公司 使用异构数据的对象模型来便于建立数据可视化
CN111542813B (zh) * 2017-10-09 2024-02-09 塔谱软件有限责任公司 使用异构数据的对象模型来便于建立数据可视化
CN107943863A (zh) * 2017-11-09 2018-04-20 北京许继电气有限公司 基于商业智能的敏捷建模方法和系统
CN107943863B (zh) * 2017-11-09 2021-09-28 北京许继电气有限公司 基于商业智能的敏捷建模方法和系统
CN108280224A (zh) * 2018-02-09 2018-07-13 平安科技(深圳)有限公司 万级维度数据生成方法、装置、设备以及存储介质
CN108595588B (zh) * 2018-04-19 2022-08-23 中国科学院电子学研究所苏州研究院 一种科学数据存储关联方法
CN108595588A (zh) * 2018-04-19 2018-09-28 中国科学院电子学研究所苏州研究院 一种科学数据存储关联方法
CN109325648A (zh) * 2018-06-29 2019-02-12 深圳市彬讯科技有限公司 基于指标的多维度数据流统计方法、服务器及存储介质
CN109189861A (zh) * 2018-06-29 2019-01-11 深圳市彬讯科技有限公司 基于指标的数据流统计方法、服务器及存储介质
CN110928903A (zh) * 2018-08-31 2020-03-27 阿里巴巴集团控股有限公司 数据提取方法及装置、设备和存储介质
CN110928903B (zh) * 2018-08-31 2024-03-15 阿里巴巴集团控股有限公司 数据提取方法及装置、设备和存储介质
CN111159173A (zh) * 2018-11-08 2020-05-15 王纹 一种构造多维语义数据库的方法
CN111159173B (zh) * 2018-11-08 2023-04-18 王纹 一种构造多维语义数据库的方法
CN112286929A (zh) * 2020-06-08 2021-01-29 上海柯林布瑞信息技术有限公司 多维数据集的生成方法及装置、计算机可读存储介质
WO2022242524A1 (zh) * 2021-05-19 2022-11-24 中兴通讯股份有限公司 建模方法、网元数据处理方法和装置、电子设备、介质
CN113742320A (zh) * 2021-11-05 2021-12-03 亿景智联(北京)科技有限公司 一种olap数据仓库的管理方法及装置
CN113742320B (zh) * 2021-11-05 2022-03-01 亿景智联(北京)科技有限公司 一种olap数据仓库的管理方法及装置

Also Published As

Publication number Publication date
CN1262958C (zh) 2006-07-05
US7181450B2 (en) 2007-02-20
US20040122844A1 (en) 2004-06-24

Similar Documents

Publication Publication Date Title
CN1262958C (zh) 使用元数据在关系数据库中创建多维数据集的方法和系统
CN1726495A (zh) 规定用于关系olap引擎的多维计算
CN1144145C (zh) 用于数据仓库的选择聚集层和交叉产品层的方法和装置
CN1749999A (zh) .net数据类型和实例的持久存储
CN1190477A (zh) 修改现有数据库以反映相应对象模型变化的方法和装置
CN1173270C (zh) 确定底层数据改变如何影响高速缓存对象
CN1109994C (zh) 文件处理装置与记录媒体
CN101048732A (zh) 面向对象的数据集成服务体系结构
CN1659548A (zh) 为移动应用缓存数据的系统和方法
CN1292901A (zh) 数据库设备
CN1321277A (zh) 数据库系统
CN1578949A (zh) 数据对象导向的储存系统
CN1685342A (zh) 用于管理建造工程的系统和方法
CN1276575A (zh) 数据库存取系统
CN1317116A (zh) 值一实例连接的计算机实现的数据库
CN101036141A (zh) 具有持久性、用户可访问的位图值的数据库管理系统
CN1828527A (zh) 用于跨不同应用程序框架的数据服务的平台
CN1866253A (zh) 把Web服务映射到本体
CN1823335A (zh) 抽象数据链接和联接接口
CN101044479A (zh) 用于关系数据库系统中基于本体的语义匹配的系统
CN1670729A (zh) 使用隐含谓词的改善的查询优化器
CN1766886A (zh) 用于数据管理和/或转换的数据结构、数据库系统及方法
CN101044484A (zh) 信息处理装置、方法以及程序
CN100452047C (zh) 执行关系数据库搜索的系统和方法
CN1666196A (zh) 存储和访问数据,以及提高数据库查询语言语句性能的方法和机制

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CX01 Expiry of patent term
CX01 Expiry of patent term

Granted publication date: 20060705