[发明专利]高级数据库解压缩在审
申请号: | 202010576927.5 | 申请日: | 2020-06-22 |
公开(公告)号: | CN112115684A | 公开(公告)日: | 2020-12-22 |
发明(设计)人: | R.拉什;I.奥基德;N.梅 | 申请(专利权)人: | SAP欧洲公司 |
主分类号: | G06F40/157 | 分类号: | G06F40/157;G06F16/903 |
代理公司: | 北京市柳沈律师事务所 11105 | 代理人: | 邵亚丽 |
地址: | 德国瓦*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 高级 数据库 解压缩 | ||
用于解压缩数据的方法、系统和计算机程序产品。响应于访问存储压缩块集合中的数据的请求,识别存储压缩块集合中的一个或多个压缩块。使用前端编码对识别的压缩块内的字符串前缀进行解压缩。使用重新配对解压缩对识别的压缩块内的字符串后缀进行解压缩。生成未压缩数据。
对相关申请的交叉引用
本申请要求Lasch等人于2019年6月21日提交的名称为“Advanced DatabaseCompression On Modern Hardware”的美国临时专利申请No.62/864,782的优先权,通过引用将其全部公开内容合并于此。
技术领域
本公开通常涉及数据处理,更具体地,涉及数据库压缩和解压缩。
背景技术
在数据库中,域编码是一种广泛用于列存储以压缩和查询加速的技术。它用唯一的整数值标识符来替换列中的值。从标识符回到实际值的映射被存储在附加数据结构(字典)中。这意味着使用域编码表示列需要两个数据结构:字典和值标识符数组。字典将不同的值存储在列中,并提供从唯一标识符到值的映射。值标识符数组充当字典的索引。这也称为索引向量。
在列中多次出现的值仅在字典中存储一次。这意味着通过此方法,显著地压缩了仅包含在列中多次出现的几个不同值的列。这是因为用于替换值的值标识符通常显著小于实际值。通过用值标识符替换值,域编码还可以提高性能,因为某些可以在不进行域编码的情况下对值本身执行的操作也可以直接在值标识符上执行。
对于存储字符串的列,用于域编码的字典是字符串字典。字符串字典是一种数据结构,实现从字符串集合X到唯一整数标识符的字符串双射映射。对于字符串字典,实现压缩的最简单方法之一是按字典顺序对字典中的字符串进行排序,然后应用前端编码,将每个字符串与其前任进行比较(即,(块的)第一个字符串被完全存储。后续字符串存储与前任共享的前缀和压缩后缀的长度)。前端编码通常被应用于固定大小的字符串存储桶。
发明内容
在一些实现方式中,当前主题涉及用于执行数据解压缩的计算机实现的方法。所述方法可以包括:响应于访问存储压缩块集合中的数据的请求,识别存储压缩块集合中的一个或多个压缩块;使用前端编码对识别的压缩块内的字符串前缀进行解压缩;使用重新配对解压缩对识别的压缩块内的字符串后缀进行解压缩;以及生成未压缩数据。
在一些实现方式中,当前主题可以包括以下可选特征中的一个或多个。在一些实现方式中,重新配对解压缩可以包括迭代扩展符号树中与存储在识别的压缩块中的数据相对应的每个符号。符号树可以包括多个节点。压缩块可以是从字典中的字符串的一个或多个前端编码存储桶生成的。前端编码存储桶被配置为被采样以形成一个或多个超级块。超级块的每一个可以被配置为被压缩以生成用于压缩压缩块的共享语法。多个节点可以包括以下至少之一:末端字符、非末端字符及其任意组合。在一些实现方式中,所述方法还可以包括并行执行多个重新配对解压缩。末端字符的数量可以被限制为预定数量。此外,每个符号的迭代扩展次数可以基于预定数量来确定。
在一些实现方式中,重新配对解压缩可以包括:初始化与符号树中的每个符号相对应的存储器中的堆栈位置;使用向量化重新配对扩展将符号树中的每个符号从存储装置同时加载到存储器中;通过评估与符号相关联的一个或多个谓词,将加载的符号合并到未压缩数据中;以及使用预定数量重复同时加载和合并。
在一些实现方式中,压缩块集合中的每个块可以包括存储桶头和压缩存储桶的序列。块大小可以至少为以下之一:固定大小和可变大小。此外,可以使用重新配对压缩对压缩块进行压缩。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于SAP欧洲公司,未经SAP欧洲公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010576927.5/2.html,转载请声明来源钻瓜专利网。