[发明专利]一种基于内存数据库的数据存储方法及装置在审
申请号: | 202010909904.1 | 申请日: | 2020-09-02 |
公开(公告)号: | CN111767289A | 公开(公告)日: | 2020-10-13 |
发明(设计)人: | 张艳清;肖杰;张永飞;杨尧;胥莉君 | 申请(专利权)人: | 成都四方伟业软件股份有限公司 |
主分类号: | G06F16/22 | 分类号: | G06F16/22 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 610041 四川省*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 内存 数据库 数据 存储 方法 装置 | ||
本发明公开了一种基于内存数据库的数据存储方法及装置,主要解决现有技术中存在的现有内存数据库数据查询时,需要在内存中筛选需要的数据,读取出很多无用的数据,造成读放大,浪费资源的问题。该一种基于内存数据库的数据存储方法包括以下步骤:按设定列数量将数据分块后存储;建立多级索引,各级索引内均建立反向索引。通过上述方案,本发明达到了避免无用数据的检索,减小读放大,减少内存消耗的目的,具有很高的实用价值和推广价值。
技术领域
本发明涉及内存数据存储技术领域,具体地说,是涉及一种基于内存数据库的数据存储方法及装置。
背景技术
数据库是存放数据的仓库,而这个仓库是按照我们设定的数据结构来进行组织、存储和管理数据,这样才能更加方便的对数据进行保留和使用;根据数据存储位置的不同,从大方向上将数据库分为磁盘数据库和内存数据库,内存数据库基本全面取代磁盘数据。
现有内存数据库存储数据采用多列组成一个索引进行排序,根据索引读取数据;即多个列组成一个primaryKey,部分列查询时,会根据组合的primarykey获取到数据,然后再根据指定列进行数据筛选;在查询时会将primaryKey的所有数据读取出来,在内存中筛选需要的数据,读取出很多无用的数据,造成读放大,浪费资源。
发明内容
本发明的目的在于提供一种基于内存数据库的数据存储方法及装置,以解决现有内存数据库数据查询时,需要在内存中筛选需要的数据,读取出很多无用的数据,造成读放大,浪费资源的问题。
为了解决上述问题,本发明提供如下技术方案:
一种基于内存数据库的数据存储方法包括以下步骤:
按设定数量将数据分块后存储;
建立多级索引,各级索引内均建立反向索引。
通过上述方案,优化数据存储结构,根据反向索引减少直接检索到对应数据,避免无用数据的检索,减小读放大,减少内存消耗。
进一步的,多级索引建立的过程为:
S101、建立Manifest Block;
S102、对步骤S101中Manifest Block根据设定阈值建立多个下级Index Block;
S103、根据步骤S102中根据设定阈值建立多个下级Data Block。
当查询时按照指定的条件首先会去查找一级索引,根据以及索引找到对应的二级索引块,在二级索引块中筛选索引,然后根据二级索引找到对应的数据块,最后在数据块中根据索引查找对应的数据,减少了读放大。
进一步的,步骤S101中Manifest Block为一个,存放的是每一个Index Block中索引最大的值,以及指向Index Block的指针。
进一步的,步骤S102中Index Block存放的是每一个Data Block中索引最大的值,以及指向Data Block的指针。
进一步的,步骤S103中Data Block 存放索引,并存放真正的数据。
进一步的,根据数据的固定列建立反向索引,将固定列拼接成primary key。
进一步的,数据块的量级大于设定阈值,且非primary key列查询频率高于设定阈值时所述数据库进行压缩;否则不压缩。
一种基于内存数据库的数据存储装置包括
存储器:用于存储可执行指令;
处理器:用于执行所述存储器中存储的可执行指令,实现一种基于内存数据库的数据存储方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于成都四方伟业软件股份有限公司,未经成都四方伟业软件股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010909904.1/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置