[发明专利]一种内存数据库存储引擎管理方法有效
申请号: | 202110894627.6 | 申请日: | 2021-08-05 |
公开(公告)号: | CN113688130B | 公开(公告)日: | 2023-10-13 |
发明(设计)人: | 张华海 | 申请(专利权)人: | 上海沄熹科技有限公司 |
主分类号: | G06F16/22 | 分类号: | G06F16/22;G06F16/2455 |
代理公司: | 济南信达专利事务所有限公司 37100 | 代理人: | 郗艳荣 |
地址: | 200120 上海市浦东新区中国(上海)自由贸*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 内存 数据库 存储 引擎 管理 方法 | ||
本发明特别涉及一种内存数据库存储引擎管理方法。该内存数据库存储引擎管理方法,基于RocksDB存储引擎的Memtable管理机制,在Memtable内部新建ART索引用以取代skiplist索引,采用ART索引加Hash索引的双索引机制查询key‑value,优化RocksDB存储引擎的读性能,从而实现RocksDB内存引擎模式,减少磁盘读写,提高查询速度。该内存数据库存储引擎管理方法,优化了现有分布式NewSQL数据库中基于RocksDB存储引擎的读性能问题,充分发挥了内存的高效读写性能,能够在内存中缓存更多的数据,解决了RocksDB的读放大问题。
技术领域
本发明涉及数据库管理技术领域,特别涉及一种内存数据库存储引擎管理方法。
背景技术
近年来,随着动态随机存储器(DRAM)容量的上升和单位价格的下降,使大量数据在内存中的存储和处理成为可能。相对于磁盘,内存的数据读写速度要高出几个数量级,将数据保存在内存中相比从磁盘上访问能够极大地提高应用的性能。
CockroachDB是一款开源的分布式数据库,具有NoSQL对海量数据的存储管理能力,又保持了传统数据库支持的ACID和SQL等,还支持跨地域、去中心、高并发、多副本强一致和高可用等特性。支持OLTP场景,同时支持轻量级OLAP场景。
CockroachDB使用RocksDB作为KV存储引擎,RocksDB是一个高性能的Key-Value数据库。RocksDB是基于LSM做存储,RocksDB在内存中的结构叫做Memtable,用于形成Log-Structured的file叫做logfile,磁盘上的file结构叫做sstfile,用于记录对file更改的log叫做manifest。
LSM存储模型的所有写操作都是顺序写,在稍微损失读性能的情况下,极大地提高了数据的写性能。换来的代价是读性能和增加合并的开销:RocksDB单列族的Memtable默认有64MB,超过这个大小时,写入数据会从Memtable转换为immutable Memtable,然后启动后台线程定时对写入immutable Memtable的数据进行Compaction压缩操作,以进行资源的回收;并将immutable Memtable加入flush pipeline,等待后台线程去flush到SST中,导致读放大问题,查询一个Key值所对应的Value值,可能需要遍历多个SSTable文件,对应了复数次随机IO。而且空间放大,多版本数据在合并之前会占用更多的存储空间。
为了优化现有分布式NewSQL数据库中基于RocksDB存储引擎的读放大问题,优化基于ART算法的内存数据库的读性能问题,本发明提出了一种内存数据库存储引擎管理方法。
发明内容
本发明为了弥补现有技术的缺陷,提供了一种简单高效的内存数据库存储引擎管理方法。
本发明是通过如下技术方案实现的:
一种内存数据库存储引擎管理方法,其特征在于:基于RocksDB存储引擎的Memtable管理机制,在Memtable内部新建ART索引用以取代skiplist索引,采用ART索引加Hash索引的双索引机制查询key-value,优化RocksDB存储引擎的读性能,从而实现RocksDB内存引擎模式,减少磁盘读写,提高查询速度。
该内存数据库存储引擎管理方法,具体实现过程如下:
1)将插入Memtable的数据转为插入到ART算法管理的内存块中,并将ART算法的叶节点地址加入Hash索引中;
2)修改Memtable刷盘的逻辑,使得Memtable永不转换imMemtable,通过内存块的形式进行刷盘,内存块通过双向链表进行管理;
3)执行查询操作时,先从Hash表中查询,然后查询ART树,最后查询磁盘SST文件。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海沄熹科技有限公司,未经上海沄熹科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110894627.6/2.html,转载请声明来源钻瓜专利网。