[发明专利]存储为行存储和列存储二者的混合数据库表有效
申请号: | 201210399140.1 | 申请日: | 2012-10-19 |
公开(公告)号: | CN103177055B | 公开(公告)日: | 2017-09-05 |
发明(设计)人: | Y.永;C.程;J.李;C.B.宋;Y.S.孔;S.Y.且 | 申请(专利权)人: | SAP欧洲公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京市柳沈律师事务所11105 | 代理人: | 邵亚丽 |
地址: | 德国瓦*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 存储 二者 混合 数据库 | ||
技术领域
本发明涉及数据库中数据的存储,而且更具体地,涉及以混合表格式的数据库信息的存储。
背景技术
除非另有说明,本节中所描述的方法不是本申请中的权利要求的现有技术,并且不承认由并入本节即表示现有技术。
数据库是以结构化的方式存储数据的电子编档系统。数据库中的主存储结构是表。数据库可以包含多个表,而且每个表可以容纳特定类型的信息。数据库表以水平行和垂直列来存储和组织数据。行通常对应于真实世界的实体或关系,其代表表中的单个记录。列可以指示这些实体或关系的特定属性,诸如“名称”、“地址”或“电话号码”。例如,X公司可以具有包含“客户”表的数据库,“客户”表列出了它的客户的名称、地址和电话号码。每一行可以代表单一的客户,而且列可以代表每个客户的名称、地址和电话号码。
数据库通常存储在一维的计算机存储器中。因此,二维的数据库表必须被映射为一维的数据结构以便存储在数据库中。一种映射方法涉及按行将表存储在数据库中(即,面向行的存储模型)。这种方法可以使关于单一的实体的信息保持在一起。例如,按行存储可以首先存储关于第一客户的所有信息,然后存储关于第二客户的所有信息,等等。可替换地,表可以被按行存储在数据库中(即,面向列的存储模型)。这种方法可以使不同实体的相同属性保持在一起。例如,按列存储可以首先存储所有客户的名称,然后存储所有客户的地址,等等。
数据通常必须以与它被存储的方式相同的方式从表中访问。也就是说,传统的计算机存储技术需要专用查询操作符(operator),其能够访问特定类型的存储模型。例如,行查询操作符用于处理以行格式的存储模型(row-formatted storage models)存储在数据库中的数据,而且列查询操作符用于处理以列格式的存储模型(column-formatted storage models)存储在数据库中的数据。
因而,选择使用哪种存储模型往往取决于数据将被如何使用。面向行的存储模型通常非常适用于事务查询。行存储格式将数据库行强调为可操作的元素,并且通常用于联机事务处理(On-Line Transaction Processing,OLTP),OLTP涉及相对较大数量的联机事务(行),而且每个事务的特征在于相对更多的数据类型(列)。
相比之下,面向列的存储模型一般适用于分析查询。列存储格式将数据库列强调为可操作的元素,并且通常用于关于可以包括基本数据类型的聚合的更少数量的数据类型(列)来对事务(行)总数的子集进行联机分析处理(On-Line Analytical Processing,OLAP)。以列存储格式的数据库表通常用于为了解决问题而对原始数据进行询问(interrogation)和分析,并用于规划形成业务智能(Business Intelligence,BI)效果的一部分。
总之,行存储可以用于检索单个记录,该记录包括许多具有主键条件(primary key condition)的列。列存储可以用于执行更复杂的功能,诸如对相对较小数量的列进行聚合/结合。
因此,传统的查询处理方案被绑定到正被查询的数据库的底层存储模型。然而,在现实中,具有以列格式的存储模型存储的某些数据的数据库可以被要求处理与该数据有关的事务查询,或者具有以行格式的存储模型存储的某些数据的数据库可以被要求处理与该数据有关的分析查询。例如,具有以行格式的存储模型存储的数据的数据库可以接收请求对该数据进行事务处理和分析处理的一组混合的查询。
行存储数据库表格式和列存储数据库表格式二者都提供各种好处。例如,行存储格式为数据提供现成的可扩展性,因为它预期越来越多的事务将需要存储在附加行中。然而,行存储表格式对于分析查询(例如,聚合、结合)而言是相对内存密集型(memory intensive)的,因为它垂直扫描表,这导致在水平存储数据时发生缓存未命中(cache miss)。
相反,列存储格式在允许涉及表结合和聚合的复杂的数据操作方面提供灵活性,以及通过允许利用字典编码对跨多个条目的数据类型内的压缩来提供相对较低的内存消耗。然而,列存储数据库格式通常不允许与行存储表一样容易地操作大量数据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于SAP欧洲公司,未经SAP欧洲公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210399140.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:制备和使用电极组合物的方法和制品
- 下一篇:一种可侧弯防结构干涉SAS线缆