[发明专利]数据库系统的行列混合存储方法无效
申请号: | 201310296167.2 | 申请日: | 2013-07-15 |
公开(公告)号: | CN103440245A | 公开(公告)日: | 2013-12-11 |
发明(设计)人: | 王卓;肖玉泽;陈群;刘海龙;白松;孙林超;李战怀 | 申请(专利权)人: | 西北工业大学 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 西北工业大学专利中心 61204 | 代理人: | 王鲜凯 |
地址: | 710072 *** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种数据库系统的行列混合存储方法,用于解决现有行式数据库系统的行列混合存储方法,由于其组织方法和查询执行方法的不同,且难以统一的技术问题。技术方案是在数据库系统的存储层分别设立一个行存储引擎和一个列存储引擎,然后由一个访问接口层将两者封装起来,对列表进行元组物化,对行表进行投影,向查询引擎提供统一的数据访问接口。从而隐藏存储差别,实现了查询处理的统一化。 | ||
搜索关键词: | 数据库 系统 行列 混合 存储 方法 | ||
【主权项】:
一种数据库系统的行列混合存储方法,其特征在于包括以下步骤:步骤一、建立行列混合的存储模型的步骤;(1)定义一个访问的参数列表,负责行式文件和列式文件的访问方式;(2)然后接入存储引擎分装层,从而向上隐藏存储细节,提供一致的数据访问接口;查询引擎访问存储引擎时提供四个访问参数,存储引擎封装层根据参数StoreType选择行存储子引擎或列存储子引擎完成数据访问;行存储引擎根据参数AttList和ConditionList对数据进行选择和投影;列存储引擎则进行选择和元组物化;(3)存储引擎与查询引擎间的数据交互以“元组”的形式进行,在存储引擎以上的部分,表都是以行的方式存储的,查询分析和执行过程复用行式数据库的成熟逻辑;(4)对于数据插入,查询引擎将数据元组连同访问参数传给存储引擎,如果StoreType值为ROW,则由行存储子引擎将数据元组作为整体写入表文件;如果StoreType值为COLUMN,则在封装层拆分,然后由列存储子引擎将数据写入各自的文件;步骤二、构建文件组织方法;数据库中的数据在逻辑上表现为表,物理上以文件的形式存储于磁盘;(1)对于行表,同一表的数据存储在一个文件中,文件名为表名通过映射函数生成的DataFileID;文件的内部结构可以完全继承相关行数据库的方法;(2)对于列表,表的每个属性列独立地组织成一个文件,每个表对应一组文件;文件名的格式为,其中DataFileID由表名经过映射得到,AttID由属性名映射得到;(3)DataFileID命名的文件,用以存储元组的公共描述信息;(4)在列表文件内部,首先在文件头部存储数据类型、数据长度等描述信息,之后连续的存储有效数据;列表在数据读出后需要进行元组物化操作;步骤三、行列混合存储查询流程;(1)根据创建表时的存储模型,在查询语句的解析阶段,获取表的存储模式;(2)结合查询分析的相关信息生成四个访问参数;(3)执行引擎在访问数据时将访问参数传给存储引擎,存储引擎根据参数选择适当的方法读取数据并作选择、投影处理后返回数据。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西北工业大学,未经西北工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201310296167.2/,转载请声明来源钻瓜专利网。