CN113553476A - 一种利用哈希减少写停顿的键值存储方法 - Google Patents

一种利用哈希减少写停顿的键值存储方法 Download PDF

Info

Publication number
CN113553476A
CN113553476A CN202110854214.5A CN202110854214A CN113553476A CN 113553476 A CN113553476 A CN 113553476A CN 202110854214 A CN202110854214 A CN 202110854214A CN 113553476 A CN113553476 A CN 113553476A
Authority
CN
China
Prior art keywords
segment
mem
value
key
segments
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.)
Granted
Application number
CN202110854214.5A
Other languages
English (en)
Other versions
CN113553476B (zh
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.)
Nanjing University of Posts and Telecommunications
Original Assignee
Nanjing University of Posts and Telecommunications
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 Nanjing University of Posts and Telecommunications filed Critical Nanjing University of Posts and Telecommunications
Priority to CN202110854214.5A priority Critical patent/CN113553476B/zh
Publication of CN113553476A publication Critical patent/CN113553476A/zh
Application granted granted Critical
Publication of CN113553476B publication Critical patent/CN113553476B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9014Indexing; Data structures therefor; Storage structures hash tables
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9027Trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/90335Query processing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

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

Abstract

一种利用哈希减少写停顿的键值存储方法,其包括如下步骤1)LSM树存储:HSKV遵循HashKV的基础,使用KV分离,只在LSM树中存储键和元数据,用于索引KV对,同时将值存储在称为值存储的单独区域中,在KV分离之上,HSKV三个核心设计元素,实现高效的储值管理;2)存储管理:Mem Segments(Write cache):我们将Mem Segments的每一列称为mem segment,将insert/update的KV对,利用哈希散列到对应的mem segment末尾,当mem segment大小达到阈值时,对其进行KV分离,将key与元数据单独保留成为Mem Table加入LSM‑Tree,将整个mem segment直接添加到对应的段组中;本发明通过HSKV可以在更新密集型工作负载下进行有效的更新,它的创新之处在于利用基于哈希的方法改进了基于KV分离的垃圾回收管理策略,实现了高更新性能,以减轻GC开销。

Description

一种利用哈希减少写停顿的键值存储方法
技术领域
本发明涉及键值存储方法,具体为一种利用哈希减少写停顿的键值存储方法。
背景技术
随着大数据时代的来临,图片和视频应用大量兴起,非结构化数据迅猛增加。由于键值数据库管理非结构化数据具有良好的读写速度以及扩展性。因此,在包含大量非结构化数据的应用场景以及数据密集型场景中,键值数据库得到了广泛的使用。现代的非结构化的键值存储系统大部分都是基于LSM-tree的存储系统。LSM-tree在内存缓冲区中将随机写入转化为顺序写入并刷新到外存。它将键值对整合为一个固定大小的文件,并存储在较低的树级。当较低级别的树级存满时,与较高级别的树级合并。但是LSM-tree存在读放大以及写放大的问题。随着键值对的不断写入,它将频繁的触发压缩操作[23]。由于每次压缩需要读取两个级别的数据并在压缩后重新写回,这造成大量的重复读写操作,不仅影响写入性能而且还会影响SSD的使用寿命。由于LSM-tree存在重复的键,查询时需要从低级别向高级别查询。因此读取可能需要查询所有级别,导致读性能下降。
为了降低压缩开销,一种有效的方法是优化LSM-tree结构本身来减少数据被重复写入外存,例如键值分离,其中键和元数据仍然存储在LSM-tree中,而值则通过哈希存储在不同的段组中,选择其中的一个段组进行轻量级的垃圾回收,以此减少压缩开销。键值分离的主要思想是减少LSM-tree的大小,同时保留LSM-tree的索引特性,以便有效地插入或更新单个键。
轻量级的垃圾回收仍然不能在更新密集型工作负载下完全实现高性能。根本原因是,用于值存储的段需在垃圾收集时无法继续写入,导致写停顿。写入采取批处理方式,仍有大量随机写。首先,对于外存顺序写的速度远大于随机写。其次由于垃圾回收时导致的写停顿,所有操作都要等待垃圾回收结束才能继续,对系统整体性能影响较大。
发明内容
针对上述情况,为克服现有技术的缺陷,本发明提供一种利用哈希减少写停顿的键值存储方法,有效的解决了上述技术背景中提到的问题。
为实现上述目的,本发明提供如下技术方案:本发明包括如下步骤1)LSM树存储:HSKV遵循HashKV的基础,使用KV分离,只在LSM树中存储键和元数据,用于索引KV对,同时将值存储在称为值存储的单独区域中,在KV分离之上,HSKV三个核心设计元素,实现高效的储值管理;
2)存储管理:Mem Segments(Write cache):我们将Mem Segments的每一列称为mem segment,将insert/update的KV对,利用哈希散列到对应的mem segment末尾,当memsegment大小达到阈值时,对其进行KV分离,将key与元数据单独保留成为Mem Table加入LSM-Tree,将整个mem segment直接添加到对应的段组中;
KV/KP缓存:与Mem segments类似,KV/KP缓存每一列称之为K segment,在其中我们缓存散列值相同的KV/KP,并且根据KV对的热度,动态的替换KV/KP缓存数据,以此实现加速查询;
Segment Table:记录main segment,log segment的指针以及垃圾回收标志位,用以后续的添加,以及判断该段是否正在进行垃圾回收,是否可以查询该段;
LSM-tree:与普通的LSM-tree操作相同,只是根据值大小,动态决定是否存储值;
Value store:Main segments长度固定,当Main segments满时,从Log segments扩展一段到表尾,并记录到segment table中;Log segments用来动态的分配给各个段,Cold data log存储冷数据,GC策略与WiscKey中的vLog类似;
对于每一个insert/update的KV对,将其散列到Mem segments的某一列中,并将其添加至该列表尾;当某一列大小达到阈值,我们将其取出进行KV分离,将Key以及元数据,布隆过滤器存入Mem Table中压入L0层,将mem segment的整列作为一个log segment加入对应的段组;如果对应的main segment为空,则优先加入main segment,否则申请一个新的log segment加入该段并写入数据;并及时更新对应Group所拥有的log segment,我们将这种main segment与log segment组成的段称为Segment Table,这里改进了HashKV的Segment Table管理策略。
根据上述技术方案:所述HSKV三个核心设计元素为:更改写缓存结构、加入KV/KP缓存机制和优化段表。
根据上述技术方案:所述更改写缓存结构:将Write cache改为Mem Segments可以优化写速度,原有的MemTable由于需要KV分离,导致需要每次写入时,对KV对依次进行分离并计算所属Main segment进行写入,导致无法顺序写入;在内存中将Write cache改为MemSegments,Mem Segments的长度与main segment长度相同,HashKV默认100,且由100个memsegment(顺序表)构成;由于每个main segment大小为1MB,所以默认配置下Mem Segments在内存中占用100MB空间。
根据上述技术方案:所述加入KV/KP缓存机制:由于存在读放大,查询速度会大大降低,为了提升查询性能,在选择性KV分离的基础上,将比较热的KV对进行缓存,且根据其值的尺寸,选择缓存值还是指向值的指针,这样可以优化查询的速度,减少读停顿。
根据上述技术方案:所述优化段表:HashKV在GC时,会造成写停顿,在GC时,如果mem segment满,允许继续向main/log segment写入,这样就可以减少写停顿。
根据上述技术方案:所述键的查询算法为:Get(key)
def Get(key):
# 查询memtable
value = query(key, memtable)
if value:
return value
# 查询KV/KP缓存
value = query(key, cache)
if value:
return value
# 查询LSM-Tree
type, value = query(key, LSM-Tree)
# 小尺寸KV存储在LSM-Tree中
if type == "value":
return value
# LSM-Tree中存在 则查询value store
elif type == "exist":
value = query(key, segment table)
return value。
有益效果:本发明通过HSKV可以在更新密集型工作负载下进行有效的更新,它的创新之处在于利用基于哈希的方法改进了基于KV分离的垃圾回收管理策略,实现了高更新性能,以减轻GC开销,我们还通过缓存KV/KP来对读取速度进行加速,实验表明,HSKV实现了较高的更新吞吐量以及查询吞吐量,HSKV建立在HashKV的基础上,使用一种新的写缓存结构来加速顺序写入并使用一种新的垃圾回收策略来管理段组,它的思想是在HashKV的基础上,通过哈希分组,在内存中将KV对确定分组,使之顺序写入外存,此外,还使用一种新的段组管理策略使得在垃圾回收时,减少大量写停顿,与现代KV存储相比,HSKV通常实现更高的吞吐量和更少的写入流量。
具体实施方式
下面对本发明的具体实施方式做进一步详细说明。
实施例一,本发明提供一种利用哈希减少写停顿的键值存储方法,包括如下步骤1)LSM树存储:HSKV遵循HashKV的基础,使用KV分离,只在LSM树中存储键和元数据,用于索引KV对,同时将值存储在称为值存储的单独区域中,在KV分离之上,HSKV三个核心设计元素,实现高效的储值管理;
2)存储管理:Mem Segments(Write cache):我们将Mem Segments的每一列称为mem segment,将insert/update的KV对,利用哈希散列到对应的mem segment末尾,当memsegment大小达到阈值时,对其进行KV分离,将key与元数据单独保留成为Mem Table加入LSM-Tree,将整个mem segment直接添加到对应的段组中;
KV/KP缓存:与Mem segments类似,KV/KP缓存每一列称之为K segment,在其中我们缓存散列值相同的KV/KP,并且根据KV对的热度,动态的替换KV/KP缓存数据,以此实现加速查询;
Segment Table:记录main segment,log segment的指针以及垃圾回收标志位,用以后续的添加,以及判断该段是否正在进行垃圾回收,是否可以查询该段;
LSM-tree:与普通的LSM-tree操作相同,只是根据值大小,动态决定是否存储值;
Value store:Main segments长度固定,当Main segments满时,从Log segments扩展一段到表尾,并记录到segment table中;Log segments用来动态的分配给各个段,Cold data log存储冷数据,GC策略与WiscKey中的vLog类似;
对于每一个insert/update的KV对,将其散列到Mem segments的某一列中,并将其添加至该列表尾;当某一列大小达到阈值,我们将其取出进行KV分离,将Key以及元数据,布隆过滤器存入Mem Table中压入L0层,将mem segment的整列作为一个log segment加入对应的段组;如果对应的main segment为空,则优先加入main segment,否则申请一个新的log segment加入该段并写入数据;并及时更新对应Group所拥有的log segment,我们将这种main segment与log segment组成的段称为Segment Table,这里改进了HashKV的Segment Table管理策略。
所述HSKV三个核心设计元素为:更改写缓存结构、加入KV/KP缓存机制和优化段表。
所述更改写缓存结构:将Write cache改为Mem Segments可以优化写速度,原有的MemTable由于需要KV分离,导致需要每次写入时,对KV对依次进行分离并计算所属Mainsegment进行写入,导致无法顺序写入;在内存中将Write cache改为Mem Segments,MemSegments的长度与main segment长度相同,HashKV默认100,且由100个mem segment(顺序表)构成;由于每个main segment大小为1MB,所以默认配置下Mem Segments在内存中占用100MB空间。
所述加入KV/KP缓存机制:由于存在读放大,查询速度会大大降低,为了提升查询性能,在选择性KV分离的基础上,将比较热的KV对进行缓存,且根据其值的尺寸,选择缓存值还是指向值的指针,这样可以优化查询的速度,减少读停顿。
所述优化段表:HashKV在GC时,会造成写停顿,在GC时,如果mem segment满,允许继续向main/log segment写入,这样就可以减少写停顿。
所述键的查询算法为:Get(key)
def Get(key):
# 查询memtable
value = query(key, memtable)
if value:
return value
# 查询KV/KP缓存
value = query(key, cache)
if value:
return value
# 查询LSM-Tree
type, value = query(key, LSM-Tree)
# 小尺寸KV存储在LSM-Tree中
if type == "value":
return value
# LSM-Tree中存在 则查询value store
elif type == "exist":
value = query(key, segment table)
return value。
有益效果:本发明通过HSKV可以在更新密集型工作负载下进行有效的更新,它的创新之处在于利用基于哈希的方法改进了基于KV分离的垃圾回收管理策略,实现了高更新性能,以减轻GC开销,我们还通过缓存KV/KP来对读取速度进行加速,实验表明,HSKV实现了较高的更新吞吐量以及查询吞吐量,HSKV建立在HashKV的基础上,使用一种新的写缓存结构来加速顺序写入并使用一种新的垃圾回收策略来管理段组,它的思想是在HashKV的基础上,通过哈希分组,在内存中将KV对确定分组,使之顺序写入外存,此外,还使用一种新的段组管理策略使得在垃圾回收时,减少大量写停顿,与现代KV存储相比,HSKV通常实现更高的吞吐量和更少的写入流量。
最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (6)

1.一种利用哈希减少写停顿的键值存储方法,其特征在于:包括如下步骤1)LSM树存储:HSKV遵循HashKV的基础,使用KV分离,只在LSM树中存储键和元数据,用于索引KV对,同时将值存储在称为值存储的单独区域中,在KV分离之上,HSKV三个核心设计元素,实现高效的储值管理;
2)存储管理:Mem Segments(Write cache):我们将Mem Segments的每一列称为memsegment,将insert/update的KV对,利用哈希散列到对应的mem segment末尾,当memsegment大小达到阈值时,对其进行KV分离,将key与元数据单独保留成为Mem Table加入LSM-Tree,将整个mem segment直接添加到对应的段组中;
KV/KP缓存:与Mem segments类似,KV/KP缓存每一列称之为K segment,在其中我们缓存散列值相同的KV/KP,并且根据KV对的热度,动态的替换KV/KP缓存数据,以此实现加速查询;
Segment Table:记录main segment,log segment的指针以及垃圾回收标志位,用以后续的添加,以及判断该段是否正在进行垃圾回收,是否可以查询该段;
LSM-tree:与普通的LSM-tree操作相同,只是根据值大小,动态决定是否存储值;
Value store:Main segments长度固定,当Main segments满时,从Log segments扩展一段到表尾,并记录到segment table中;Log segments用来动态的分配给各个段,Colddata log存储冷数据,GC策略与WiscKey中的vLog类似;
对于每一个insert/update的KV对,将其散列到Mem segments的某一列中,并将其添加至该列表尾;当某一列大小达到阈值,我们将其取出进行KV分离,将Key以及元数据,布隆过滤器存入Mem Table中压入L0层,将mem segment的整列作为一个log segment加入对应的段组;如果对应的main segment为空,则优先加入main segment,否则申请一个新的logsegment加入该段并写入数据;并及时更新对应Group所拥有的log segment,我们将这种main segment与log segment组成的段称为Segment Table,这里改进了HashKV的SegmentTable管理策略。
2.根据权利要求1所述的一种利用哈希减少写停顿的键值存储方法,其特征在于,所述HSKV三个核心设计元素为:更改写缓存结构、加入KV/KP缓存机制和优化段表。
3.根据权利要求2所述的一种利用哈希减少写停顿的键值存储方法,其特征在于,所述更改写缓存结构:将Write cache改为Mem Segments可以优化写速度,原有的MemTable由于需要KV分离,导致需要每次写入时,对KV对依次进行分离并计算所属Main segment进行写入,导致无法顺序写入;在内存中将Write cache改为Mem Segments,Mem Segments的长度与main segment长度相同,HashKV默认100,且由100个mem segment(顺序表)构成;由于每个main segment大小为1MB,所以默认配置下Mem Segments在内存中占用100MB空间。
4.根据权利要求2所述的一种利用哈希减少写停顿的键值存储方法,其特征在于,所述加入KV/KP缓存机制:由于存在读放大,查询速度会大大降低,为了提升查询性能,在选择性KV分离的基础上,将比较热的KV对进行缓存,且根据其值的尺寸,选择缓存值还是指向值的指针,这样可以优化查询的速度,减少读停顿。
5.根据权利要求2所述的一种利用哈希减少写停顿的键值存储方法,其特征在于,所述优化段表:HashKV在GC时,会造成写停顿,在GC时,如果mem segment满,允许继续向main/log segment写入,这样就可以减少写停顿。
6.根据权利要求1所述的一种利用哈希减少写停顿的键值存储方法,其特征在于,所述键的查询算法为:Get(key)
def Get(key):
#查询memtable
value=query(key,memtable)
if value:
return value
#查询KV/KP缓存
value=query(key,cache)
if value:
return value
#查询LSM-Tree
type,value=query(key,LSM-Tree)#小尺寸KV存储在LSM-Tree中
if type=="value":
return value
#LSM-Tree中存在则查询value store
elif type=="exist":
value=query(key,segment table)
return value。
CN202110854214.5A 2021-07-27 2021-07-27 一种利用哈希减少写停顿的键值存储方法 Active CN113553476B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110854214.5A CN113553476B (zh) 2021-07-27 2021-07-27 一种利用哈希减少写停顿的键值存储方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110854214.5A CN113553476B (zh) 2021-07-27 2021-07-27 一种利用哈希减少写停顿的键值存储方法

Publications (2)

Publication Number Publication Date
CN113553476A true CN113553476A (zh) 2021-10-26
CN113553476B CN113553476B (zh) 2023-05-26

Family

ID=78133039

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110854214.5A Active CN113553476B (zh) 2021-07-27 2021-07-27 一种利用哈希减少写停顿的键值存储方法

Country Status (1)

Country Link
CN (1) CN113553476B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113961514A (zh) * 2021-12-20 2022-01-21 支付宝(杭州)信息技术有限公司 数据查询方法及装置
CN114398007A (zh) * 2021-12-27 2022-04-26 南京邮电大学 一种基于LSM-tree的KV存储系统读性能的缓存优化方法
CN114896250A (zh) * 2022-05-19 2022-08-12 中国地质大学(北京) 一种键值分离的键值存储引擎索引优化方法及装置
CN117390031A (zh) * 2023-12-11 2024-01-12 武汉纺织大学 一种基于lsm树的存储系统中二级索引有效性的验证方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019171130A1 (en) * 2018-03-06 2019-09-12 Pratik Sharma Continuous stream of key-value pairs of string data type
CN110825748A (zh) * 2019-11-05 2020-02-21 北京平凯星辰科技发展有限公司 利用差异化索引机制的高性能和易扩展的键值存储方法
US20200250148A1 (en) * 2019-02-06 2020-08-06 Niv Dayan File management with log-structured merge bush
CN112395212A (zh) * 2020-11-05 2021-02-23 华中科技大学 减少键值分离存储系统的垃圾回收和写放大的方法及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019171130A1 (en) * 2018-03-06 2019-09-12 Pratik Sharma Continuous stream of key-value pairs of string data type
US20200250148A1 (en) * 2019-02-06 2020-08-06 Niv Dayan File management with log-structured merge bush
CN110825748A (zh) * 2019-11-05 2020-02-21 北京平凯星辰科技发展有限公司 利用差异化索引机制的高性能和易扩展的键值存储方法
CN112395212A (zh) * 2020-11-05 2021-02-23 华中科技大学 减少键值分离存储系统的垃圾回收和写放大的方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
马文龙;朱妤晴;蒋德钧;熊劲;张立新;孟潇;包云岗;: "Key-Value型NoSQL本地存储系统研究", 计算机学报 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113961514A (zh) * 2021-12-20 2022-01-21 支付宝(杭州)信息技术有限公司 数据查询方法及装置
CN114398007A (zh) * 2021-12-27 2022-04-26 南京邮电大学 一种基于LSM-tree的KV存储系统读性能的缓存优化方法
CN114398007B (zh) * 2021-12-27 2023-09-12 南京邮电大学 一种基于LSM-tree的KV存储系统读性能的缓存优化方法
CN114896250A (zh) * 2022-05-19 2022-08-12 中国地质大学(北京) 一种键值分离的键值存储引擎索引优化方法及装置
CN114896250B (zh) * 2022-05-19 2023-02-03 中国地质大学(北京) 一种键值分离的键值存储引擎索引优化方法及装置
CN117390031A (zh) * 2023-12-11 2024-01-12 武汉纺织大学 一种基于lsm树的存储系统中二级索引有效性的验证方法
CN117390031B (zh) * 2023-12-11 2024-03-08 武汉纺织大学 一种基于lsm树的存储系统中二级索引有效性的验证方法

Also Published As

Publication number Publication date
CN113553476B (zh) 2023-05-26

Similar Documents

Publication Publication Date Title
CN113553476B (zh) 一种利用哈希减少写停顿的键值存储方法
CN110825748B (zh) 利用差异化索引机制的高性能和易扩展的键值存储方法
CN107491523B (zh) 存储数据对象的方法及装置
US6216199B1 (en) Hardware mechanism for managing cache structures in a data storage system
US7096227B2 (en) Database utilities
Lu et al. BloomStore: Bloom-filter based memory-efficient key-value store for indexing of data deduplication on flash
JP3399520B2 (ja) 圧縮メイン・メモリの仮想非圧縮キャッシュ
Nam et al. Assuring demanded read performance of data deduplication storage with backup datasets
CN105117415B (zh) 一种优化的ssd数据更新方法
CN107526550B (zh) 一种基于日志结构合并树的两阶段合并方法
CN109445702B (zh) 一种块级数据去重存储系统
CN101655861B (zh) 基于双计数布鲁姆过滤器的哈希方法和哈希装置
CN112000846B (zh) 基于gpu分组lsm树索引的方法
CN111475507B (zh) 一种工作负载自适应单层lsmt的键值数据索引方法
CN113626431A (zh) 一种基于lsm树的延迟垃圾回收的键值分离存储方法及系统
CN112148736A (zh) 缓存数据的方法、设备及存储介质
Tulkinbekov et al. CaseDB: Lightweight key-value store for edge computing environment
CN113867627B (zh) 一种存储系统性能优化方法及系统
CN114490443A (zh) 一种基于共享内存的golang进程内缓存方法
CN112799590B (zh) 一种针对在线主存储重删的差异化缓存方法
CN116701440B (zh) 一种布谷鸟过滤器及数据插入、查询、删除方法
JPS59220853A (ja) デイスクキヤツシユシステム
CN114398007B (zh) 一种基于LSM-tree的KV存储系统读性能的缓存优化方法
JP2000181768A (ja) デ―タ格納検索方式
Weise On the Efficient Design of LSM Stores

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
GR01 Patent grant
GR01 Patent grant