[发明专利]一种Key-value分离存储方法及系统在审
申请号: | 202111461856.5 | 申请日: | 2021-12-02 |
公开(公告)号: | CN114138792A | 公开(公告)日: | 2022-03-04 |
发明(设计)人: | 李刘鹏 | 申请(专利权)人: | 浪潮云信息技术股份公司 |
主分类号: | G06F16/22 | 分类号: | G06F16/22 |
代理公司: | 济南信达专利事务所有限公司 37100 | 代理人: | 郗艳荣 |
地址: | 250100 山东省济南市高*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 key value 分离 存储 方法 系统 | ||
本发明特别涉及一种Key‑value分离存储方法及系统。该Key‑value分离存储方法及系统,将ART前缀树作为数据索引的基本数据结构,在每条数据的节点Node内部为key值和value值分别分配空间进行存储,并在节点Node内存储对应的SequenceNumber和ValueType,实现对Key‑value的分离,数据存储过程中不再进行编码,直接对key、SequenceNumber、ValueType和value进行存储与读取,进而降低IO吞吐量,增加CPU cache命中率,提升数据库的读写性能。该Key‑value分离存储方法及系统,数据读写操作时无需对相应信息进行解码操作,可以直接使用节点Node获取信息,减少了磁盘I/O消耗,降低了IO吞吐量,增加了CPU cache命中率,提升了数据库的读写性能。
技术领域
本发明涉及数据存储管理技术领域,特别涉及一种Key-value分离存储方法及系统。
背景技术
在当前网络环境下,信息流转迅速,其中涉及大量文档、图片、语音、视频等的输入输出,广大用户群体对信息的写入与查询的性能提出了更高的要求。
RocksDB数据库是基于LevelDB开发的一款提供Key-value(键值)存储与读写功能的LSM-tree架构引擎,具有以下特点:
1)高效能
RocksDB使用日志结构化数据库引擎,完全用C++编写,以达到最高性能。密钥和值只是任意大小的字节流。
2)为快速存储进行了优化
RocksDB针对快速、低延迟的存储进行了优化,如闪存驱动器和高速磁盘驱动器。RocksDB充分利用了闪存或RAM提供的高读/写速率的潜力。
3)适应性强
RocksDB可以适应不同的工作负载。从MyRocks等数据库存储引擎到应用数据缓存再到嵌入式工作负载,RocksDB可以满足各种数据需求。
4)基本和高级数据库操作
RocksDB提供了基本的操作,如打开和关闭数据库,读写到更高级的操作,如合并和压实过滤器。
现有RocksDB数据库采用的数据存储方式是先将key、SequenceNumber(序号)、ValueType、value进行编码,再将编码后的数据存储在一整块分配好的内存中,读取Key-value信息时获取整块内存,然后根据首地址依次进行解码操作以得到相应数据。该方法在一定程度上会降低数据的写入与读取性能。
在进行数据迁移过程中,很多时候需要比较key值,因此需要将经过编码存储的数据解析出来,但是大量数据并发处理时频繁进行编码解码必然会影响IO性能。
为了保障RocksDB数据库的读写性能,本发明提出了一种Key-value分离存储方法及系统。
发明内容
本发明为了弥补现有技术的缺陷,提供了一种简单高效的Key-value分离存储方法及系统。
本发明是通过如下技术方案实现的:
一种Key-value分离存储方法,其特征在于:将ART前缀树作为数据索引的基本数据结构,在每条数据的节点Node内部为key值和value值分别分配空间进行存储,并在节点Node内存储对应的SequenceNumber和ValueType,实现对Key-value的分离,同时数据存储过程中不再进行编码,而是直接对key、SequenceNumber、ValueType和value进行存储与读取,进而降低IO吞吐量,增加CPU cache命中率,提升数据库的读写性能。
该Key-value分离存储方法,实现流程如下:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮云信息技术股份公司,未经浪潮云信息技术股份公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111461856.5/2.html,转载请声明来源钻瓜专利网。