[发明专利]对列状表数据库的数据库操作有效
申请号: | 201310403089.1 | 申请日: | 2013-09-06 |
公开(公告)号: | CN104424314B | 公开(公告)日: | 2019-06-11 |
发明(设计)人: | 黎文宪;董玢;魏正隆;陈颖宇;申永元 | 申请(专利权)人: | SAP欧洲公司 |
主分类号: | G06F16/22 | 分类号: | G06F16/22;G06F16/215 |
代理公司: | 北京市柳沈律师事务所 11105 | 代理人: | 邵亚丽 |
地址: | 德国瓦*** | 国省代码: | 德国;DE |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 列状表 数据库 操作 | ||
计算机系统包括至少一个处理器和可操作地耦合到所述至少一个处理器的至少一个存储器。存储器包括存储池和被分区成多个片段的数据库。多个片段中的每一个被分配来自存储池的存储块,而且片段以列状表格式存储压缩数据。数据库操作以压缩格式被应用于多个片段中的至少一个片段中的压缩数据。
技术领域
本说明书涉及对以列状(columnar)表形式组织的数据库执行数据库操作的系统和技术。
背景技术
数据库可以以不同的格式组织。例如,支持二维表的数据库可以以行表(rowtable)格式组织,或者它可以以列表(也被称为列状表)格式组织。例如,在以行表格式设计的数据库中,数据的存储顺序是一行接一行。在以列表格式设计的数据库中,存储顺序是一列接一列。格式化为列表的数据库相比于格式化为行表的数据库可以具有优点。例如,当数据库包含大量数据而且需要对数据进行聚集和分析时,列状表可以提供优点。相比于其他类型的表,列状表还可以提供其它优点。
尽管列状表具有优点,但是在期望改善方面列状表可能存在缺点。例如,一些数据库操作与期望相比可能创建和消耗更多的存储而且引起附加的处理负荷。可以寻求改进以限制列状表的存储消耗并提高列状表的处理效率。
发明内容
根据一个总的方面,计算机系统包括至少一个处理器和可操作地耦合到所述至少一个处理器的至少一个存储器。存储器包括存储池(memory pool)和被分区成多个片段的数据库。多个片段中的每一个被分配来自存储池的存储块,而且片段以列状表格式存储压缩数据。数据库操作以压缩格式被应用于多个片段中的至少一个片段中的压缩数据。
实现方式可以包括以下特征中的一个或多个。例如,数据库操作可以包括插入操作,其中,插入操作使新的数据以压缩格式追加到多个片段之一中的最后一行。存储器可以包括变化日志,其被配置为存储未压缩数据,而且数据库操作可以包括读操作。读操作使得从多个片段中的至少一个片段读取压缩数据,对压缩数据进行解压缩,从变化日志读取相关联的数据,以及将来自片段的解压缩数据与来自变化日志的相关联的数据结合。存储器可以包括变化日志,其被配置为存储未压缩数据,而且数据库操作可以包括更新操作。更新操作使得定位多个片段之一中的数据的相应的行;如果片段中的存储空间足够包括压缩格式的数据中的一个或多个更新的值,则压缩更新的值并且代替数据中的更新的值,以及如果片段中的存储空间不足以包括压缩格式的数据中的更新的值,则将更新的值以未压缩格式记录在变化日志中。数据库可以被配置为压缩变化日志中的数据并且将来自变化日志的压缩数据与片段中的压缩数据进行合并。数据库可以包括压缩引擎,其被配置为使用多个压缩方案之一来压缩数据。压缩引擎可以使用字典编码方案来压缩存储在片段中的数据。数据库可以是内存(in-memory)数据库。
根据另一总的方面,方法包括将数据库分区成多个片段,其中,多个片段中的每一个被分配来自存储池的存储块。将压缩数据以列状表格式存储在多个片段中的每一个中。将数据库操作以压缩格式应用于多个片段中的至少一个片段中的压缩数据。
实现方式可以包括以下特征中的一个或多个。数据库操作可以包括插入操作,而且所述方法可以还包括,响应于插入操作,将新的数据以压缩格式追加到多个片段之一中的最后一行。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于SAP欧洲公司,未经SAP欧洲公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310403089.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种暂存通用数据的方法
- 下一篇:一种基于科技媒体云计算非结构化数据处理方法