【技术实现步骤摘要】
高级数据库解压缩对相关申请的交叉引用本申请要求Lasch等人于2019年6月21日提交的名称为“AdvancedDatabaseCompressionOnModernHardware”的美国临时专利申请No.62/864,782的优先权,通过引用将其全部公开内容合并于此。
本公开通常涉及数据处理,更具体地,涉及数据库压缩和解压缩。
技术介绍
在数据库中,域编码是一种广泛用于列存储以压缩和查询加速的技术。它用唯一的整数值标识符来替换列中的值。从标识符回到实际值的映射被存储在附加数据结构(字典)中。这意味着使用域编码表示列需要两个数据结构:字典和值标识符数组。字典将不同的值存储在列中,并提供从唯一标识符到值的映射。值标识符数组充当字典的索引。这也称为索引向量。在列中多次出现的值仅在字典中存储一次。这意味着通过此方法,显著地压缩了仅包含在列中多次出现的几个不同值的列。这是因为用于替换值的值标识符通常显著小于实际值。通过用值标识符替换值,域编码还可以提高性能,因为某些可以在不进行域编码的情况下对值本身执行的操作也可以直接在值标识符上执行。对于存储字符串的列,用于域编码的字典是字符串字典。字符串字典是一种数据结构,实现从字符串集合X到唯一整数标识符的字符串双射映射。对于字符串字典,实现压缩的最简单方法之一是按字典顺序对字典中的字符串进行排序,然后应用前端编码,将每个字符串与其前任进行比较(即,(块的)第一个字符串被完全存储。后续字符串存储与前任共享的前缀和压缩后缀的长度)。前端编码通常被应用于固 ...
【技术保护点】
1.一种计算机实现的方法,包括:/n响应于访问存储压缩块集合中的数据的请求,识别存储压缩块集合中的一个或多个压缩块;以及/n使用前端编码对识别的压缩块内的字符串前缀进行解压缩;/n使用重新配对解压缩对识别的压缩块内的字符串后缀进行解压缩;以及/n生成未压缩数据。/n
【技术特征摘要】
20190621 US 62/864,782;20200330 US 16/834,8391.一种计算机实现的方法,包括:
响应于访问存储压缩块集合中的数据的请求,识别存储压缩块集合中的一个或多个压缩块;以及
使用前端编码对识别的压缩块内的字符串前缀进行解压缩;
使用重新配对解压缩对识别的压缩块内的字符串后缀进行解压缩;以及
生成未压缩数据。
2.根据权利要求1所述的方法,其中,重新配对解压缩包括迭代扩展符号树中与存储在识别的压缩块中的数据相对应的每个符号;
一个或多个压缩块是从字典中的字符串的一个或多个前端编码存储桶生成的,一个或多个前端编码存储桶被配置为被采样以形成一个或多个超级块,其中,一个或多个超级块的每一个被配置为被压缩以生成用于压缩一个或多个压缩块的共享语法。
3.根据权利要求2所述的方法,其中,符号树包括多个节点,其中,多个节点包括以下至少之一:末端字符、非末端字符及其任意组合。
4.根据权利要求3所述的方法,还包括:并行执行多个重新配对解压缩。
5.根据权利要求4所述的方法,其中,末端字符的数量被限制为预定数量,其中,每个符号的迭代扩展次数基于所述预定数量来确定。
6.根据权利要求5所述的方法,其中,重新配对解压缩包括:
初始化与符号树中的每个符号相对应的存储器中的堆栈位置;
使用向量指令将符号树中的每个符号从存储装置同时加载到存储器中;
通过评估与符号相关联的一个或多个谓词,将加载的符号合并到未压缩数据中;以及
使用所述预定数量重复同时加载和合并。
7.根据权利要求1所述的方法,其中,压缩块集合中的每个块包括存储桶头和压缩存储桶的序列。
8.根据权利要求1所述的方法,其中,块大小为以下至少之一:固定大小和可变大小。
9.根据权利要求1所述的方法,其中,使用重新配对压缩对一个或多个压缩块进行压缩。
10.一种系统,包括:
至少一个可编程处理器;以及
非暂时性机器可读介质,存储指令,当指令由至少一个可编程处理器执行时,使至少一个可编程处理器执行以下操作:
响应于访问存储压缩块集合中的数据的请求,识别存储压缩块集合中的一个或多个压缩块;以及
使用前端编码对识别的压缩块内的字符串前缀进行解压缩;
使用重新配对解压缩对识别的压缩块内的字符串后缀进行...
【专利技术属性】
技术研发人员:R拉什,I奥基德,N梅,
申请(专利权)人:SAP欧洲公司,
类型:发明
国别省市:德国;DE
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。