CN1688998A - 用于联机分析处理的方法和系统 - Google Patents
用于联机分析处理的方法和系统 Download PDFInfo
- Publication number
- CN1688998A CN1688998A CNA038242834A CN03824283A CN1688998A CN 1688998 A CN1688998 A CN 1688998A CN A038242834 A CNA038242834 A CN A038242834A CN 03824283 A CN03824283 A CN 03824283A CN 1688998 A CN1688998 A CN 1688998A
- Authority
- CN
- China
- Prior art keywords
- dimension
- data
- sequence
- presents
- matrix
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/283—Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/953—Organization of data
- Y10S707/957—Multidimensional
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99943—Generating database or data structure, e.g. via user interface
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
公开了一种用于产生被包含在数据库中的数据记录的用户定义的枢纽视图的方法和系统,其中,如图2a所示,底层真实事实表首先被以连续的索引值(200)扩展,连续索引值提供了所述事实的从“1”到“x”(在本例中x=20)的连续的编号。在图2b中所示的结果枢纽视图中,这些事实的索引被在每个单元(210)中呈现,它的销售值必须被在相应的单元中被总计。借助于序列向量产生所述的枢纽视图。图2c中给出了图2b中的枢纽视图的底层序列向量,并且该向量包括两个列(260、270),左边的列(260)包括从“1”到“x”的连续数字,并且右边的列(270)包括图2a中以有序的排列示出的所提到的索引值(275),该有序的排列使得能够顺序地建立图2b的枢纽视图。
Description
技术领域
本发明一般地涉及由计算机执行的数据库管理系统,尤其是涉及相应的OLAP(联机分析处理)和数据仓库应用。更具体地,本发明涉及一种方法和系统,用于产生被包含在这样的数据库管理系统内的数据记录的用户定义的呈现或视图。更具体地,本发明涉及具有非常大量数据记录的数据库管理系统。
背景技术
数据仓库和联机分析处理(OLAP)应用强调需要快速的方法来存储和检索多维数据。数据仓库是企业的各种商业系统收集的全部数据或这些数据的重要部分的中央储存库。有时使用术语“信息仓库”来取代它。典型地,数据仓库被安置在企业的主机服务器上。来自各种联机事务处理(OLTP)应用和其它源的数据被有选择地提取出来并被组织在数据仓库数据库上以便由分析应用和用户查询使用。数据仓库存储强调为了有用的分析和访问从不同源捕捉数据,但是一般不从可能需要访问专门化的、有时是本地数据库的终端用户或知识工作者的角度出发。后一种技术通常被称为数据商场,数据挖掘、Web挖掘和决策支持系统(DSS)是可以使用数据仓库的3种类型的应用。
OLAP是使得用户可以容易地和有选择地从不同角度提取和观看数据的计算机处理。例如,用户可以请求对数据进行分析以便显示电子表格,该电子表格示出一个电信公司在当年特定月份内在一个国家里销售的所有移动电话产品,将收入数字与以前月份中的同样产品的收入数字进行比较,并且然后查看在该国家内在同一时间段内的其它产品销售的比较。
为了便于完成这种分析,OLAP数据被存储在多维数据库内。关系型数据库可以被想象为是两维的,而多维数据库可以将每个数据属性,通常被称为“数据键”,诸如产品、地理销售区域和时间段作为单独的“维度”考虑。OLAP软件可以定位维度的交集,例如“在某个时间段内在东部区域内以高于某个价格销售的所有产品”,并且显示它们。诸如时间段的属性可以被分解为子属性。
与数据仓库类似,OLAP可以被用于数据挖掘或发现数据项之间以前未认识到的关系。由于不是全部的事务数据都需要进行趋势分析,所以OLAP数据库不必象数据仓库那样大。使用开放数据库连接(ODBC),数据可以被从已经存在的关系型数据库中导入,以便为OLAP创建多维数据库。
如上所述,OLAP功能主要由支持终端用户的分析和导航活动的对合并数据的动态多维分析确定,包括:
-跨维度、贯穿分层和/或跨成员地应用的计算和建模;
-在连续的时间段上进行的趋势分析;
-为屏幕上的查看划分子集;
-对合并的更深层次的钻研;
-对底层的详细数据的研究;和
-在查看区域中枢纽到新的维度比较。
OLAP通常被实现在多用户客户机/服务器环境中,并且试图提供对数据库访问的一致地快速响应,而不论数据库的大小和复杂程度是怎样的。由这种数据库访问递送的数据共同地被以底层数据库的部分或甚至是整个内容的交叉表或枢纽(pivot)呈现或视图的方式呈现给终端用户,底层数据库或视图主要由被呈现的数据记录的单元的布置定义。这种布置,在使用平面计算机监视器的典型情况下,必须是两维的。枢纽呈现的另一个例子是被提供在计算机存储器、数据库之类内的二维数据数组。
如图1所示,底层数据库的每个数据记录由若干数据属性或数据键构成,其中同样地,数据记录的维度以及因此整个数据库的维度由数据键的数目确定。
一个特定的枢纽呈现通常依赖于预先指定的用户对例如顾客信息、被卖给这些顾客的相应商品和销售每件商品的时间的数据记录内容的特定的键布置的偏好。因此通常需要将不同数据记录的内容或给定的数据记录的数据键元素汇总到所述枢纽呈现的单元中。
存在有多种用于产生多维数据库中的数据记录的枢纽呈现的方法。第一种方法是使用公知的简单查询语言(SQL)以便通过数据库查询获得已经存在的数据库的用户定义的枢纽视图。但是因为存储在数据库中的所有数据记录都必须被访问以便检查它们是否满足底层查询条件,所以在大型数据库中枢纽视图的计算需要相当多的处理资源。
作为第二种方法,存在有公知的OLAP软件工具,其中数据记录被在内部使用超立方体数据结构处理,因此需要大量的存储容量以便存储内部产生的OLAP信息。
根据第三种方法,上面讨论的第一种和第二种方法被结合以便提供一种相应的混合概念。但是目前所述的第三种方法也有缺点,因为其性能会产生相当大的变化并且极其依赖于实际的枢纽呈现。
发明内容
因此本发明的一个目的是提供一种以计算机实现的方法和系统,用于产生被包含在数据库管理系统内的数据记录的用户定义的n维矩阵呈现或视图,所述的方法和系统更加高效,并且因此与根据现有技术的方法相比执行得更快,并且避免了上面所述的现有技术的方法的缺点。
本发明的另一个目的是提供一种相应方法和系统,所述方法和系统可以被用于具有适当的响应时间的联机分析处理(OLAP)环境中。
本发明的再一个目的是提供一种相应方法和系统,所述的方法和系统仅需要最少的处理资源用于产生所述的矩阵呈现或视图。
由本发明的独立权利要求的特征实现了上述目的。从属权利要求的主题是有利的实施例。
本发明的一个基础思想是以连续的数据序列的方式串行化多维数据库的底层数据记录,多维数据库例如被布置成m维事实表。因此这个序列由优选地是整数的占位符值组成,其中每个这些占位符值被通过参考表或向量链接到底层的未改变的m维事实表。然而,所述矩阵呈现的维度n可以等于所述的维度m。
所述的基础机制特别地包括这样的步骤:除了作为索引值的记录号之外,将属于有限的数据键的所有数据值字段的内容转换为索引值,并且基于所述的索引值执行用于产生最终矩阵呈现的所有排序步骤,即,所述的整个排序机制或整个排序引擎仅使用这些索引值。
应当说明的是,所述n维矩阵呈现的“基数”在示例的二维的情况下的含义是所述二维矩阵的列和行的数目。在多维即,n>=2的情况下,所述基数相应地定义了必要的呈现资源。
在优选实施例中,将被在底层矩阵呈现的单个单元,例如,一个二维呈现矩阵的一行中呈现的数据记录被连续地布置在包括各所述占位符值的子序列中。因此使用相应的所述子序列产生所述枢纽呈现的这些单个单元。结果,对于一个单元的枢纽视图,可以使用数据记录的整个序列的一个数据子序列。由所述序列中的开始点具体定义用户指定的枢纽呈现所需的这些单元中的每一个单元,通过所述的开始点访问将被呈现的事实表的所需的数据。
使用这样的数据序列产生最终矩阵呈现,从而对n维的事实表的参考仅使用所提到的占位符值。换言之,因此使用虚拟的二维矩阵获得所述矩阵呈现。
在优选实施例中,所述的数据序列被以线性向量实现,所述的线性向量包含上面所述的优选地由整数组成的序列。因此,借助于所述的序列向量为各用户定义的枢纽配置对例如被包括在事实表中的每个维度(组)的数据记录进行新的布置。由于使用所述序列向量访问实际的数据记录是这样使用数据记录索引号完成的,所以可以为用户实时地,即,联机地,即,没有任何延迟或仅以非常短的延迟或响应时间地执行被用于特定枢纽呈现的单元,即将被在特定枢纽视图中呈现的列和行的计算。
根据本发明的另一实施例,底层事实表首先被转换为参考表,基于该参考表产生序列。为了确定数据记录的所述维度中的两个维度之间的转换,在另一实施例中,使用了计数向量。
因此根据本发明的机制,不需要出于计算可能的枢纽呈现的目的对数据库的数据记录进行预处理,例如,以预先汇总所有的数据记录的方式,这需要相当多的数据处理和数据存储资源。
此外,由于内部的串行化步骤,数据记录的数量以及因此数据库的大小可以被扩展而不会对可能的枢纽呈现(视图)产生任何影响,其中所需要的处理时间与底层数据库的大小线性地成比例。因此,第一维度被映射到数据记录的所述至少两个维度的至少第二维度上。因此,数据库的数据记录的任意维度可以被彼此映射到对方之上,从而可以通过插入数据记录的其它维度或甚至其全部分层来扩展已有的数据库。
与上面讨论的现有技术的方法相比,根据本发明的机制不需要类似于在大的数据集合之间进行比较以便计算枢纽呈现这样的操作。
此外,数据库的特定数据记录维度可以被在枢纽呈现的不同汇总阶段多次使用而不会出现任何运行时问题。由于对给定的数据库的后续的不同枢纽视图仅使用向量运算,前面产生的用于提供用户定义的枢纽视图的数据记录的序列被保持为对于随后的枢纽视图来说是有效的,并且因此,下一个枢纽视图总是被从已经存在的枢纽视图中推演出来,因此不会破坏已经存在的枢纽视图。
在本发明的另一个方面,所选择的二维枢纽呈现通常基于由列和行的数目确定的虚拟的二维矩阵。因此所提出的枢纽呈现机制为给定的枢纽呈现提供了列和行的所述数量,以及,除此之外,在子序列的所提到的序列中列和行的交叉点。因此,可以使用单元的列和行索引简单地完成虚拟矩阵的单元的呈现。
因此,可以非常快地从数据库记录中产生任意用户定义的枢纽呈现,这是因为仅使用单纯的参考和计数技术和在整数值上执行的简单的线性(一维)向量运算产生或计算所述的枢纽呈现。
要强调的是,根据本发明的枢纽呈现机制不限于二维,而是也可以被应用于n维枢纽呈现。然而在n维的情况下,上面提到的序列向量是(n-1)维的。
附图说明
下面,将结合附图更加详细地说明本发明,从图中可以明了本发明的其它特征和优点。
在附图中:
图1a,b给出了现有技术中公知的示例性真实事实表和相应的枢纽视图;
图2a-c以表的方式示出了根据本发明的用于产生枢纽视图的机制的基本原理;
图3a-c示出了根据本发明用于产生枢纽视图的机制的进一步的细节;
图4a-c示出了根据本发明用于产生序列向量的典型的向量运算;
图5-6g示出了总览表的图,用于说明根据本发明如何对真实事实数据进行排序以便获得所希望的枢纽视图;
图7给出了根据本发明的最终结果置换表;和
图8-10给出了根据本发明的最终排序步骤。
具体实施方式
下面说明了对于给定的在多数情况下被以二维的真实事实表表示的真实事实量,根据本发明如何产生任意的枢纽表(交叉表)视图。要强调的是,所述的底层枢纽表产生机制也可以被用于产生n维数据集合的m维矩阵呈现。此外,该机制可以被以最小的代价和时间花费实现,并且仅需要最少的计算资源并且因此允许高性能的产生。
此处假设所述真实事实量包括数据键和包括在每个键维度中的数据值,每个数据键定义了一个键维度。如下面更详细地说明的,由所述键维度的用户选择的有序的布置、所述键维度在所述枢纽视图的呈现出的维度中的布置以及可能的汇总层给出所述事实量的枢纽视图。
图1a和1b中示出了在本情况中以真实事实表表示的这种示例的事实量和该真实事实表的示例的枢纽视图。在这个例子中,所述真实事实表包括被以键维度“顾客”100、“商品”110和“月份”120布置的销售数字130。在图1b中示出的相应的示例枢纽视图以“顾客”/“商品”/“月份”150-170(示出的左边的3列)的顺序给出了图1a中示出的真实事实表的(事实)数据值140作为所述销售(右列)的总计140。因此,键维度“顾客”150和“商品”160被呈现在垂直方向上,其中键维度“月份”被汇总为日历季度值“Q1”-“Q4”170,并且被呈现在枢纽视图的水平方向上。
用于产生这种枢纽视图的基本机制基于这样的概念,将由用户选择的每个任意的枢纽呈现减少为底层事实量的数据值的连续的有序的布置(例如,序列向量)。以图2a-c示出了这种机制的优选实施例。
如图2a所示,在本实施例中,底层真实事实表首先被以连续的索引值200(左列)扩展,在本例中它提供了所述事实的从“1”到“20”的连续的编号。在图2b中示出的结果枢纽视图中,在每个单元210中给出了这些事实的索引,其销售值必须在相应单元内被总计。
如前所述,基于序列向量产生图2b中示出的枢纽视图。图2c给出了图2b的枢纽视图的底层序列向量,该向量由两列260、270组成,左边的列260在本例中也包含从“1”到“20”的连续数字,并且右边的列270包括在图2a中以有序的布置给出的前面提到的索引值275,该有序布置使得能够随后建立图2b的枢纽视图。
为了更好地理解所述的序列向量,所述序列向量的内容被以相反的方向示出,即,从图2b中给出的枢纽视图开始。因此,如在所述枢纽视图的前两行中由箭头250所指示的,在所述枢纽呈现的单元210中一行一行地并且从左到右地汇总所述索引,得到了图2c中给出的序列向量。
如前所述,仅使用向量运算产生枢纽视图,底层向量仅包含整数值。因此,由于在下面所述的处理步骤中不使用诸如文字键值、文本或任意其它真实事实值的实际数据键值,目前获得了相当大的性能增益。在所有这些处理步骤中,仅使用了上面说明的整数(参考)值。仅当结束了这些整数处理步骤时,被包含在结果序列向量中的参考值被借助后面说明的分配或参考(查找)表转换回相应的真实事实值。
在第一个步骤中,如图3a中给出的真实事实表所示,被包含在所述事实表中的不同键维度的所有数据,诸如顾客名称“Miller”和“Brown”被在该键维度中以唯一的参考值300替代,其中这些唯一的参考值被用作占位符值。图3a中示出了被转换到所说的参考号之后的图2a中示出的示例的真实事实表的事实量。
图3b中示出了用于对所述的参考号进行转换的基础机制。它基于若干个分配(或参考)表350-370,分配(或参考)表350-370被用于借助于公知的查找表机制将不同键维度的真实事实分配到所说的参考值。图3b中针对键维度“顾客”350、“商品”360和“月份”370示出了这种情况。如图3c所示,另一个键维度“季度”380被用于汇总分层,以便能够对键维度“月份”390进一步汇总。
对于图2a中给出的真实事实表的每个键维度,第一整数向量410提供了相对于相应的键维度底层事实列的事实的排序顺序和元素(参考值)在键维度中的出现。第二个整数向量400提供了第一块元素(FBE),它为键维度元素(例如“Brown”)的每次出现指出排序序列410内它的相应的块的首个元素。现在参考图4a-4c对此进行说明。因此,图4a-4c的左边给出的表为每个键维度提供了右边给出的排序向量内的第一项的参考索引。因此对于图4a中示出的键维度“顾客”的例子来说,键“Brown”的所有事实号420排列在行1到7,键“Jones”的所有事实号430排列在行8到14中,并且键“Miller”的所有事实号440排列在行15到该表的结尾中。
在本说明书的结尾处更详细地说明了用于获得包括所述排序顺序的第一整数向量410和包含所述第一块元素索引的第二整数向量400的必要步骤。
值得注意的是,键维度“季度”的相应的呈现可以从用于“月份”的向量中容易地得到,并且因此没有在此处说明。
现在参考图5和图6a-6g,下面说明了如何使用前面所述的整数向量计算技术对真实事实数据进行排序,以便获得所希望的枢纽视图。以提供了被用于最终排序的事实的第一个逐块的排序的预排序步骤开始,排序被在这些块中一步一步地计算,即,按每个所述枢纽呈现的键维度计算,以便揭示最终的排序顺序。通过这些处理步骤,对于每个要被排序的键维度,新的组被产生,所述的组起随后的排序步骤的基础的作用,并且用于在计算的结尾处提供枢纽呈现单元的内容。
在本例中,通过对键维度“顾客”进行排序揭示了所述的预排序块。基于有关的向量,这些图中示出的被指定为“映射”和“排序位置指针”的表被如图5中所示那样初始化。要强调的是,图5中示出的表仅是一个快照(snapshot),其给出了整个排序处理“顾客”-“商品”-“季度”中的“顾客”-“商品”的具体排序步骤。要说明的是,所有的这些表被递归地处理,其中在每个排序步骤的结尾,被包含在“结果置换”表中的字段“事实#NewGrp”中的事实被在相应的下一个排序步骤期间在“映射”表和“排序位置指针”表中重新使用。然而,对于这些表在第一个排序步骤之前的初始化而言,“映射”表和“排序位置指针”表的列被如下初始化。
“映射”表的“TmpGrp”列的每个字段被以排序序列的第一维度填充,在当前“顾客”的例子中,即,使用以前说明的“真实事实”表的唯一参考值300填充。此外,“排序位置指针”表的“NextPos”列的每个字段被使用相应维度的以前说明的FBE表400的“Pos”列初始化。
在全部排序步骤中,“已排序序列”表的“事实#”列被以相应维度410,即相应的排序序列步骤中的右边的维度的“已排序序列”表的“事实”列填充。结果,在前面所说明的两个初始化步骤之后“结果置换”的内容被删除,从而这些字段在下面的排序步骤中可以被重新填充。该表中的行数与被包含在真实事实表中的事实数相同。下面进行的处理步骤以在图中被指定为“已排序的顺序”的与键维度“商品”相关的排序顺序确定。
在图6a-6g中示出的图示序列中更加详细地说明了所述排序机制本身。这些图中的每一个示出了单个排序步骤,以这样的顺序示出的排序步骤的整个序列从而仅示出了整个排序程序的一部分。所述完整的程序基于示出的4个表的内部链接。
首先被指定从前面对键维度“顾客”的排序步骤中得到的被指定为“已排序序列”的键维度“商品”的表被以参数“Pseq”从“1”到“20”的顺序处理。特别地,对于被包含在“事实#”列中的每个事实号,在映射表中确定被指定为“TmpGrp”的相应的索引。
得到的索引,在图6a中示出的排序步骤中具体是得到的整数值“3”,被在“排序位置指针”表中使用,以便确定下一个位置“NextPos”的值,即,结果置换表中的目标索引,通过该目标索引可以识别当前事实号的值。另外,被包含在映射表的列“LDGrp”中的相应的值被与被包含在“已排序序列”表中的相应的值“DGrp”比较。如果这两个值不同,这个索引被在“结果置换”表的“开始”列中标记为“TRUE”,从而定义新组的开始。应当说明的是,在图6a中,参数“NextPos”在示出的程序状态中还没有被增量。
图6b-6f示出了另外的5个步骤,并且省略了步骤7-19,并且图6g是最终获得的被指定“结果置换”的置换表(向量)。从而以“商品”-“顾客”排序的步骤的结果被存储在图6g中示出的“结果置换”表的“事实#”列中。
在图7中,再次示出了图6g中给出的最终结果置换表。它在有关的排序序列中表示了目标枢纽序列。在“NewGrp”列中,从第一行开始,通过对组索引加1为每行分配一个值。如果在“Start”列中的相应行被标记为布尔值“TRUE”,即,被标记为新组的开始,则构造所述增量完成。这些组与真实事实所提供的键维度“顾客”和“商品”的可能的不同组合有关。在上面的程序的执行过程中,可以容易地确定和管理在所述键维度中相应于这些组的参考号,所述的参考号提供了对真实事实的最终呈现所需的各底层键文本的访问。
进一步参考图8,给出了从前面的排序步骤“顾客”对“商品”的结果开始的下一个排序步骤“顾客”-“商品”-“季度”的初始化。应说明的是,包括了一个附加的汇总步骤,其中维度“月份”被汇总到“季度”。“排序位置指针”表的“NextPos”列被以指示值的出现的相应的“Pseq”号初始化,在本实施例中,该指示值为“结果置换”表的“开始”列中的布尔“TRUE”值。
从“结果置换”表的“事实#”列开始,该列中的每个字段被用作一个项点,用于以“结果置换”表的“NewGrp”字段中的相应的值填充图8中示出的“映射”表的“TemGrp”列。
在图8到10中,根据前面的图给出了本实施例的如此揭示了最终的枢纽呈现的最终排序步骤。因此基于在“事实#”列中提供的事实号和在“NewGrp”列中提供的组索引,另一个相应的“映射”表和“排序位置指针”被如前所述地再次初始化,它们使得可以对键维度“季度”进行下面的排序序列。图8中给出了这个初始化得到的表。在图9a-f中,示出了前5个步骤和最终排序序列的最后一个排序步骤。这些图相应于类似的图6b-g,并且因此此处不再更详细地说明。
整个排序程序利用图10中给出的“枢纽序列”表的计算完成。因此整个程序揭示了有序的键维度“顾客”-“商品”-“季度”的当前枢纽呈现的一个顺序序列向量。这个顺序序列向量被存储在“结果置换”表的“事实#”列中。在“NewGrp”列中被提供的底层组索引与所述底层枢纽呈现或视图的相应单元有关。基于列“事实#”中的各项,可以容易地确定其它相应的事实参考。
上面给出的例子仅包括一个键维度,它被用于枢纽视图的水平规定项。应当说明的是,所述的排序程序不限于被用于枢纽规定项的任何数目的键维度。
整个程序为每个枢纽维度确定单独的排序序列。通过对单独产生的序列使用所述的排序程序,如上所述以第一个的结果开始并且以下一个作为“映射”表和“排序位置指针”表的输入,产生整个序列。
整个排序处理当然也可作用于图3a中示出的“真实事实”表的子集。应当说明的是,图5中示出的“映射”表的行数相应于“已排序序列”表的“事实#”列的最大可能值,即,“真实事实”表的事实行的数目。在例如由于过滤准则只有所述事实的子集被用于所述的排序处理的情况下,“映射”表的大小能够被减小到所选择的事实的大小。这可以在“已排序序列”表的“事实#”列的每个上述的初始化在相应的子序列中使用真实事实索引的相关索引时被实现。排序处理的结果存储在“结果置换”表的“事实#”列中,它需要被转换回真实事实索引。
如上所述,“第一块元素”(FBE)整数向量400和“排序顺序”整数向量410被用于每个排序步骤的初始化。在图3a中示出的“真实事实”表的键维度310上计算LBE索引向量。作为第一个步骤,所述的计数向量被计算,其中所述计数向量的每个项包含“真实事实#”表中的相应键维度的相应参考号的出现次数。计数向量中的每个值反映了相应参考号的块长度。通过从第一个字段到最后一个字段对其值进行累加对计数向量进行处理,为每个步骤提供了相应组的开始位置。其结果被存储在FBE索引向量400中。
使用所述的排序程序计算“排序顺序”整数向量410。在该情况下,“已排序序列”表的“DGrp”列的每个字段被以相同的值,例如,“1”填充。“事实#”列的每个字段被以“Pseq”列的相应值填充。“映射”表的“TmpGrp”列的每个字段被以图3a中所示的相应的维度键的值填充。“排序位置指针”表的“NextPos”列被以相应的维度键的“FBE”整数向量400填充。在该初始化上执行所述排序程序在“结果置换”表的“事实#”列中提供了“排序顺序”整数向量410。
应当说明的是,当分层的层例如“季度”被在当前的枢纽规定项中使用时,同样的程序被使用。当相应维度键例如“月份”的真实事实列被转换到所述分层的层的参考号时,可以计算“FBE”和“排序顺序”整数向量。
最后,再参考图2b和7,更加详细地说明了根据本发明如何计算所述的项指针。最终枢纽呈现的基数,例如,二维枢纽呈现中的列和行数是所述排序程序的另一个结果。对于枢纽视图的每个所述维度,相应的枢纽视图维度的基数取决于所述枢纽规定项和作为所述枢纽视图的输入的事实。在给出的例子中,在“顾客”-“商品”的排序步骤之后可以得到垂直维度的基数。“结果置换”表的“NewGrp.”列的最后一个字段(见图6g)包含所得到的组的数目。这个数目等于得到的枢纽视图的垂直维度的基数。因此,对每个枢纽维度进行独立处理,提供了相应的枢纽维度的所需的基数。
Claims (17)
1、一种用于产生m维数据库的至少一部分的任意的n维矩阵呈现的计算机实现的方法,所述的m维数据库由具有至少一个键维度和至少一个相应的数据值字段的真实数据记录组成,
所述方法包括如下步骤:
根据所述的n维矩阵呈现,计算所述数据值字段的项的排序序列;
为所述n维矩阵呈现的每个维度,计算在所述的排序序列中的相应的项点信息;
基于所述的计算出的排序序列和所述的计算出的项点信息,计算所述n维矩阵呈现的基数;
基于所述的基数产生所述的任意的n维矩阵呈现,其中基于所述的排序序列和所述的项点信息处理所述的数据值字段。
2、如权利要求1的方法,其中将所有数据记录的键维度转换为索引值,所述的索引值标注所述键维度的相应键的项的属性,并且其中将已排序的索引值再次转换回所述的真实数据,以便产生所述的任意的矩阵呈现。
3、如权利要求2的方法,其中以向量表示一个键维度的所述索引值。
4、如权利要求2或3的方法,其中以整数表示所述的索引值。
5、如前面任意一个权利要求的方法,包括如下特定的步骤:
为所述数据库的每个维度产生参考表,所述的参考表仅包括所述的整数值,其中所述的参考表包括每个数据记录的记录标识符,从而保持了所述数据库的维度结构;
基于所述的参考表,以标量向量运算基于所述任意矩阵呈现的维度结构产生序列向量;
基于所述的参考表,产生计数向量,计数向量提供了被包括在数据记录的所述至少一个维度中的一个维度内的数据记录的数量,从而定义了数据的所述至少一个维度中的不同维度之间的转换;
呈现所述数据库的所述任意矩阵呈现,其中使用所述的记录标识符,利用被包含在所述序列向量和所述计数向量中的真实数据,对数据记录的所述至少一个维度进行分组。
6、如权利要求5的方法,其中所述的序列向量仅包含整数。
7、如前面任意一个权利要求的方法,其中对所述项点信息的计算基于第一块元素(FBE)索引和/或最后一个块元素(LBE)索引。
8、如前面任意一个权利要求的方法,其中将真实数据记录的所述至少一个维度的第一维度映射到真实数据记录的所述至少一个维度的至少第二维度。
9、如权利要求5到8的任意一个权利要求的方法,其中所述参考表是基于真实事实表产生的,真实事实表首先被用连续的索引值扩展,所述的连续的索引值提供了所述真实事实的连续的编号。
10、如权利要求5到9的任意一个权利要求的方法,其中所述的序列向量包括两个列,左边的列包含所述的连续的整数,并且右边的列包含有序排列的所述的索引值,该有序排列使得可以顺序地建立所述的任意的矩阵呈现。
11、如前面任意一个权利要求的方法,其中为产生所述的任意的矩阵呈现仅执行基于整数的向量计算。
12、如权利要求9到11的任意一个权利要求的方法,其中执行预排序步骤,它提供了被用于以后的排序步骤的真实事实的第一逐块排序,其中在这些块中按所述枢纽呈现的每个键维度一步一步地计算所述的排序,以便揭示任意的排序顺序。
13、如权利要求9到12中任意一个权利要求的方法,其中从所述排序步骤中得到的索引值被在排序位置指针表中使用,以便确定结果置换表中目标索引的值,当前真实事实值可以用该值标识。
14、如权利要求13的方法,其中所述的结果置换表在有关的排序序列中表示目标矩阵序列。
15、一种用于在数据处理系统中执行的数据处理程序,包括:软件代码部分,当所述程序被在所述计算机上运行时,用于执行根据权利要求1到14中任意一个权利要求的方法。
16、一种存储在计算机可用介质上的计算机程序产品,包括:计算机可读的程序装置,当所述程序被在所述计算机上运行时,用于使计算机执行根据权利要求1到14中任意一个权利要求的方法。
17、一种联机分析处理(OLAP)系统,用于借助于数据库的至少一部分的任意n维矩阵呈现分析被包含在所述数据库中的真实事实数据,其中所述的数据库包括数据记录的至少一个维度,每个数据记录包括至少一个数据键和相应的数据值字段,所述的OLAP系统的特征在于如权利要求1的方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP02023362 | 2002-10-18 | ||
EP02023362.3 | 2002-10-18 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1688998A true CN1688998A (zh) | 2005-10-26 |
Family
ID=32103886
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA038242834A Pending CN1688998A (zh) | 2002-10-18 | 2003-09-11 | 用于联机分析处理的方法和系统 |
Country Status (6)
Country | Link |
---|---|
US (3) | US7340476B2 (zh) |
JP (1) | JP4609995B2 (zh) |
CN (1) | CN1688998A (zh) |
AU (1) | AU2003286187A1 (zh) |
TW (1) | TWI230344B (zh) |
WO (1) | WO2004036456A2 (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103019951A (zh) * | 2011-09-20 | 2013-04-03 | 阿里巴巴集团控股有限公司 | 有序数据的记录方法和装置、有序数据的访问方法和装置 |
CN103235793A (zh) * | 2013-04-01 | 2013-08-07 | 华为技术有限公司 | 联机处理数据的方法、设备及系统 |
CN103678420A (zh) * | 2012-09-25 | 2014-03-26 | 北大方正集团有限公司 | 一种建立多维数据集的方法和多维数据集处理装置 |
CN106775742A (zh) * | 2016-12-27 | 2017-05-31 | 中国建设银行股份有限公司 | 一种用户定制信息的扩展方法及系统 |
CN108140024A (zh) * | 2015-07-07 | 2018-06-08 | 华为技术有限公司 | Molap中合并索引结构并保持查询一致性的机制 |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7263520B2 (en) * | 2004-02-27 | 2007-08-28 | Sap Ag | Fast aggregation of compressed data using full table scans |
US7774298B2 (en) * | 2004-06-30 | 2010-08-10 | Sap Ag | Method and system for data extraction from a transaction system to an analytics system |
US8935229B1 (en) * | 2005-01-12 | 2015-01-13 | West Services, Inc. | System for determining and displaying legal-practice trends and identifying corporate legal needs |
US8270612B2 (en) * | 2006-12-18 | 2012-09-18 | Sap Ag | Mapping compound keys |
US20090063458A1 (en) * | 2007-08-31 | 2009-03-05 | International Business Machines Corporation | method and system for minimizing sorting |
US8495007B2 (en) * | 2008-08-28 | 2013-07-23 | Red Hat, Inc. | Systems and methods for hierarchical aggregation of multi-dimensional data sources |
US20100076935A1 (en) * | 2008-09-09 | 2010-03-25 | Ahmir Hussain | Method, system, and computer for analytical reporting and archiving of data |
US8959050B2 (en) | 2009-06-15 | 2015-02-17 | Oracle International Corporation | Mechanism for synchronizing OLAP system structure and OLTP system structure |
US8549045B2 (en) * | 2010-12-30 | 2013-10-01 | International Business Machines Corporation | Test data generation and scale up for database testing using unique common factor sequencing |
US8751564B2 (en) * | 2011-04-19 | 2014-06-10 | Echostar Technologies L.L.C. | Reducing latency for served applications by anticipatory preprocessing |
US8635229B2 (en) | 2011-10-18 | 2014-01-21 | International Business Machines Corporation | Sequenced query processing in data processing system |
US8938416B1 (en) | 2012-01-13 | 2015-01-20 | Amazon Technologies, Inc. | Distributed storage of aggregated data |
US8660985B2 (en) * | 2012-04-11 | 2014-02-25 | Renmin University Of China | Multi-dimensional OLAP query processing method oriented to column store data warehouse |
US9721321B1 (en) * | 2012-04-12 | 2017-08-01 | Farshad Nayeri | Automated interactive dynamic audio/visual performance with integrated data assembly system and methods |
US9646072B2 (en) * | 2013-03-03 | 2017-05-09 | Panorama Software Inc. | Multidimensional dataset query processing |
US9965512B2 (en) | 2013-06-25 | 2018-05-08 | Sap Se | Operators for constants in aggregated formulas |
EP3678033A1 (en) * | 2019-01-07 | 2020-07-08 | QlikTech International AB | A computer implemented method for indexlet based aggregation |
GB201916804D0 (en) | 2019-11-19 | 2020-01-01 | Ibm | Generating an OLAP model from a spreadsheet |
GB201916801D0 (en) | 2019-11-19 | 2020-01-01 | Ibm | Identifying data relationships from a spreadsheet |
GB201916800D0 (en) | 2019-11-19 | 2020-01-01 | Ibm | Detecting errors in spreadsheets |
GB201916803D0 (en) | 2019-11-19 | 2020-01-01 | Ibm | Identifying content and structure of olap dimensions from a spreadsheet |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6850252B1 (en) * | 1999-10-05 | 2005-02-01 | Steven M. Hoffberg | Intelligent electronic appliance system and method |
US5875108A (en) * | 1991-12-23 | 1999-02-23 | Hoffberg; Steven M. | Ergonomic man-machine interface incorporating adaptive pattern recognition based control system |
US5727197A (en) * | 1995-11-01 | 1998-03-10 | Filetek, Inc. | Method and apparatus for segmenting a database |
US5787279A (en) * | 1995-12-22 | 1998-07-28 | International Business Machines Corporation | System and method for conformationally-flexible molecular recognition |
US5767854A (en) * | 1996-09-27 | 1998-06-16 | Anwar; Mohammed S. | Multidimensional data display and manipulation system and methods for using same |
US5978796A (en) * | 1997-06-30 | 1999-11-02 | International Business Machines Corporation | Accessing multi-dimensional data by mapping dense data blocks to rows in a relational database |
US6003036A (en) * | 1998-02-12 | 1999-12-14 | Martin; Michael W. | Interval-partitioning method for multidimensional data |
US6957341B2 (en) * | 1998-05-14 | 2005-10-18 | Purdue Research Foundation | Method and system for secure computational outsourcing and disguise |
US6334125B1 (en) * | 1998-11-17 | 2001-12-25 | At&T Corp. | Method and apparatus for loading data into a cube forest data structure |
US7272593B1 (en) * | 1999-01-26 | 2007-09-18 | International Business Machines Corporation | Method and apparatus for similarity retrieval from iterative refinement |
US6427123B1 (en) * | 1999-02-18 | 2002-07-30 | Oracle Corporation | Hierarchical indexing for accessing hierarchically organized information in a relational system |
US6560594B2 (en) * | 1999-05-13 | 2003-05-06 | International Business Machines Corporation | Cube indices for relational database management systems |
US20030171876A1 (en) * | 2002-03-05 | 2003-09-11 | Victor Markowitz | System and method for managing gene expression data |
EP1211610A1 (en) * | 2000-11-29 | 2002-06-05 | Lafayette Software Inc. | Methods of organising data and processing queries in a database system |
EP1217540A1 (en) * | 2000-11-29 | 2002-06-26 | Lafayette Software Inc. | Methods of organizing data and processing queries in a database system, and database system and software product for implementing such method |
EP1211611A1 (en) * | 2000-11-29 | 2002-06-05 | Lafayette Software Inc. | Methods of encoding and combining integer lists |
US20020138316A1 (en) * | 2001-03-23 | 2002-09-26 | Katz Steven Bruce | Value chain intelligence system and methods |
US20030033179A1 (en) * | 2001-08-09 | 2003-02-13 | Katz Steven Bruce | Method for generating customized alerts related to the procurement, sourcing, strategic sourcing and/or sale of one or more items by an enterprise |
AU2002363968A1 (en) * | 2001-12-04 | 2003-06-17 | University Of Southern California | Methods for fast progressive evaluation of polynomial range-sum queries on real-time datacubes |
US7076505B2 (en) * | 2002-07-11 | 2006-07-11 | Metrobot Llc | Method, apparatus, and computer program product for providing a graphical user interface with a linear map component |
AU2003271441A1 (en) * | 2002-09-24 | 2004-04-19 | Ismartsoft, Inc. | Method and apparatus for data analysis |
-
2003
- 2003-09-11 WO PCT/EP2003/050620 patent/WO2004036456A2/en active Application Filing
- 2003-09-11 AU AU2003286187A patent/AU2003286187A1/en not_active Abandoned
- 2003-09-11 CN CNA038242834A patent/CN1688998A/zh active Pending
- 2003-09-11 JP JP2004544289A patent/JP4609995B2/ja not_active Expired - Fee Related
- 2003-09-11 US US10/530,936 patent/US7340476B2/en not_active Expired - Fee Related
- 2003-10-15 TW TW092128546A patent/TWI230344B/zh not_active IP Right Cessation
-
2007
- 2007-11-30 US US11/948,033 patent/US7774302B2/en not_active Expired - Fee Related
-
2008
- 2008-01-17 US US12/015,551 patent/US7856458B2/en not_active Expired - Fee Related
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103019951A (zh) * | 2011-09-20 | 2013-04-03 | 阿里巴巴集团控股有限公司 | 有序数据的记录方法和装置、有序数据的访问方法和装置 |
CN103019951B (zh) * | 2011-09-20 | 2016-12-07 | 阿里巴巴集团控股有限公司 | 有序数据的记录方法和装置、有序数据的访问方法和装置 |
CN103678420A (zh) * | 2012-09-25 | 2014-03-26 | 北大方正集团有限公司 | 一种建立多维数据集的方法和多维数据集处理装置 |
CN103678420B (zh) * | 2012-09-25 | 2017-02-01 | 北大方正集团有限公司 | 一种建立多维数据集的方法和多维数据集处理装置 |
CN103235793A (zh) * | 2013-04-01 | 2013-08-07 | 华为技术有限公司 | 联机处理数据的方法、设备及系统 |
WO2014161281A1 (zh) * | 2013-04-01 | 2014-10-09 | 华为技术有限公司 | 联机处理数据的方法、设备及系统 |
RU2612570C2 (ru) * | 2013-04-01 | 2017-03-09 | Хуавей Текнолоджиз Ко., Лтд. | Способ, устройство и система обработки данных в режиме реального времени |
CN108140024A (zh) * | 2015-07-07 | 2018-06-08 | 华为技术有限公司 | Molap中合并索引结构并保持查询一致性的机制 |
CN108140024B (zh) * | 2015-07-07 | 2021-01-29 | 华为技术有限公司 | Molap中合并索引结构并保持查询一致性的机制 |
CN106775742A (zh) * | 2016-12-27 | 2017-05-31 | 中国建设银行股份有限公司 | 一种用户定制信息的扩展方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
TWI230344B (en) | 2005-04-01 |
US20080183740A1 (en) | 2008-07-31 |
US20080082563A1 (en) | 2008-04-03 |
JP2006503357A (ja) | 2006-01-26 |
US7774302B2 (en) | 2010-08-10 |
JP4609995B2 (ja) | 2011-01-12 |
TW200413969A (en) | 2004-08-01 |
US20060010147A1 (en) | 2006-01-12 |
WO2004036456A2 (en) | 2004-04-29 |
AU2003286187A1 (en) | 2004-05-04 |
US7340476B2 (en) | 2008-03-04 |
WO2004036456A3 (en) | 2004-09-30 |
US7856458B2 (en) | 2010-12-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1688998A (zh) | 用于联机分析处理的方法和系统 | |
AU743687B2 (en) | Method and apparatus for storing, retrieving, and processing multi-dimensional customer-oriented data sets | |
US8037059B2 (en) | Implementing aggregation combination using aggregate depth lists and cube aggregation conversion to rollup aggregation for optimizing query processing | |
Stonebraker et al. | One size fits all? Part 2: Benchmarking results | |
AU779250B2 (en) | Method and apparatus for populating multiple data marts in a single aggregation process | |
US7472107B2 (en) | Integrating horizontal partitioning into physical database design | |
US7167859B2 (en) | Database security | |
Gosink et al. | HDF5-FastQuery: Accelerating complex queries on HDF datasets using fast bitmap indices | |
US6915291B2 (en) | Object-oriented query execution data structure | |
JP2006503357A5 (zh) | ||
US20060173926A1 (en) | Data transformation to maintain detailed user information in a data warehouse | |
JP2003526159A (ja) | 多次元データベースおよび統合集約サーバ | |
CN1292126A (zh) | 从相应数据填充稀疏矩阵项的方法和装置 | |
US20110082855A1 (en) | Multi-dimensional access to data | |
Dehne et al. | The cgmCUBE project: Optimizing parallel data cube generation for ROLAP | |
US20060294069A1 (en) | Sorting and filtering in an interactive report | |
Weng et al. | An approach for automatic data virtualization | |
Dinter et al. | The OLAP market: state of the art and research issues | |
CN1924915A (zh) | 基于数据仓库技术的图书馆智能管理系统 | |
US6732115B2 (en) | Chameleon measure and metric calculation | |
CN112667859A (zh) | 基于内存的数据处理方法及装置 | |
Keller et al. | The one-to-one match operator of the Volcano query processing system | |
Umarani et al. | Sampling based Association Rules Mining-A Recent Overview | |
Weng et al. | Supporting sql-3 aggregations on grid-based data repositories | |
Weahama et al. | Using data clustering to optimize scatter bitmap index for membership queries |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Open date: 20051026 |