[发明专利]一种适用于时序数据库的列式压缩存储和检索方法在审
申请号: | 202210082231.6 | 申请日: | 2022-01-24 |
公开(公告)号: | CN114416745A | 公开(公告)日: | 2022-04-29 |
发明(设计)人: | 邹月明;饶上荣 | 申请(专利权)人: | 北京顺实科技有限公司 |
主分类号: | G06F16/22 | 分类号: | G06F16/22;G06F16/2453 |
代理公司: | 上海尚象专利代理有限公司 31335 | 代理人: | 郑婷 |
地址: | 100089 北京市海淀区丰慧中*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 适用于 时序 数据库 压缩 存储 检索 方法 | ||
本发明公开了一种适用于时序数据库的列式压缩存储和检索方法,涉及时序数据库技术领域。本发明包括以下步骤:(1)构建数据库;(2)将数据库内部进行划分并获得多个表;(3)在表中构造文件,根据表的类型为文件进行命名,并为文件配置硬盘;(4)将获取的列数据压缩后存储在列块中,且列数据在压缩过程中进行对齐操作,且列块在压缩过程中进行对齐操作,将表中的所有列块都同时往一个文件写入,若当前文件写满后,使用表中的新文件,并为文件附上序号,序号从1开始;(5)列块在储存组织过程中,将其存储信息生成表信息。本发明完全的列式存储,按列分块,适合磁盘块的固定长度压缩存储,避免浪费存储空间。
技术领域
本发明涉及时序数据库技术领域,具体涉及一种适用于时序数据库的列式压缩存储和检索方法。
背景技术
时序数据库主要用于处理对某对象按照时间顺序采集的系列数据。目前,时序数据库经过几代发展,以Influx DB为代表的垂直型时序数据库成为时序数据库市场的主流,而根据时序数据库的特点,使用类似LSM Tree的技术是最新一代时序数据库的标志。
目前时序数据库为起到高效的检索和储存,采用列式储存方式,其先对每列数据分块,然后压缩。不过,现有的时序数据库基本上对最后写盘的数据块没有更好的规划,不能最好的利用磁盘空间。而且在读取数据中,涉及的数据往往分布在多个的数据块里面,需要读取更多的磁盘数据块。因此,本发明提出一种适用于时序数据库的列式压缩存储和检索方法,其目的在于组织数据压缩和存储,对列式数据存储提供精简的表示,提供列数据块的对齐,可以辅助数据行的精准读取,减少数据的读取量,提升数据块查询速度。
发明内容
本发明的目的在于:为解决上述背景技术中提出的问题,本发明提供了一种适用于时序数据库的列式压缩存储和检索方法。
本发明为了实现上述目的具体采用以下技术方案:
一种时序数据库的存储方法,包括以下步骤:
(1)构建数据库;
(2)将数据库内部进行划分并获得多个表;
(3)在表中构造文件,根据表的类型为文件进行命名,并为文件配置硬盘;
(4)将获取的列数据压缩后存储在列块中,且列数据在压缩过程中进行对齐操作,将表中的所有列块都同时往一个或者多个文件写入,若当前文件写满后,使用新文件,并为文件附上序号;
(5)列块在储存组织过程中,将其存储信息生成表信息,并压缩后储存在相对应的表块文件。
进一步地,列块由一系列子压缩块组成,每个子压缩块包括子压缩块的长度和数据。
进一步地,列数据的压缩方式包括以下步骤:
①将最新的数据写入列数据块缓存buffer中的空余内存;
②该buffer写满后,压缩最新写入的数据,这些新数据占用的内存被复用,将压缩后的数据放到这些新数据的开始位置,重复step①;
③持续这个过程,直到buffer写满(最后部分如果压缩率不够,可以不压缩,每个压缩块里面有是否是压缩的标志),然后落盘buffer,将数据存储在文件中;
④之后复用这个buffer,重复step①。
进一步地,在对列块数据落盘时,对列块数据进行对齐操作。
进一步地,对齐操作为:当主键列块列块落盘时,其它列也压缩当前数据(即使缓冲区未满),并放入到对应的列子压缩块。
进一步地,输入数据的保存步骤如下:
(1)外部输入一行数据,系统将这行数据插入到各列;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京顺实科技有限公司,未经北京顺实科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210082231.6/2.html,转载请声明来源钻瓜专利网。