CN114218274A - 一种基于rockadb存储引擎增大内存的方法及系统 - Google Patents

一种基于rockadb存储引擎增大内存的方法及系统 Download PDF

Info

Publication number
CN114218274A
CN114218274A CN202111499906.9A CN202111499906A CN114218274A CN 114218274 A CN114218274 A CN 114218274A CN 202111499906 A CN202111499906 A CN 202111499906A CN 114218274 A CN114218274 A CN 114218274A
Authority
CN
China
Prior art keywords
data
memory
module
storage area
index
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202111499906.9A
Other languages
English (en)
Inventor
王泽坤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Yunxi Technology Co ltd
Original Assignee
Inspur Cloud Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Inspur Cloud Information Technology Co Ltd filed Critical Inspur Cloud Information Technology Co Ltd
Priority to CN202111499906.9A priority Critical patent/CN114218274A/zh
Publication of CN114218274A publication Critical patent/CN114218274A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24552Database cache management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0877Cache access modes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2246Trees, e.g. B+trees

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种基于rockadb存储引擎增大内存的方法及系统,属于云计算存储领域;所述的S1利用内存池和内存池管理机制维护内存中的数据;S2利用自适应基数树索引将内存存储区中的数据替换原有的索引结构;S3利用修改后的预写管理系统对多日志文件进行管理实现其恢复功能;S4将内存存储区的数据进行落盘操作的功能,并对生成的SST文件进行管理;本发明的目的是提供一种基于rockadb存储引擎增大内存的方法及系统,在增大rocksdb存储引擎中内存的存储数据量的同时,要对rocksdb系统中的各个子系统进行适配和调整,以实现增大内存,提高存储引擎性能的目标。

Description

一种基于rockadb存储引擎增大内存的方法及系统
技术领域
本发明公开一种基于rockadb存储引擎增大内存的方法及系统,涉及云计算存储技术领域。
背景技术
在这个高速发展的时代,互联网技术得到进一步发展。信息技术对社会经济有着显著的促进作用,而信息技术中的奠基石则是数据库技术,它是信息存储的载体。传统的磁盘数据库在数据库技术中一直扮演着重要的角色,并且在传统的OLTP场景中也取得了不错的成绩。然而,人们对应用响应速度的要求越来越高,在许多高实时性的场景下,传统的磁盘数据库表现得不尽人意。伴随着内存技术的发展,内存的容量越来越大,价格也越来越低,其优越的存取速度使得内存数据库开始在各种场景中被大量应用。内存容量不断提高,价格不断下跌,操作系统已经可以支持更大的地址空间(计算机进入了64位时代),同时对数据库系统实时响应能力要求日益提高,充分利用内存技术提升数据库性能成为一个热点。
但是目前内存数据库依旧存在着诸多亟待解决的问题,包括数据安全性、系统快速恢复和疯狂占用内存等问题。同时还要对现在的各个不同系统、不同环境进行适配。为了增大内存以求得更快的存储和读取速度,就不得不考虑易失性内存本身得缺陷,譬如易失性、系统安全性、成本的权衡。
故先发明一种基于rockadb存储引擎增大内存的方法及系统以解决上述问题。
发明内容
本发明针对现有技术的问题,提供一种基于rockadb存储引擎增大内存的方法及系统,所采用的技术方案为:一种基于rockadb存储引擎增大内存的方法,所述的方法具体步骤如下:
S1利用内存池和内存池管理机制维护内存中的数据;
S2利用自适应基数树索引将内存存储区中的数据替换原有的索引结构;
S3利用修改后的预写管理系统对多日志文件进行管理实现其恢复功能;
S4将内存存储区的数据进行落盘操作的功能,并对生成的SST文件进行管理。
所述S1利用内存池和内存池管理机制维护内存中的数据的具体步骤如下:
S101通过内存池根据数据库当前的数据量进行自适应;
S102通过内存存储区对内存池的数据进行存储管理。
所述S2利用自适应基数树索引将内存存储区中的数据替换原有的索引结构的具体步骤如下:
S201利用自适应基数树的数据结构作为内存存储区数据的索引;
S202将内存存储区的每条数据的地址和长度作为自适应基数树索引的叶子节点;
S203通过索引找到对应的叶子节点,通过叶子节点找到数据;
S204使用数据库通用的结构对自适应基数树的进行适配。
所述S3利用修改后的预写管理系统对多日志文件进行管理实现其恢复功能的具体步骤如下:
S301通过部件改造对多预写日志文件进行管理;
S302将预写日志系统的全部文件恢复到内存存储区中。
所述S4将内存存储区的数据进行落盘操作的功能,并对生成的SST文件进行管理的具体步骤如下:
S401内存存储区中的数据按照顺序落盘到SST并对SST进行切分,将SST加入到level1中;
S402将增大内存的存储引擎切换为rocksdb存储引擎。
一种基于rockadb存储引擎增大内存的系统,所述的系统具体包括内存存储模块、ART索引模块、预写日志模块和SST数据落盘模块:
内存存储模块:利用内存池和内存池管理机制维护内存中的数据;
ART索引模块:利用自适应基数树索引将内存存储区中的数据替换原有的索引结构;
预写日志模块:利用修改后的预写管理系统对多日志文件进行管理实现其恢复功能;
SST数据落盘模块:将内存存储区的数据进行落盘操作的功能,并对生成的SST文件进行管理。
所述内存存储模块具体包括自适应模块和存储管理模块:
自适应模块:通过内存池根据数据库当前的数据量进行自适应;
存储管理模块:通过内存存储区对内存池的数据进行存储管理。
所述ART索引模块具体包括索引建立模块、节点建立模块、数据索引模块和索引适配模块:
索引建立模块:利用自适应基数树的数据结构作为内存存储区数据的索引;
节点建立模块:将内存存储区的每条数据的地址和长度作为自适应基数树索引的叶子节点;
数据索引模块:通过索引找到对应的叶子节点,通过叶子节点找到数据;
索引适配模块:使用数据库通用的结构对自适应基数树的进行适配。
所述预写日志模块具体包括文件管理模块和文件恢复模块:
文件管理模块:通过部件改造对多预写日志文件进行管理;
文件恢复模块:将预写日志系统的全部文件恢复到内存存储区中。
所述SST数据落盘模块具体包括数据切分模块和引擎切换模块:
数据切分模块:内存存储区中的数据按照顺序落盘到SST并对SST进行切分,将SST加入到level1中;
引擎切换模块:将增大内存的存储引擎切换为rocksdb存储引擎。
本发明的有益效果为:本发明的实现方法所具有的有益效果如下:
存储引擎中的内存增大,加快了最新数据读取和写入;大量数据缓存在内存中,读取过程中,减少了读文件的次数,可以有效提高存储引擎整体的读性能;缓存在内存中的大量数据,可以一次性写入到SST,并且生成的多个SST文件可以保证有序性,相比之前生成无序SST文件的情况,可以减少compaction的次数和复杂度,从而间接提高内存引擎的写入速度;
内存浪费小;利用ART索引结构,可以自适应分配合理的内存空间,不会出现预分配内存导致空间浪费的情况,从而减少内存空间的浪费;
充分利用了空间局部性和时间局部性;通过内存存储区的缓冲池和缓冲池管理机制,将数据有序、紧凑的存储到相应的缓冲池中,可以有效地利用空间局部性和时间局部性,从而提高存储引擎地加载和存储的性能;
数据安全且可恢复;通过改造rocksdb存储引擎的logs,实现了多文件的预写日志系统,从而保证内存数据的安全性;
引擎的可切换性高。由于SST文件格式与之前保持不变,所以SST文件可以很方便的加载到rocksdb存储引擎中。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明方法的流程图;图2是本发明系统的结构示意图;图3是本发明实施例的提速对比示意图。
具体实施方式
下面结合附图和具体实施例对本发明作进一步说明,以使本领域的技术人员可以更好地理解本发明并能予以实施,但所举实施例不作为对本发明的限定。
实施例一:
一种基于rockadb存储引擎增大内存的方法,所述的方法具体步骤如下:
S1利用内存池和内存池管理机制维护内存中的数据;
S2利用自适应基数树索引将内存存储区中的数据替换原有的索引结构;
S3利用修改后的预写管理系统对多日志文件进行管理实现其恢复功能;
S4将内存存储区的数据进行落盘操作的功能,并对生成的SST文件进行管理;
首先按照S1内存存储区包括多个内存池和内存池管理机制,用来维护内存中的数据;然后按照S2使用自适应基数树的数据结构作为内存存储区的索引,自适应基数树的叶子节点就是内存存储区一条数据的地址和长度;为了保证大量内存的安全性,按照S3将修改后的预写管理系统对多日志文件进行管理,并实现了多日志文件的恢复功能;最后按照S4将内存存储区的数据进行落盘操作的功能,并对生成的SST文件进行管理;
进一步的,所述S1利用内存池和内存池管理机制维护内存中的数据的具体步骤如下:
S101通过内存池根据数据库当前的数据量进行自适应;
S102通过内存存储区对内存池的数据进行存储管理;
C++提供了new/delete来管理内存的申请和释放,但是对于小对象来说,直接使用new/delete代价比较大,要付出额外的空间和时间,性价比不高;另外,我们也要避免多次的申请和释放引起的内存碎片;一旦碎片到达一定程度,即使剩余内存总量够用,但由于缺乏足够的连续空闲空间,导致内存不够用的假象;因此,我们实现了自己的简单且高效的内存池,并对内存池进行管理;内存池和内存池的管理就是内存存储区模块的核心内容;
内存存储区的内存池是一个客户可自定义大小的字符数组,默认大小32M;内存池的大小也可以根据数据库当前的数据量,进行自适应;数据存储在连续的内存空间中,并由ART树索引模块的索引功能,拿到每条数据的起始位置,和数据长度,从而合理安排内存池的存储和读取;
内存存储区的管理,主要包括内存池的数据迁移管理,内存池的新建、删除管理,内存池数据存储和读取管理;为了提高内存存储器的空间局部性和时间局部性,S102内存存储区对内存池的数据进行存储管理;在内存存储区的内存池中,数据是部分有序的,并且部分有序的相邻的数据尽可能存在了相同的内存池中;在内存池内的数据到达阈值后,就要新建新的内存池,并将原有内存池中的部分数据进行迁移;数据迁移管理使得内存存储区始终保持高效的空间局部性和时间局部性;
进一步的,所述S2利用自适应基数树索引将内存存储区中的数据替换原有的索引结构的具体步骤如下:
S201利用自适应基数树的数据结构作为内存存储区数据的索引;
S202将内存存储区的每条数据的地址和长度作为自适应基数树索引的叶子节点;
S203通过索引找到对应的叶子节点,通过叶子节点找到数据;
S204使用数据库通用的结构对自适应基数树的进行适配;
Adaptive Radix Tree(自适应基数/前缀树,ART)作为增大内存方法的索引;基数树的每个节点可以存储任意长度的键切片,比如Linux Kernel中的基数树每个节点存储6位的键切片;然而数据库索引很多场景下会被频繁修改,每个节点固定长度的键切片会造成时间(切片过长)和空间上(切片过短)的浪费,因此,我们选择自适应的基数树,也就是节点根据长度的不同分成若干种,随着数据的变化而自行调整的基数树;对ART进行自旋锁改造,可以实现高效地并发管理,从而提高并发插入和查询的速度;ART是基数树的升级版,他对基数树在缓存命中方面低效的缺点提出了解决方案;同时使用延迟展开和路径压缩的方式来降低树高,可以在存在异常数据的情况下让树高降低;如图3所示在速度方面还是有非常大的优势的,dense的情况下速度和哈希表持平,sparse的情况下速度也略微超过FAST(FAST是特定硬件上进行特定优化的算法);在内存占用方面,ART的结构有4中不同节点,ART可以自适应选择不同大小的节点,以减少对内存的占用量;我们对ART索引模块进行封装和适配,并使用ART索引模块作为内存存储区的底层索引;我们可以通过ART索引对指向内存存储区的数据的指针进行排序;ART的除了提供seek和get功能,还具有范围遍历的功能;
进一步的,所述S3利用修改后的预写管理系统对多日志文件进行管理实现其恢复功能的具体步骤如下:
S301通过部件改造对多预写日志文件进行管理;
S302将预写日志系统的全部文件恢复到内存存储区中;
rocksdb的预写日志系统(Write-Ahead Logging,简称WAL)是为保证rocksdb的memtable数据的安全性;由于我们基于rockdb增大内存,所以我们不再使用memtable,而是使用内存存储区,因此,要对rocksdb预写日志系统进行改造;预写日志系统中将用WAL文件,来保证内存中数据的安全性,由于内存的增大,所以预写日志系统中将同时存在多个WAL文件;我们对db_impl中的logs_和alive_log_files_的维护队列进行改造,使得预写日志系统可以维护多个WAL文件;写入WAL文件时,根据WAL文件的大小,进行文件切割,避免生成大文件;在WAL恢复时,从原来只恢复一个WAL文件,变为遍历当前文件系统的所有WAL文件,并将所有的WAL文件全部恢复到内存存储区中;
再进一步的,所述S4将内存存储区的数据进行落盘操作的功能,并对生成的SST文件进行管理的具体步骤如下:
S401内存存储区中的数据按照顺序落盘到SST并对SST进行切分,将SST加入到level1中;
S402将增大内存的存储引擎切换为rocksdb存储引擎;
由于我们增大内存后,不再使用memtable和immutable memtable,所以rocksdb原来的Flush机制并不能适用当前的增大后的内存;利用内存存储区数据有序性,我们将内存存储区的数据通过ART索引进行数据的范围遍历,将内存存储区的数据写入到SST文件;通过客户自定义阈值或者根据level 2层的SST文件的start key和end key,将SST文件进行切分,避免SST文件过大并且避免在compaction过程中生成大的SST文件;通过SST数据落盘模块的文件,是有序的,这与原来rocksdb的Flush机制生成的level 0层的SST文件不同;因此,我们直接略过level 0层的SST文件,直接生成了level 1层的SST文件。
实施例二:
一种基于rockadb存储引擎增大内存的系统,所述的系统具体包括内存存储模块、ART索引模块、预写日志模块和SST数据落盘模块:
内存存储模块:利用内存池和内存池管理机制维护内存中的数据;
ART索引模块:利用自适应基数树索引将内存存储区中的数据替换原有的索引结构;
预写日志模块:利用修改后的预写管理系统对多日志文件进行管理实现其恢复功能;
SST数据落盘模块:将内存存储区的数据进行落盘操作的功能,并对生成的SST文件进行管理;
进一步的,所述内存存储模块具体包括自适应模块和存储管理模块:
自适应模块:通过内存池根据数据库当前的数据量进行自适应;
存储管理模块:通过内存存储区对内存池的数据进行存储管理;
进一步的,所述ART索引模块具体包括索引建立模块、节点建立模块、数据索引模块和索引适配模块:
索引建立模块:利用自适应基数树的数据结构作为内存存储区数据的索引;
节点建立模块:将内存存储区的每条数据的地址和长度作为自适应基数树索引的叶子节点;
数据索引模块:通过索引找到对应的叶子节点,通过叶子节点找到数据;
索引适配模块:使用数据库通用的结构对自适应基数树的进行适配。
进一步的,所述预写日志模块具体包括文件管理模块和文件恢复模块:
文件管理模块:通过部件改造对多预写日志文件进行管理;
文件恢复模块:将预写日志系统的全部文件恢复到内存存储区中;
再进一步的,所述SST数据落盘模块具体包括数据切分模块和引擎切换模块:
数据切分模块:内存存储区中的数据按照顺序落盘到SST并对SST进行切分,将SST加入到level1中;
引擎切换模块:将增大内存的存储引擎切换为rocksdb存储引擎。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (10)

1.一种基于rockadb存储引擎增大内存的方法,其特征是所述的方法具体步骤如下:
S1利用内存池和内存池管理机制维护内存中的数据;
S2利用自适应基数树索引将内存存储区中的数据替换原有的索引结构;
S3利用修改后的预写管理系统对多日志文件进行管理实现其恢复功能;
S4将内存存储区的数据进行落盘操作的功能,并对生成的SST文件进行管理。
2.根据权利要求1所述的方法,其特征是所述S1利用内存池和内存池管理机制维护内存中的数据的具体步骤如下:
S101通过内存池根据数据库当前的数据量进行自适应;
S102通过内存存储区对内存池的数据进行存储管理。
3.根据权利要求2所述的方法,其特征是所述S2利用自适应基数树索引将内存存储区中的数据替换原有的索引结构的具体步骤如下:
S201利用自适应基数树的数据结构作为内存存储区数据的索引;
S202将内存存储区的每条数据的地址和长度作为自适应基数树索引的叶子节点;
S203通过索引找到对应的叶子节点,通过叶子节点找到数据;
S204使用数据库通用的结构对自适应基数树的进行适配。
4.根据权利要求3所述的方法,其特征是所述S3利用修改后的预写管理系统对多日志文件进行管理实现其恢复功能的具体步骤如下:
S301通过部件改造对多预写日志文件进行管理;
S302将预写日志系统的全部文件恢复到内存存储区中。
5.根据权利要求4所述的方法,其特征是所述S4将内存存储区的数据进行落盘操作的功能,并对生成的SST文件进行管理的具体步骤如下:
S401内存存储区中的数据按照顺序落盘到SST并对SST进行切分,将SST加入到level1中;
S402将增大内存的存储引擎切换为rocksdb存储引擎。
6.一种基于rockadb存储引擎增大内存的系统,其特征是所述的系统具体包括内存存储模块、ART索引模块、预写日志模块和SST数据落盘模块:
内存存储模块:利用内存池和内存池管理机制维护内存中的数据;
ART索引模块:利用自适应基数树索引将内存存储区中的数据替换原有的索引结构;
预写日志模块:利用修改后的预写管理系统对多日志文件进行管理实现其恢复功能;
SST数据落盘模块:将内存存储区的数据进行落盘操作的功能,并对生成的SST文件进行管理。
7.根据权利要求6所述的系统,其特征是所述内存存储模块具体包括自适应模块和存储管理模块:
自适应模块:通过内存池根据数据库当前的数据量进行自适应;
存储管理模块:通过内存存储区对内存池的数据进行存储管理。
8.根据权利要求7所述的系统,其特征是所述ART索引模块具体包括索引建立模块、节点建立模块、数据索引模块和索引适配模块:
索引建立模块:利用自适应基数树的数据结构作为内存存储区数据的索引;
节点建立模块:将内存存储区的每条数据的地址和长度作为自适应基数树索引的叶子节点;
数据索引模块:通过索引找到对应的叶子节点,通过叶子节点找到数据;
索引适配模块:使用数据库通用的结构对自适应基数树的进行适配。
9.根据权利要求8所述的系统,其特征是所述预写日志模块具体包括文件管理模块和文件恢复模块:
文件管理模块:通过部件改造对多预写日志文件进行管理;
文件恢复模块:将预写日志系统的全部文件恢复到内存存储区中。
10.根据权利要求9所述的系统,其特征是所述SST数据落盘模块具体包括数据切分模块和引擎切换模块:
数据切分模块:内存存储区中的数据按照顺序落盘到SST并对SST进行切分,将SST加入到level1中;
引擎切换模块:将增大内存的存储引擎切换为rocksdb存储引擎。
CN202111499906.9A 2021-12-09 2021-12-09 一种基于rockadb存储引擎增大内存的方法及系统 Pending CN114218274A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111499906.9A CN114218274A (zh) 2021-12-09 2021-12-09 一种基于rockadb存储引擎增大内存的方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111499906.9A CN114218274A (zh) 2021-12-09 2021-12-09 一种基于rockadb存储引擎增大内存的方法及系统

Publications (1)

Publication Number Publication Date
CN114218274A true CN114218274A (zh) 2022-03-22

Family

ID=80700489

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111499906.9A Pending CN114218274A (zh) 2021-12-09 2021-12-09 一种基于rockadb存储引擎增大内存的方法及系统

Country Status (1)

Country Link
CN (1) CN114218274A (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1567249A (zh) * 2003-06-16 2005-01-19 华为技术有限公司 计算机系统的内存管理方法
US20170212680A1 (en) * 2016-01-22 2017-07-27 Suraj Prabhakar WAGHULDE Adaptive prefix tree based order partitioned data storage system
CN112925676A (zh) * 2021-03-09 2021-06-08 浪潮云信息技术股份公司 一种基于wal实现分布式数据库集群任意时间点恢复的方法
CN113688130A (zh) * 2021-08-05 2021-11-23 浪潮云信息技术股份公司 一种内存数据库存储引擎管理方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1567249A (zh) * 2003-06-16 2005-01-19 华为技术有限公司 计算机系统的内存管理方法
US20170212680A1 (en) * 2016-01-22 2017-07-27 Suraj Prabhakar WAGHULDE Adaptive prefix tree based order partitioned data storage system
CN112925676A (zh) * 2021-03-09 2021-06-08 浪潮云信息技术股份公司 一种基于wal实现分布式数据库集群任意时间点恢复的方法
CN113688130A (zh) * 2021-08-05 2021-11-23 浪潮云信息技术股份公司 一种内存数据库存储引擎管理方法

Similar Documents

Publication Publication Date Title
US9880746B1 (en) Method to increase random I/O performance with low memory overheads
US9430164B1 (en) Memory efficient sanitization of a deduplicated storage system
US9317218B1 (en) Memory efficient sanitization of a deduplicated storage system using a perfect hash function
US10402096B2 (en) Unaligned IO cache for inline compression optimization
EP2633413B1 (en) Low ram space, high-throughput persistent key-value store using secondary memory
US8868926B2 (en) Cryptographic hash database
Lu et al. A forest-structured bloom filter with flash memory
Nam et al. Assuring demanded read performance of data deduplication storage with backup datasets
US9043334B2 (en) Method and system for accessing files on a storage system
CN109766312A (zh) 一种区块链存储方法、系统、装置及计算机可读存储介质
CN113821171B (zh) 一种基于哈希表与lsm树的键值存储方法
US20120158674A1 (en) Indexing for deduplication
CN112912868B (zh) 用于批量移除数据库中的记录的系统和方法
CN109800185B (zh) 一种数据存储系统中的数据缓存方法
CN111221776A (zh) 面向非易失性内存的文件系统的实现方法、系统及介质
KR20190019805A (ko) 데이터 객체 저장 방법, 장치, 및 이를 이용한 컴퓨터 프로그램이 저장되는 컴퓨터 판독가능한 저장 매체
US9189408B1 (en) System and method of offline annotation of future accesses for improving performance of backup storage system
CN111930316B (zh) 一种内容分发网络的缓存读写系统和方法
CN103577513A (zh) 藉延迟节点实例化以缓存xml信息集的系统和/或方法
KR20150122533A (ko) 세컨더리 인덱스 생성 방법 및 세컨더리 인덱스 저장 장치
CN111737261B (zh) 基于LSM-Tree的压缩日志缓存方法及装置
CN113535670B (zh) 一种虚拟化资源镜像存储系统及其实现方法
Sarwat et al. Generic and efficient framework for search trees on flash memory storage systems
KR100907477B1 (ko) 플래시 메모리에 저장된 데이터의 인덱스 정보 관리 장치및 방법
Tulkinbekov et al. CaseDB: Lightweight key-value store for edge computing environment

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right

Effective date of registration: 20221229

Address after: Room 305-22, Building 2, No. 1158 Zhangdong Road and No. 1059 Dangui Road, China (Shanghai) Pilot Free Trade Zone, Pudong New Area, Shanghai, 200120

Applicant after: Shanghai Yunxi Technology Co.,Ltd.

Address before: 250100 No. 1036 Tidal Road, Jinan High-tech Zone, Shandong Province, S01 Building, Tidal Science Park

Applicant before: Inspur cloud Information Technology Co.,Ltd.

TA01 Transfer of patent application right