【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及数据操作。更特别地,本专利技术涉及用于使相对于一维或多维的一组数据稠密的技术。
技术介绍
术语“维”指的是一组相关的不同值。例如,TIMES维可以包括从1998年1月到2003年12月的所有日期。相似地,PRODUCTS维可以包括代表公司的所有可能的产品的值。如果集合中的每一数据项都与特定维的值相关联,则该数据项集合是“维的”。例如,假设表的每一行都包括关于特定事件的数据,包括该事件的日期。在该实例中,“事件数据”是关于TIMES维的“维”。如果数据项集合是关于多于一维的维,则该数据项集合是“多维的”。例如,假设SALES表的每一行都包括用于特定销售的数据,包括(1)销售的日期,(2)所售的产品,以及(3)销售发生的区域。在该实例中,“销售数据”是多维的,因为销售数据关于TIMES维、PRODUCTS维、和REGION维的维。存储多维数据的表通常被称作“事实表(fact table)”。存储特定维的维值的表被称作“维表”。因此,具有上述的SALES表的相同数据库通常还包括TIMES表、PRODUCTS表、和REGION表。事实表的每一行都将对应于包括每一维的一个值的维值组合。例如,在上述的SALES表中,每一行通常对应于TIMES维值、PRODUCTS维值、和REGION维值的组合。与给定的SALES表格行相关的维值的集合可以被表示为(t,p,r),其中t是TIMES维的值,p是PRODUCTS维的值,以及r是REGION维的值。通常,并不是所有的维值的组合在事实表中具有对应行。因此,与事实表中的行相关的维值组合的集合是每一维的维值的叉积 ...
【技术保护点】
一种由机器实现的方法,包括以下步骤:基于与多个维相关的第一数据集合,生成相对于所述多个维的第一维比所述第一数据集合更稠密的第二数据集合;其中,所述第一数据集合包括多个数据子集;以及其中,所述生成步骤包括在每个所述数据 子集和第三数据集合之间执行外连接。
【技术特征摘要】
【国外来华专利技术】US 2003-8-22 60/497,111;US 2003-8-28 60/499,078;US1.一种由机器实现的方法,包括以下步骤基于与多个维相关的第一数据集合,生成相对于所述多个维的第一维比所述第一数据集合更稠密的第二数据集合;其中,所述第一数据集合包括多个数据子集;以及其中,所述生成步骤包括在每个所述数据子集和第三数据集合之间执行外连接。2.根据权利要求1所述的方法,其中,所述第一数据集合包括与维值组合相关的行,其中,所述维值组合是从所述多个维选择的维值的组合,其中,所述第二数据集合包括用于对应于所述第一数据集合的所述行的所述维值组合的对应行,其中,所述对应行与所述维值组合相关,以及其中,所述生成的步骤包括以下步骤检查在用于维值组合的集合的所述第二数据集合中是否存在对应的行,其中,所述维值组合的集合相对于一维而言是稠密的;以及如果所述对应的行不存在,则创建所述行。3.根据权利要求2所述的方法,其中,所述检查步骤在一组嵌套的循环指令内执行,所述指令对于所述维值组合集合的每个维值组合执行一次循环。4.根据权利要求1所述的方法,其中,每个所述数据子集是单个数据行。5.根据权利要求1所述的方法,其中,每个所述数据子集是所述第一数据集合的分区,并且与从所述多个维的一个维中选择的单一维值相关。6.根据权利要求1所述的方法,其中,响应于检查数据操作语言语句来执行所述生成步骤。7.根据权利要求1所述的方法,其中,所述生成步骤包括使用第一处理器对第一子集执行所述外连接,以及使用不同于所述第一处理器的第二处理器对第二子集执行所述外连接。8.根据权利要求7所述的方法,其中,所述外连接是右外连接。9.根据权利要求8所述的方法,其中,所述外连接是左外连接。10.根据权利要求1所述的方法,其中,所述生成步骤由SQL引擎执行。11.根据权利要求1所述的方法,其中,所述生成步骤包括接收指示用于分区所述第一数据集合的分区键的表达式。12.根据权利要求1所述的方法,其中,所述外连接与包括布尔表达式的连接条件相关。13.根据权利要求1所述的方法,其中,所述第一数据集合包括行的第一集合;以及其中,所述外连接在所述行的第一集合和行的第二集合之间,以及所述生成步骤包括向多个进程中的每个进程发送所述行的第一集合的子集和所有所述行的第二集合。14.根据权利要求13所述的方法,其中,所述生成包括指定所述多个维的至少一个维;以及相对于所述指定的维散列分区所述第一数据集合。15.根据权利要求1所述的方法,进一步包括检测包括条件的结构,所述条件限制哪些维值组合被包括在所述第二数据集合中;以及响应于检测所述其它的结构,仅相对于所述第二数据集合被限制到的所述维值组合来执行所述操作。16.根据权利要求1所述的方法,其中,所述第一数据集合与多个维相关,所述第二集合与所述多个维相关,以及所述第二数据集合相对于所述多个维中的一个维更加稠密。17.一种由机器实现的方法包括基于与多个维相关的第一数据集合,生成相对于所述多个维的第一维比所述第一数据集合更稠密的第二数据集合;其中,执行所述生成,而不执行用于所述多个维的第二维的不同值的所述第一数据集合的排序的组合,通过执行所找到的所述不同值和所述第一维的维值集合的叉积,生成行的第一集合,以及为在所述行的第一集合中不存在行的所述行的第一集合添加对应于所述维值集合的维值的行。18.根据权利要求17所述的由机器实现的方法,其中,执行所述生成,而不执行所述第一数据集合的排序,其中,所述第一数据集合的所述排序被用于找到所述多个维的第二维的不同值。19.一...
【专利技术属性】
技术研发人员:阿比希纳夫古普塔,盛磊,桑卡尔苏布拉马尼亚恩,内森福尔克特,
申请(专利权)人:甲骨文国际公司,
类型:发明
国别省市:US[美国]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。