[发明专利]一种数据存储方法及装置在审
申请号: | 201710842915.0 | 申请日: | 2017-09-18 |
公开(公告)号: | CN107577436A | 公开(公告)日: | 2018-01-12 |
发明(设计)人: | 王旭 | 申请(专利权)人: | 杭州时趣信息技术有限公司 |
主分类号: | G06F3/06 | 分类号: | G06F3/06;G06F17/30 |
代理公司: | 北京集佳知识产权代理有限公司11227 | 代理人: | 罗满 |
地址: | 310012 浙江省杭*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据 存储 方法 装置 | ||
本发明公开了一种数据存储方法,在进行数据存储时,由于分区索引中只存储了表分区的指定分区段中的最大数据、最小数据,分块索引只存储了列存储文件中的最大数据、最小数据、已存数据总量、空数据总量、各已存数据之和及已存数据的平均值,所以分区索引和分块索引所占用的存储空间均非常小,即使在进行海量数据存储时,分区索引和分块索引也可以基本存储于内存中,避免了由于索引文件巨大而造成的内存频繁替换。因此,本数据存储方法,在进行海量数据存储时,能够将分区索引和分块索引完整的存储在内存中,提高数据的查询速度。此外,本发明还公开了一种数据存储装置,效果如上。
技术领域
本发明涉及数据存储领域,特别涉及一种数据存储方法及装置。
背景技术
随着互联网的快速发展,数据量变得越来越大,尤其是一些如埋点日志和监控日志等的非核心数据变得非常庞大,如果继续使用传统的数据存储方式进行这些海量数据的存储,不仅会造成大量存储资源的浪费,还会使得数据的查询速度变得非常慢。
例如,目前使用较为广泛的压缩比较低的Mysql数据库,采用了占用内存空间较大的B+树索引。由于Mysql数据库的压缩比较低,如果当被存储数据的大小为a时,其存储该存储数据所占用的存储空间大小则近似为a,那么与该存储数据对应的B+树索引所占用的存储空间大小也近似为a。这相当于,Mysql数据库存储大小为a的数据,需要占用大小为2a的内存空间。因此,虽然Mysql数据库用于小量数据的存储时,尽管与小量数据对应的B+树索较大,可是由于数据量本身很小,所以仍然可以将与小数据量数据对应的完整的B+树索引全部存储于内存中,不会造成内存替换,使得数据的查询速度很快,但是,当Mysql数据库用于海量数据的存储时,由于与海量数据对应的B+树索引较大,所以无法将完整的B+树索全部存储于内存中,从而造成了内存替换,进而导致数据的查询速度变得很慢。
因此,如何在进行海量数据存储时,提高数据的查询速度是本领域技术人员目前需要解决的技术问题。
发明内容
本发明的目的是提供一种数据存储方法及装置,在进行海量数据存储时,能够提高数据的查询速度。
为了解决上述技术问题,本发明提供的一种数据存储方法,包括:
在当前数据写入之前,当无未存满分块时,在表分区中建立包含有列存储文件的分块;
将所述当前数据按列拆分,并将所述当前数据按列并发写入当前列存储文件;
在所述当前数据写入完毕后,在当前分块中建立与各所述当前列存储文件对应的分块索引,并在所述分块索引中记录所述当前列存储文件中的最大数据、最小数据、已存数据总量、空数据总量、各所述已存数据之和及所述已存数据的平均值;
在写入数据全部写入完毕后,在当前表分区中建立与所述当前表分区中的指定分区段对应的分区索引,并在所述分区索引中记录所述指定分区段中的最大数据和最小数据。
优选地,所述当无未存满分块时,在表分区中建立包含有列存储文件的分块具体包括:
当无未存满表分区时,新建当前表分区,并在所述当前表分区中建立包含有所述列存储文件的所述分块。
优选地,所述数据存储方法还包括:
在所述写入数据写入完毕之后,扫描当前存储目录下已写入的文件数据;
当扫描到已存满分块中的所述列存储文件存储有未压缩数据时,压缩所述未压缩数据。
优选地,所述数据存储方法还包括:
在所述当前数据写入完毕后,计算所述当前列存储文件中最大数据和最小数据的差值,并将所述差值均匀划分为N个范围段;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州时趣信息技术有限公司,未经杭州时趣信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710842915.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种便携式多功能电源车
- 下一篇:一种图书馆用规整图书的手推车装置
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置