[发明专利]数据库的列存储方法、装置、服务器及存储介质有效
| 申请号: | 201810750149.X | 申请日: | 2018-07-10 | 
| 公开(公告)号: | CN108875077B | 公开(公告)日: | 2021-02-09 | 
| 发明(设计)人: | 郭琰;王攀;周智伟 | 申请(专利权)人: | 上海达梦数据库有限公司 | 
| 主分类号: | G06F16/22 | 分类号: | G06F16/22 | 
| 代理公司: | 北京品源专利代理有限公司 11332 | 代理人: | 孟金喆 | 
| 地址: | 201203 上海*** | 国省代码: | 上海;31 | 
| 权利要求书: | 查看更多 | 说明书: | 查看更多 | 
| 摘要: | |||
| 搜索关键词: | 数据库 存储 方法 装置 服务器 介质 | ||
1.一种数据库的列存储方法,其特征在于,所述方法包括:
获取待进行列存储的列数据;
将所述列数据按照预设行数存储为一个或多个数据区;
获取每个数据区的控制信息和统计信息;
在预先定义的列存储辅助表中记录每个数据区的控制信息及统计信息;
其中,根据预先定义的删除辅助表的结构,创建删除辅助表,所述删除辅助表用于记录所述一个或多个数据区中被删除的数据;
对数据表执行删除操作时,是将删除的数据的行号记录在删除辅助表中,为了减少删除辅助表中的数据行数,在被删除的数据为连续几行的数据时可以进行合并处理;
根据预先定义的更新辅助表的结构,创建更新辅助表,所述更新辅助表用于记录所述一个或多个数据区中更新的数据;
对列存储的数据进行更新时,是将更新的数据的列号、行号及更新后的值记录在更新辅助表中,通过更新的列号和行号可以查询列存储辅助表中的控制信息和统计信息定位到对应的数据区,将数据区的数据读取到内存后,通过更新辅助表中的数据对所涉及的数据进行更新。
2.根据权利要求1所述的方法,其特征在于,还包括:
将所述一个或多个数据区存储为数据文件。
3.根据权利要求1所述的方法,其特征在于,还包括:
根据预先定义的插入辅助表的结构,创建插入辅助表,所述插入辅助表用于记录插入的数据。
4.一种数据库的列存储装置,其特征在于,所述装置包括:
列数据获取模块,用于获取待进行列存储的列数据;
数据区存储模块,用于将所述列数据按照预设行数存储为一个或多个数据区;
信息获取模块,用于获取每个数据区的控制信息和统计信息;
信息记录模块,用于在预先定义的列存储辅助表中记录每个数据区的控制信息及统计信息;
删除辅助表创建模块,用于根据预先定义的删除辅助表的结构,创建删除辅助表,还用于记录所述一个或多个数据区中被删除的数据;
其中,对数据表执行删除操作时,是将删除的数据的行号记录在删除辅助表中,为了减少删除辅助表中的数据行数,在被删除的数据为连续几行的数据时可以进行合并处理;
更新辅助表创建模块,用于根据预先定义的更新辅助表的结构,创建更新辅助表,所述更新辅助表用于记录所述一个或多个数据区中更新的数据;
其中,对列存储的数据进行更新时,是将更新的数据的列号、行号及更新后的值记录在更新辅助表中,通过更新的列号和行号可以查询列存储辅助表中的控制信息和统计信息定位到对应的数据区,将数据区的数据读取到内存后,通过更新辅助表中的数据对所涉及的数据进行更新。
5.根据权利要求4所述的装置,其特征在于,还包括:
文件存储模块,用于将所述一个或多个数据区存储为数据文件。
6.根据权利要求4所述的装置,其特征在于,还包括:
插入辅助表创建模块,用于根据预先定义的插入辅助表的结构,创建插入辅助表,所述插入辅助表用于记录插入的数据。
7.一种服务器,其特征在于,所述服务器包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-3中任一所述的数据库的列存储方法。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-3中任一所述的数据库的列存储方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海达梦数据库有限公司,未经上海达梦数据库有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810750149.X/1.html,转载请声明来源钻瓜专利网。





