当前位置: 首页 > 专利查询>SAP股份公司专利>正文

具有重复值的表的块压缩制造技术

技术编号:3420079 阅读:222 留言:0更新日期:2012-04-11 18:40
公开了包括计算机程序产品的方法和装置,用于具有重复值的表的块压缩。总的来说,表示压缩后的数据列的值标识符可以被排序以使得重复值相邻,并且可以生成块字典。可以为每一个值标识符块生成块字典。每一个块字典可以包括块标识符的列表,其中每一个块标识符与一个值标识符相关联,并且对于块中的每一个唯一值存在块标识符。块可以具有标准的大小并且块字典可以重复使用于多个块。

【技术实现步骤摘要】

本专利技术涉及由数字计算机进行的数据处理,更具体来说,涉及具有重复值的表(table)的块压缩。
技术介绍
搜索引擎可以在诸如关系表之类的数据库表中搜索大量数据,以找到结 果。对于海量数据,诸如包含上百万的记录的表的组合,数据的处理可能需 要大量硬件资源。例如,可能需要大量随机存取存储器空间来存储与执行用 户i奮求相关的所有记录。
技术实现思路
在此公开的主题提供包括计算机程序产品的方法和装置,其实现涉及具有重复值的表的块压缩的技术。在一个方面,根据基于字典的压缩来压缩数据列,以生成值标识符列, 将所述值标识符排序,生成块标识符列表,生成块字典列,以及生成块偏移 列。对于值标识符的每一个块,存在针对每个唯一值标识符的唯一块标识符 以及存在针对相同值标识符的相同块标识符。对于每一个块字典,存在块标 识符列表,其中每一个块标识符与值标识符相关联,以及存在针对块标识符 的每一个唯一值而存在于块字典中的块标识符。块偏移列的每一个值指示在所述块字典列中块从其开始的偏移。在相关方面中,将表示压缩后的数据列的值标识符进行排序,以及生成 块字典。可以为值标识符的每一个块生成块字典。每一个块字典可以包括块标识符列表,其中每一个块标识符与一个值标识符相关联,以及块中的每个 唯一值存在块标识符。该主题可以被实施为例如计算机程序产品(例如,实施为源代码或有形 地体现在计算机可读介质中的经编译的代码)、计算机实施的方法、以及系统。变形可以包括一个或多个下列特征。所述值标识符可以是表示在表的同一行上具有数据相关性的结构化业务 数据的值。所述业务数据可以包括被建模为连接表的集合的业务对象。可以在多个硬件服务器上并行地生成块字典、块向量等等。数据列的变化可以被存储在与该数据列分离的增量緩冲器中,并且可以 异步地整合所述变化。可以存储块字典、块标识符(例如,块向量中的或块向量列中的)、以及 块偏移值,并且可以在块字典上进行搜索。值标识符的每一个块的大小可以是固定的行数。利用结构化数据的表中的其它列对数据列进行排序。所述排序可以包括 对数据列进行排序以生成值标识符的分组,并且根据前一列选择性地对后续 的列的块进行排序,其中如果前一列的块具有单个相同的值标识符,则对后 续列的块进行排序。可以为值标识符中的每一个分配块标识符。块标识符的次序可以与值标 识符的次序匹配。块标识符可以包括每一个块开始的编号顺序。可以根据二 进制编码来压缩每一个块字典以使得使用最小的比特长度来表示每一个块字 典的块标识符。对于块字典来说,块标识符仅可以为块标识符的每个唯一值 存在一次。可以实施这里描述的主题以实现一个或多个下列优点。诸如包含海量数 据的关系表的海量数据库数据的高效处理可能需要高级的数据压缩,以在已 安装的存储器(例如,易失性存储器)或在盘存储设备上保持数据巻,并且 用于当移动所述数据(例如,从硬盘驱动到存储器)时高效的数据流。压缩 可能在信息处理硬件前景中具有多种影响,因为减少的数据量可能需要更少 的安装的主存储器或硬盘容量,并且减少的数据流可能对处理器高速缓存、 处理器架构以及网络带宽具有较低的要求。所有这些可能对硬件需求、响应 时间和总体系统性能具有有益的影响。诸如业务数据这样的数据可以在存储 器中被压缩和搜索,这是因为显著的数据压缩可以允许对数据进行节省成本 的存储器内处理(例如,可以减少服务的数目和物理存储器的数量)。可以通 过为凄t據列的一个或多个块生成块标识符向量和压缩的块字典来实现压缩。有利之处在于可以通过块字典和表示块中的值的出现的向量的组合以压缩 方式来表示数据列中多个频繁出现的值。为了减少块字典占用的空间,可以 使用最小的比特数量来编码块字典中的块标识符。可以在多个数据块中重复使用块字典以减少块字典的存储空间消耗。可以使用块字典和块标识符向量 来压缩多个数据列。对于结构化数据,可以通过基于与其存在数据相关性的 其它数据列对数据列进行排序来维持数据依赖关系。在附图和以下的描述中陈述了一个或多个实施方式的细节。进一步的特 征、方面和优点将从这些描述、附图以及权利要求书中变得清楚明白。附图说明图1A是图示结构化数据的表、用于表的列的字典、属性表和主索引的框图。图1B是图示结构化数据的表、用于表的列的字典、属性表和增量索引的 框图。图1C是图示从主索引和增量索引生成结果集合的示例。 图2A-2B是图示结构化数据的表的框图。图3是图示属性和关键指标(key figure)的基数(cardinality)的表。 图4A-4B是图示根据基于向量的压缩而进行压缩的列的框图。 图5是图示用于压缩数据和搜索压缩的数据的系统的框图。 图6是图示对跨越多列的数据进行排序的表的框图。 图7A-7B是图示对数据进行压缩和实现对压缩数据进行搜索的处理的流 程图。图8是图示使用压缩的字典对数据列进行压缩的框图。 图9是图示对跨越多列的数据进行排序的表的框图。 图IO是对数据进行压缩的处理的流程图。 在不同附图中,相似的参考标号和标记指示相似的元素。具体实施例方式一般来说,在图1-图10中,可以利用可以被称为基于字典的压缩、比 特向量压缩(或基于向量的压缩)、排序比特向量压缩(或基于缩短的向量的 压缩)、以及块向量压缩这样的技术的组合来压缩数据。所述数据可以是结构 化的业务数据,其中从如下意义上说数据被结构化,即,数据可以是组织在 诸如表之类的数据结构中的属性或关键指标,并且属性或关键指标可以具有 相关性。例如,在信息表中,行可能在该行的数据之间具有相关性,使得该行的每列中的数据都与该行的其它列中的其它数据相关联。数据的诸如空(null)值的特定值可能在跨越成千或成百万的行中被非常频繁的实例化,所 述成千或成百万的行可能位于数据结构的一部分中,诸如在表的特定行中, 或者也可能跨越整个数据结构,从这个意义上说,数据可以形成稀疏分布。 例如,具有两千万条目的数据列可以包括一千九百万个空条目,其中该一千 九百万个空条目位于不一定相邻的不同行中。图IA是图示结构化数据的表105、该表的列的字典110、属性表115、 和索引120。总的来说,图1A图示了可以如何为表105中的列125提供字典 110、属性表115和索引120,其中,字典IIO为列125中的值规定值标识符 (Valueld),属性表115列出各个文档标识符140 ( Docld )的值标识符135, 而索引120列出各个值标识符150的文档标识符145。字典110可以被用来提供可以被称为基于字典的压缩,所述基于字典的 压缩可能涉及使用字典110通过利用可以占用较少存储器的标识符表示表中 的值来减少存储在表中的数据量。 一般来说,字典110是列中出现的值以及 值的标识符(即,所述的值标识符)的列表,其可以被排序。举例来说,为了借助基于字典的压缩减少数据表的列所占用的存储器或编号(例如可以实现为整数,而不是表现值本身的串)可被用作在值出现的 表中的值的占位符。可以注释对值进行表示所需的最大编号。如果将列的基 数定义为列中出现的不同值的数目,并且如果列的总长度为N,则在值C比 N小得多的情况下,基于字典的压缩可能带来益处,比如,与将表中的值进 行存储相比,存储器消耗减少了。 C个值的排序列表可以被称为字本文档来自技高网...

【技术保护点】
一种计算机程序产品,有形地具体实施在计算机可读介质中,该计算机程序产品可操作地使得数据处理装置执行以下操作,所述操作包括:根据基于字典的压缩来压缩数据列,所述压缩包括生成值标识符列,值标识符中的每一个表示所述数据列中的一个唯一值;对所述值标识符进行排序;为所述值标识符的每一个块,生成块标识符的第一列表,所述生成包括:具有用于块中的每一个唯一值标识符的唯一块标识符;以及对于相同的块标识符具有相同的值标识符;生成块字典列,所述生成块字典列包括为每一个块生成块字典,所述块字典包括:块标识符的第二列表,每一个块标识符与一个值标识符相关联;以及块标识符,为所述第二列表中每一个唯一的块标识符的值而存在于所述块字典中;以及生成块偏移列,所述块偏移列的每一个值指示在块字典的列中块从其开始的偏移。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:弗朗兹费尔伯冈特拉德斯托克安德鲁罗斯
申请(专利权)人:SAP股份公司
类型:发明
国别省市:DE[德国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术
  • 暂无相关专利