
LSM
文章平均质量分 78
GZU_Tian
记录给自己查看的。
展开
-
NVLSM: A Persistent Memory Key-Value Store Using Log-Structured Merge Tree with...(Trans21)
利用NVM的字节寻址能力,改进LSMTree的compaction方式,实现级联搜索,在不显著增加读放大的情况下降低了写放大。原创 2022-08-22 17:46:33 · 354 阅读 · 0 评论 -
SLM-DB: Single-Level Key-Value Store with Persistent Memory(FAST 19)
MemTable 的核心数据结构为跳表(SkipList)。跳表的操作,如插入、更新、删除均可用 8bytes 的原子操作完成。采用PM存储MemTable, SLM-DB就不需要依赖于W AL来保证数据一致性。跳表的索引部分不需要提供一致性保证,因为可以从原始数据中快速重建。插入操作:为了保证MemTable中kv的一致性,首先调用内存fence和cacheline flush指令持久化一个新节点,该节点的next指针被设置指向。然后更新其上一个节点的next指针(8字节)指向新节点,并持久化更改。原创 2022-08-20 17:15:39 · 756 阅读 · 0 评论 -
FlatStore: An Efficient Log-Structured Key-Value Storage Engine for Persistent Memory(清华ASPLOS’20)
将键值存储解耦为一个用于快速索引的易失性索引和一个高效存储的持久日志结构,引入和从而实现高吞吐量、低延迟和多核可伸缩性。在处理当今流行的工作负载时,现有的KV存储会产生大量的小型写操作,这与pm中的持久性粒度不匹配。为了解决这个问题,FlatStore将KV存储解耦为volatile索引和日志结构存储,它使用per-core OpLog管理索引和小型kv,以便更好地支持批处理。Pipelined horizontal batching 提供高吞吐量和低延迟的请求处理。...原创 2022-08-18 22:40:47 · 437 阅读 · 0 评论 -
MatrixKV:Reducing Write Stalls and Write Amplification in LSM-tree...(ATC2020)
本文提出了一种基于LSM-tree的KV存储,用于DRAM-NVM-SSD存储系统。MatrixKV的设计原则是利用NVM(1)对L0和L1进行更便宜、更细粒度的压实,(2)减小LSM-tree的深度以缓解WA。通过将L0提升到NVM,使用矩阵容器对其进行管理,并使用细粒度列压实L0和L1, 减少了写阻塞减少层数以减少写放大L0建立索引提高读性能。...原创 2022-08-17 10:55:40 · 171 阅读 · 0 评论 -
Redesigning LSMs for Nonvolatile Memory with NoveLSM(ATC 2018)
NoveLSM,一个持久的基于lsm的键值存储系统,旨在利用非易失性内存,为应用程序提供低延迟和高吞吐量。基于LSM的持久键值存储,如BigTable、LevelDB、HBase、Cassandra和RocksDB,在现代系统中发挥着至关重要的作用,应用范围从web索引、电子商务、社交网络到移动应用。LSMs通过提供内存中的数据访问、缓冲和批处理对磁盘的写入以及强制顺序磁盘访问来实现高吞吐量。这些技术提高了LSM的I/O吞吐量,但同时也带来了与日志记录和压缩成本相关的额外存储和软件级开销。虽然在将更新写入内原创 2022-07-07 15:49:34 · 340 阅读 · 0 评论 -
LSM-based Storage Techniques: A Survey(2019)
总结关于lsm-tree的研究成果。通常,索引结构可以从两种策略中选择一种来处理更新,即就地更新和非就地更新。一个就地更新结构,比如B+树,直接覆盖旧记录来存储新的更新。这些结构通常是读优化的,因为只存储每个记录的最新版本。但是,这种设计牺牲了写性能,因为更新会产生随机I/o。此外,索引页可以通过更新和删除进行分片,从而降低空间利用率。相比之下,非就地更新结构(如lsm-tree)总是将更新存储到新的位置,而不是覆盖旧的条目。这种设计提高了写性能,因为它可以利用顺序I/o来处理写。它还可以通过不覆盖旧数据原创 2022-07-05 16:27:17 · 901 阅读 · 0 评论