[发明专利]数据库系统的行列混合存储方法无效
申请号: | 201310296167.2 | 申请日: | 2013-07-15 |
公开(公告)号: | CN103440245A | 公开(公告)日: | 2013-12-11 |
发明(设计)人: | 王卓;肖玉泽;陈群;刘海龙;白松;孙林超;李战怀 | 申请(专利权)人: | 西北工业大学 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 西北工业大学专利中心 61204 | 代理人: | 王鲜凯 |
地址: | 710072 *** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据库 系统 行列 混合 存储 方法 | ||
技术领域
本发明涉及一种行列混合存储方法,特别是涉及一种数据库系统的行列混合存储方法。
背景技术
参照图3。在关系数据库系统中,数据是在逻辑上组织成表的形式。存取表的性能是影响数据库系统性能的一个重要因素。表的存储模式分为行存储和列存储两种。行存储模式下数据按元组存储,每个元组的所有属性都存储在一起。如果要查询一个元组的某个属性值,则需要先读取整个元组的数据。当前大多数的关系数据库系统都采用行存储技术。列存储将表的每一列组织在一起进行存储,不同的列独立存储。
随着社会信息化程度的不断加深,不断累积的海量数据和不断增加数据膨胀速度对数据库系统提出了新的需求。基于数据库的应用主要分为OLTP和OLAP两类,前者需要处理涉及频繁“写”操作的事物性查询,后者侧重于处理涉及大量“读”操作的分析型查询。研究应用表明:列存储在读操作上有着较大的优势,非常适用于OLAP查询。然而其对写操作的支持并不理想,因此并不适合OLTP查询。另一方面,多年的实践表明传统的行式数据库对OLTP查询支持的非常好。
由于上述原因,当前面向OLTP数据库和面向OLAP的数据库往往彼此独立。然而很多企业和组织同时拥有这两种业务,不得不部署两套系统。这种做法不仅增加了企业成本,而且实际使用中要在不同数据库之间进行数据迁移,不利于数据的管理和使用。因此,构建一种既支持列存储,具有良好的读性能,又支持行存储,有良好写性能,从而能同时支持OLTP和OLAP应用的混合存储数据库有着巨大现实需求。
发明内容
为了克服现有行式数据库系统的行列混合存储方法,由于其组织方法和查询执行方法的不同,且难以统一的不足,本发明提供一种数据库系统的行列混合存储方法。该方法在数据库系统的存储层分别设立一个行存储引擎和一个列存储引擎,然后由一个访问接口层将两者封装起来,对列表进行元组物化,对行表进行投影,向查询引擎提供统一的数据访问接口,从而隐藏存储差别,实现查询处理的统一化。
本发明解决其技术问题所采用的技术方案是:一种数据库系统的行列混合存储方法,其特点是采用以下步骤:
步骤一、建立行列混合的存储模型的步骤。
(1)定义一个访问的参数列表,负责行式文件和列式文件的访问方式。
(2)然后接入存储引擎分装层,从而向上隐藏存储细节,提供一致的数据访问接口。查询引擎访问存储引擎时提供四个访问参数<DataFileID,StoreType,AttList,ConditionList>,存储引擎封装层根据参数StoreType选择行存储子引擎或列存储子引擎完成数据访问。行存储引擎根据参数AttList和ConditionList对数据进行选择和投影;列存储引擎则进行选择和元组物化。
(3)存储引擎与查询引擎间的数据交互以“元组”的形式进行,在存储引擎以上的部分,表都是以行的方式存储的,查询分析和执行过程复用行式数据库的成熟逻辑。
(4)对于数据插入,查询引擎将数据元组连同访问参数传给存储引擎,如果StoreType值为ROW,则由行存储子引擎将数据元组作为整体写入表文件;如果StoreType值为COLUMN,则在封装层拆分,然后由列存储子引擎将数据写入各自的文件。
步骤二、构建文件组织方法。
数据库中的数据在逻辑上表现为表,物理上以文件的形式存储于磁盘。
(1)对于行表,同一表的数据存储在一个文件中,文件名为表名通过映射函数生成的DataFileID。文件的内部结构可以完全继承相关行数据库的方法。
(2)对于列表,表的每个属性列独立地组织成一个文件,每个表对应一组文件。文件名的格式为<DataFileID-AttID>,其中DataFileID由表名经过映射得到,AttID由属性名映射得到。
(3)DataFileID命名的文件,用以存储元组的公共描述信息。
(4)在列表文件内部,首先在文件头部存储数据类型、数据长度等描述信息,之后连续的存储有效数据。列表在数据读出后需要进行元组物化操作。
步骤三、行列混合存储查询流程。
(1)根据创建表时的存储模型,在查询语句的解析阶段,获取表的存储模式;
(2)结合查询分析的相关信息生成<DataFileID,StoreType,AttList,ConditionList>四个访问参数。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西北工业大学,未经西北工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310296167.2/2.html,转载请声明来源钻瓜专利网。