[发明专利]基于硬盘和内存的列式存储和查询方法及设备有效
申请号: | 201510128015.0 | 申请日: | 2015-03-23 |
公开(公告)号: | CN104715039B | 公开(公告)日: | 2018-10-19 |
发明(设计)人: | 张常淳 | 申请(专利权)人: | 星环信息科技(上海)有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 上海百一领御专利代理事务所(普通合伙) 31243 | 代理人: | 马育麟 |
地址: | 200233 上海市徐汇*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本申请提供一种基于硬盘和内存的列式存储和查询方法及设备,通过创建数据源对应的数据表的元信息,在内存中对数据源创建数据表的结构,根据所述元信息把当前的数据行生成为一个列式数据块并存储到硬盘,能够更加有效地使用内存,实现后续在硬盘上查询数据的性能达到与在内存上查询数据相近的性能,能够进一步支持后续以高速的查询效率为基础的强大的数据分析能力。进一步的,所述列为索引列时,通过对每个索引列建立一个倒排索引,并采用RadixTree结构将索引列存储到固态硬盘的对应位置的文件中,能够提高后续数据查询的效率。 | ||
搜索关键词: | 基于 硬盘 内存 存储 查询 方法 设备 | ||
【主权项】:
1.一种基于硬盘和内存的列式存储方法,其中,包括:创建数据源对应的数据表的元信息,元信息包含每个数据表所包含的所有文件在硬盘上的所在位置信息;在硬盘中创建数据表的结构,包括文件的结构和组成所述文件的列式数据块的结构,所述列式数据块的结构包括列和对于应于每列的过滤器,每个列式数据块的大小最大范围为最多包含不超过Short类型所表示的数据行数;每当内存中数据源的数据的行数等于一个列式数据块的大小最大范围时,根据所述元信息把当前的数据行生成为一个列式数据块并存储到硬盘的对应位置的文件中,更新对应数据表的元信息,其中,当所述列还包括索引列时,把当前的数据行生成为一个列式数据块并存储到硬盘的对应的文件中包括:对每个索引列建立一个倒排索引,并采用RadixTree结构将索引列存储到硬盘的对应位置的文件中;当所述列包括非索引列时,根据所述元信息把当前的数据行生成为一个列式数据块并存储到硬盘的对应位置的文件中包括:采用编码压缩的方式将非索引列存储到硬盘的对应位置的文件中,所述编码压缩的方式包括字典编码,及采用Run‑Length编码或Delta编码对字典编码后的每个列式数据块进行进一步压缩。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于星环信息科技(上海)有限公司,未经星环信息科技(上海)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201510128015.0/,转载请声明来源钻瓜专利网。