[发明专利]一种实现基于列存储的关系型数据库的方法及装置有效
申请号: | 200810187227.6 | 申请日: | 2008-12-18 |
公开(公告)号: | CN101751406A | 公开(公告)日: | 2010-06-23 |
发明(设计)人: | 赵伟 | 申请(专利权)人: | 赵伟 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京三友知识产权代理有限公司 11127 | 代理人: | 任默闻 |
地址: | 010020 内蒙古自治区呼和*** | 国省代码: | 内蒙古;15 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 实现 基于 存储 关系 数据库 方法 装置 | ||
1.一种实现基于列存储的关系型数据库的方法,其特征在于,该方法包括:
步骤1,建立数据文件,并对组成数据文件的数据块按顺序编序列号;
步骤2,定义表段;
步骤3,将记录插入到表段中;
步骤4,对于插入到表段中的记录生成表段内唯一的记录标识号,并将记 录按列分开;
步骤5,对于记录中的每一个列,执行如下操作:
将列值和记录标识号作为值数据存储到数据块中并按列值大小排序;
将记录标识号和存储值数据的数据块的序列号作为连接数据存储到新的 数据块中,并按记录标识号大小排序;
步骤6、对存储值数据的数据块和存储连接数据的数据块建立通用查询索 引树,生成索引数据块,其中,所述的通用查询索引树由根、中间及叶索引 数据块组成,所述的索引数据块由索引数据元素组成,索引数据元素包括索 引键和被索引数据块的序列号,所述被索引数据块包括索引数据块、值数据 块和连接数据块,索引数据元素的索引键是被索引数据块的第一个元素的值, 如果被索引的数据块是存储值数据的值数据块,那么索引键是值数据块中第 一个值数据元素的列值;如果被索引的数据块是存储连接数据的连接数据块, 那么索引键就是连接数据块中第一个连接数据元素的记录标识号;如果被索 引的数据块是索引数据块,那么索引键就是被索引的索引数据块的第一个索 引数据元素的键值。
2.根据权利要求1所述的方法,其特征在于:
每个表段容纳固定数量的记录。
3.根据权利要求1所述的方法,其特征在于:所述步骤3中,如果表段 容纳的记录数达到最大记录数,则建立新的表段。
4.根据权利要求1所述的方法,其特征在于,将列值和记录标识号作为 值数据存储到数据块中并按列值大小排序的步骤中,如果该数据块中已含有 相同的列值,合并具有相同列值的记录标识号成记录标识号组,其中记录标 识号组中的记录标识号按大小排序。
5.根据权利要求1所述的方法,其特征在于,步骤6中,索引数据块中 的索引数据元素按照索引键大小排序。
6.根据权利要求1-5中任意一项所述的方法,其特征在于,该方法还包括:
更新记录的值数据元素和/或连接数据元素。
7.根据权利要求6所述的方法,其特征在于:
插入或更新记录时,如果相应数据块溢出,则将最后的值数据元素或连 接数据元素移出并通过兄弟数据块或新的数据块来进行存储。
8.根据权利要求7所述的方法,其特征在于:
插入或更新记录时,若导致记录标识号被移动到兄弟数据块或新的数据 块中,将被移动的该记录标识号所对应的连接数据元素的数据块序列号更新 为所述兄弟数据块或新的数据块的序列号。
9.根据权利要求8所述的方法,其特征在于:
对所述新的数据块建立索引。
10.根据权利要求5所述的方法,其特征在于:
插入或更新记录时,如果导致被索引数据块的第一个元素发生变化,则 根据被索引数据块的第一个元素的变化更新索引键。
11.根据权利要求1-5中任意一项所述的方法,其特征在于,该方法还 包括:
删除记录的值数据元素和连接数据元素。
12.根据权利要求11所述的方法,其特征在于:
如果删除记录后值数据块或连接数据块为空,则回收值数据块或连接数 据块。
13.根据权利要求12所述的方法,其特征在于:
如果删除记录后导致被索引数据块的第一个元素发生变化,则根据被索 引数据块的第一个元素的变化更新索引键。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于赵伟,未经赵伟许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200810187227.6/1.html,转载请声明来源钻瓜专利网。
- 上一篇:微机电系统开关
- 下一篇:光催化反应组件以及空气消毒净化装置