Real-Time LSM-Trees for HTAP Workloads
实时的【形】分析系统采用混合数据布局,其中数据在其整个生命周期中以不同格式存储。最近的数据以面向行的格式存储,以满足OLTP工作负载并支持高插入率,而较旧的数据则转换为面向列的格式,以满足OLAP访问模式。我们观察到,日志结构化合并(LSM)树是一个自然的适合生命周期感知存储引擎,由于其高写吞吐量和面向级别的结构,其中记录传播从一个级别到下一个随着时间的推移。为了使用LSM-Tree构建生命周期感知的存储引擎,我们进行了一个关键的修改,以允许不同级别的不同数据布局,从纯粹的面向行到纯粹的面向列,从而形成实时的【形】LSM-Tree。我们给出了一个成本模型和一个算法来设计一个实时的【形】LSM树,适合于给定的工作负载,其次是激光的实验评估-我们的想法建立在RocksDB的键值存储的原型实现。
2022-07-15 cs.DB
Scavenger: Better Space-Time Trade-Offs for Key-Value Separated LSM-trees
本文提出 Scavenger,通过 I/O 高效的垃圾回收方案和基于补偿大小的空间感知压缩策略,在键值分离 LSM 树中实现更优的性能与空间放大权衡。
2025-08-19 cs.DB
Closing the B-tree vs. LSM-tree Write Amplification Gap on Modern Storage Hardware with Built-in Transparent Compression
本文研究了B树的设计,它可以充分利用现代存储硬件与内置的【形】透明压缩。近年来,日志结构的合并树(LSM树)作为B树的一种替代,引起了人们极大的兴趣。目前的共识是,与B树相比,LSM树在存储空间效率和写入放大方面具有明显的优势。本文认为,人们应该重新审视这一信念后,内置的【形】透明压缩存储硬件的到来。高级存储设备~(例如,全闪存阵列)和新兴的计算存储驱动器执行基于硬件的无损数据压缩,对OS和用户应用程序透明。除了直接减少B树和LSM树之间的物理存储成本差异之外,这种现代存储硬件还带来了创新B树实现的新机会,以便大大减少其写入放大。作为探索潜力的第一步,本文提出了三种简单的设计技术(即,确定性页面阴影、局部页面修改日志记录和稀疏重做日志记录),其可以利用这样的现代存储硬件来显著减少B树写入放大。我们实现了这些设计技术,并进行了实验上的商业存储驱动器与内置的【形】透明压缩。结果表明,所提出的设计技术可以减少超过10倍的B树写放大。与RocksDB(一种基于LSM树的流行键值存储)相比,实现的B树可以实现类似甚至更小的写入放大和物理存储空间使用。
2021-07-27 cs.DB
A survey of LSM-Tree based Indexes, Data Systems and KV-stores
本文综述了基于LSM-Tree的索引、数据系统与KV存储的研究现状,涵盖其结构改进及持久内存等新兴存储技术带来的影响。
2024-02-27 cs.DB
On Performance Stability in LSM-based Storage Systems (Extended Version)
日志结构的合并树(LSM-tree)由于其优越的写入性能而被广泛应用于现代NoSQL系统。尽管LSM树很受欢迎,但由于其快速的内存写入和缓慢的后台I/O操作之间的固有不匹配,它们因写入停顿和大的性能差异而受到批评。在本文中,我们使用一个简单而有效的两阶段实验方法来评估各种LSM树设计的写失速。我们进一步探讨了LSM合并缓存器的设计选择,以最大限度地减少I/O带宽预算下的写停顿。我们已经进行了广泛的实验中的Apache AsterixDB系统的背景下,我们在这里的结果。
2020-04-11 cs.DB
Breaking Down Memory Walls: Adaptive Memory Management in LSM-based Storage Systems (Extended Version)
日志结构合并树(Log-Structured Merge-Trees,LSM-trees)在现代NoSQL系统中得到了广泛的应用。由于其不适当的更新设计,LSM树在多个LSM树的存储器组件之间以及在写存储器和缓冲区高速缓存之间引入了存储器墙。这些区域之间的最佳内存分配是不平凡的,因为它是高度依赖于工作负载。现有的LSM树实现由于其简单性和鲁棒性而采用静态内存分配方案,从而牺牲了性能。在本文中,我们试图打破这些内存墙在基于LSM的存储系统。我们首先提出了一个存储管理架构,使自适应存储管理。然后,我们提出了一个分区的内存组件结构与新的刷新策略,以更好地利用写内存,以尽量减少写成本。为了打破写内存和缓冲区缓存之间的内存墙,我们进一步引入了一个内存调谐器,它可以调谐这两个区域之间的内存分配。我们使用YCSB和TPC-C基准测试在Apache AsterixDB的上下文中进行了广泛的实验,我们在这里展示了结果。
2020-07-14 cs.DB
Scavenger+: Revisiting Space-Time Tradeoffs in Key-Value Separated LSM-trees
本文针对键值分离 LSM 树中空间放大问题,提出 Scavenger+,通过 I/O 高效垃圾回收、空间感知压缩和动态 GC 调度实现性能与空间更优权衡,实验证明其优于 BlobDB、Titan 和 TerarkDB。
2025-08-19 cs.DB
Towards Flexibility and Robustness of LSM Trees
针对LSM树在云环境中的工作负载不确定性,提出鲁棒调优范式ENDURE及统一设计K-LSM,在RocksDB上实现高达5倍吞吐量提升,证明鲁棒性源于调优过程而非设计本身。
2023-11-16 cs.DB
LSMGraph: A High-Performance Dynamic Graph Storage System with Multi-Level CSR
针对动态图存储系统难以同时优化读写性能的问题,提出LSMGraph系统,结合LSM-tree与CSR结构,并引入MemGraph缓存和多级索引,显著提升了图更新与分析的性能。
2024-11-18 cs.DB
Are Joins over LSM-Trees Ready? Take RocksDB as an Example
Nanyang Technological University(南洋理工大学)
本文研究了LSM树上连接操作的性能,通过系统性分析和实验,探讨了不同连接算法和索引设计在LSM存储中的表现,为开发者提供了选择合适连接方法的指导。
2026-03-02 cs.DB
LSM-OPD: Boosting Scan in LSM-Trees by Enabling Direct Computing on Compressed Data
本文提出 LSM-OPD 编码方案,通过保序字典压缩和列式键值分离布局,将 LSM-Tree 中大值上的压缩与过滤等扫描操作卸载到轻量级字典并利用 SIMD 向量化,从而同时缓解 I/O 受限和计算受限问题。
2025-08-16 cs.DB
HotRAP: Hot Record Retention and Promotion for LSM-trees with Tiered Storage
针对LSM树分层存储中热记录易被压缩至慢速存储导致读取性能下降的问题,提出基于RocksDB的HotRAP,利用特制LSM树追踪热度并通过三条路径及时提升并留存热记录,在多种工作负载下性能显著优于现有方法。
2024-12-19 cs.DB
Endure: A Robust Tuning Paradigm for LSM Trees Under Workload Uncertainty
日志结构化合并树(LSM树)越来越多地用作多个数据系统背后的存储引擎,经常部署在云中。与其他数据库架构类似,LSM树考虑了有关预期工作负载的信息(例如,读取与写入、点查询与范围查询),以通过调优来优化其性能。然而,由于多租户和现代应用程序的快速发展特性,在云等共享基础设施中运行会带来一定程度的工作负载不确定性。具有静态调优的系统降低了这种混合工作负载的可变性,因此提供了不一致和总体次优的性能。为了解决这个问题,我们引入了Endure -一个新的范例,用于在工作负载不确定的情况下调整LSM树。具体来说,我们专注于压缩策略,大小比例和内存分配的选择对整体性能的影响。Endure考虑了吞吐量最大化问题的鲁棒公式,并建议在每个预期工作负载的邻域内最大化最坏情况下的吞吐量。此外,不确定性调谐参数控制该邻域的大小,从而允许输出调谐是保守的或乐观的。通过基于模型和广泛的实验评估的耐力在国家的最先进的基于LSM的存储引擎,RocksDB,我们表明,强大的调优方法始终优于经典的调优策略。我们使用15个工作负载模板对Endure进行基准测试,这些模板生成10000多个独特的噪声工作负载。Endure输出的稳健调谐在存在不确定性的情况下使吞吐量提高了5 $\times$。另一方面,当观察到的工作负载与预期工作负载完全匹配时,Endure调优的性能损失可以忽略不计。
2021-11-03 cs.DB
DiaLSM: Towards Write-Stall-Free Performance via Shard-based LSM-tree
Korea Aerospace University(韩国航空大学);Sogang University(西江大学);MangoBoost;ETRI(电子通信研究所);Temple University(天普大学);Arizona State University(亚利桑那州立大学)
针对LSM树写停顿问题,提出基于内部片段的DiaLSM架构,通过拆分流水线并动态重定向,在RocksDB上实现高达2.4倍吞吐量提升和94%停顿减少。
2026-09-15 cs.DB
Pome: Parallelizing I/Os and Computations for Efficient LSM-tree-based Data Storage
ShanghaiTech University(上海科技大学)
针对LSM树存储系统中压缩操作因同步I/O导致长关键路径的问题,提出Pome,通过解耦计算与I/O并利用io_uring异步I/O及自适应速率限制器,显著提升RocksDB性能。
2026-06-23 cs.DB
Efficient Data Ingestion and Query Processing for LSM-Based Storage Systems
近年来,日志结构化合并(Log Structured Merge,LSM)树因其优越的写入性能而被NoSQL和NewSQL系统广泛采用。尽管它的流行,但是,大多数现有的工作都集中在基于LSM的键值存储,只有一个主要的LSM树索引;辅助结构,这是关键的支持ad-hoc查询,得到了较少的关注。在本文中,我们专注于高效的数据摄取和查询处理的通用基于LSM的存储系统。我们首先提出并评估了一系列的优化,有效的批量点查找,显着提高基于LSM的二级索引的适用范围。然后,我们提出了几个新的和有效的维护策略基于LSM的存储系统。最后,我们已经实施和实验评估的Apache AsterixDB系统的上下文中提出的技术,我们在这里提出的结果。
2019-01-07 cs.DB
[Extended Version] ArceKV: Towards Workload-driven LSM-compactions for Key-Value Store Under Dynamic Workloads
Nanyang Technological University(南洋理工大学)
ArceKV通过弹性LSM结构和轻量级压缩决策引擎,在动态工作负载下实现更高效的键值存储性能优化。
2026-01-28 cs.DB
How to Grow an LSM-tree? Towards Bridging the Gap Between Theory and Practice
本文针对LSM树增长方式的设计问题,分析垂直与水平方案的局限,提出结合两者优势的Vertiorizon方法,实现查找、更新与空间成本间的更优平衡,并显著改善读写性能与空间开销。
2025-04-24 cs.DB
Constructing and Analyzing the LSM Compaction Design Space (Updated Version)
日志结构合并(LSM)树通过附加传入数据提供有效的摄取,因此被广泛用作生产NoSQL数据存储的存储层。为了实现有竞争力的读取性能,LSM树通过迭代压缩定期重新组织数据以形成具有指数级增加的容量的树。压缩从根本上影响LSM引擎在写入放大、写入吞吐量、点和范围查找性能、空间放大和删除性能方面的性能。因此,选择合适的压实策略是至关重要的,同时,由于LSM压实设计空间巨大,很大程度上未被探索,并且在文献中尚未正式定义,因此很难。因此,大多数基于LSM的引擎使用固定的压缩策略,通常由工程师亲自挑选,决定如何以及何时压缩数据。在本文中,我们提出了LSM压缩的设计空间,并评估国家的最先进的压缩策略的关键性能指标。为了实现这一目标,我们的第一个贡献是引入一组四个设计原语,可以正式定义任何压缩策略:(i)压缩触发器,(ii)数据布局,(iii)压缩粒度,(iv)数据移动策略。总之,这些原语可以综合现有的和全新的压缩策略。我们的第二个贡献是实验分析10个压缩策略。我们提出了12个观察结果和7个高级别的外卖信息,这些信息显示了LSM系统如何在紧凑设计空间中导航。
2022-02-26 cs.DB
LSM Trees in Adversarial Environments
针对对抗性工作负载影响LSM树中布隆过滤器准确性导致读取性能急剧下降的问题,本文定义对抗模型与安全定义,在LevelDB和RocksDB中实现对抗弹性,缓解了性能下降。
2025-02-14 cs.CR cs.DB
BVLSM: Write-Efficient LSM-Tree Storage via WAL-Time Key-Value Separation
本文提出 BVLSM,在 WAL 阶段提前分离键值并以轻量元数据和多队列并行存储大值,从而降低 LSM 键值存储的写放大、内存浪费与 I/O 抖动。
2025-06-09 cs.DB
RESYSTANCE: Unleashing Hidden Performance of Compaction in LSM-trees via eBPF
Sogang University(西江大学)
RESYSTANCE通过eBPF和io_uring优化LSM树压缩,减少系统调用开销,提升压缩性能和写入吞吐量
2026-03-05 cs.DB
Re-enabling high-speed caching for LSM-trees
LSM树已被Google、Facebook和Amazon广泛用于云计算系统,以实现写密集型工作负载的高性能。然而,在LSM树中,随机键值查询可能会经历长的延迟和低吞吐量,由于压缩的干扰,在算法中的基本操作,缓存。LSM树依赖于频繁的压缩操作来将数据合并到排序结构中。压缩后,原始数据被重新组织并写入磁盘上的其他位置。结果,缓存的数据由于其引用地址被更改而无效,从而导致严重的性能下降。我们提出dLSM,以便在密集写入期间重新启用高速缓存。dLSM是一个LSM树,在磁盘上有一个压缩缓冲区,用作缓冲,以最大限度地减少压缩导致的缓存失效。压缩缓冲区维护频繁压缩数据的一系列快照,这些快照表示底层LSM树中相应数据的一致视图。压缩缓冲区中的数据以比压缩低得多的速率更新,几乎是静止的。在dLSM中,对象由对应块的磁盘地址引用,对于频繁压缩的数据,该磁盘地址位于压缩缓冲区中,对于不频繁压缩的数据,该磁盘地址位于底层LSM树中。因此,热对象可以有效地保存在缓存中,而不会出现有害的无效。在一个小的磁盘压缩缓冲区的帮助下,dLSM实现了高查询性能,通过启用有效的缓存,同时保留了LSM树的所有优点,用于写密集型数据处理。我们实现了基于LevelDB的dLSM。我们的评估表明,使用标准的DRAM缓存,dLSM可以实现5- 8倍的性能提高LSM与相同的缓存在HDD存储。
2016-06-07 cs.DB cs.DS
Accelerating LSM-Tree with the Dentry Management of File System
日志结构的合并树(LSM树)在构建键值(KV)存储中获得了广泛的应用。它采用日志来备份到达的KV对,并维护几个磁盘级别,容量限制呈指数级增加,类似于分层的树状结构。一个级别由SST文件组成,每个文件都包含一个排序的KV对序列。不时,LSM树重新部署KV对从一个完整的水平到较低的水平,通过压缩,合并排序和SST文件之间的KV对移动,从而引起大量的磁盘I/O。在本文中,我们重新审视LSM树的设计,发现在一个SST文件中组织多个KV对需要重量级的实际KV对在一个压缩重新部署。因此,我们革命性的KV对的组织,通过转换的SST文件的KV对到SST目录,其中每个KV对成为一个独立的KV文件的关键字和值的文件名和主文件内容,分别。在压缩中移动KV对转换为传输目录条目(denominator),这具体地导致更少的磁盘I/O。这是我们名为DeLSM的设计的本质。我们在LevelDB上构建了一个DeLSM的原型,评估结果表明,它在不同维度上的性能明显优于最先进的LSM树变体。
2021-09-28 cs.DB cs.DS
Learning to Optimize LSM-trees: Towards A Reinforcement Learning based Key-Value Store for Dynamic Workloads
Nanyang Technological University(南洋理工大学);Fudan University(复旦大学);Microsoft Research Asia(微软亚洲研究院)
本文提出RusKey键值存储,首次利用强化学习在线优化LSM树结构,并设计FLSM树实现压缩策略高效切换,无需先验工作负载知识即可在动态负载下实现最高达RocksDB 4倍的性能提升。
2023-09-17 cs.DB cs.LG
Storage Management with Multi-Version Partitioned B-Trees
数据库管理系统和K/V-Store在可更新的数据集上运行--大大超过了可用主存的大小。基于树的K/V存储管理结构在存储引擎中变得特别流行。B+树允许恒定的搜索性能,但是写入繁重的工作负载会导致对辅存设备的低效写入模式和较差的性能特征。LSM树通过水平分区数据来克服这个问题-小到足以完全驻留在主存中,但需要频繁维护以维持搜索性能。首先,我们提出了多版本分区BTree(MV-PBT)作为唯一的存储和索引管理结构的关键排序存储引擎,如K/V-Stores。其次,我们比较MV-PBT和LSM-树。MV-PBT中的逻辑水平分区允许在结构的小的透明和存储器驻留部分中利用现代B $^+$-树技术的最新进展。结构特性维持稳定的读取性能,产生高效的写入模式并降低写入放大。我们在WiredTiger KV存储引擎中集成了MV-PBT。在YCSB工作负载中,MV-PBT与LSM树相比提供了高达2倍的稳定吞吐量,与B+树相比增加了几个数量级。
2022-09-20 cs.DB
LSM-Vec: A Memory-Efficient Disk-Based System for Large-Scale Dynamic Vector Search
Nanyang Technological University(南洋理工大学)
LSM-VEC结合分层图索引与LSM树存储,实现高效的动态向量搜索,支持出地更新,降低I/O开销,实验显示其在大规模数据集上优于现有磁盘基ANN系统。
2026-10-27 cs.DB
On 10x Better Scalability: KV Stores Scale Up KV Cache
Nanyang Technological University(南洋理工大学)
SGLANG-LSM通过数据库存储架构提升大规模LLM缓存性能,实现缓存命中率提升143%和TTFT降低24%。
2025-11-25 cs.DB
The AHA-Tree: An Adaptive Index for HTAP Workloads
针对 HTAP 中事务写入与分析读取需求切换的问题,本文提出 AHA-Tree 自适应索引,可在 LSM-tree 与缓冲 B-tree 间无停机动态转换,并通过动态工作负载基准验证其并发演进能力。
2024-06-13 cs.DB
LearnedKV: Integrating LSM and Learned Index for Superior Performance on Storage
University of Minnesota, Twin Cities(明尼苏达大学双城分校)
LearnedKV通过两层设计将LSM树与学习索引结合,利用非阻塞转换机制在垃圾回收时将LSM数据转为学习索引,从而在读性能上最高提升4.32倍、写性能最高提升1.43倍。
2025-04-11 cs.DB cs.LG
DumpKV: Learning based lifetime aware garbage collection for key value separation in LSM-tree
Microsoft(微软);Sun Yat-sen University(中山大学);Chongqing University(重庆大学)
本文提出DumpKV,一种基于学习的生命周期感知垃圾回收方法,通过动态调整和轻量级模型预测键的生命周期,在LSM-tree键值分离中实现高效垃圾回收,显著降低写放大达38%-73%。
2024-06-03 cs.AI cs.DB cs.LG
CAMAL: Optimizing LSM-trees via Active Learning
Nanyang Technological University(南洋理工大学)
本文提出新方法Camal,首次将主动学习与成本模型结合用于优化LSM-tree结构,支持参数解耦调整、增量更新和动态在线调优,集成至RocksDB后系统性能平均提升28%、最高达8倍。
2024-09-23 cs.AI cs.DB cs.LG
Evaluating Learned Indexes in LSM-tree Systems: Benchmarks,Insights and Design Choices
本文构建统一基准评估 LSM-tree 中 8 种学习型索引,分析理论成本与配置空间,揭示大内存收益有限、再训练开销适中,并给出选型调优指南。
2025-06-10 cs.DB cs.DS
Lethe: A Tunable Delete-Aware LSM Engine (Updated Version)
数据密集型应用程序推动了基于日志结构化合并(LSM)的键值引擎的发展,这些引擎采用了不适当的范例来支持高摄取率和低读/写干扰。然而,这些好处的代价是将删除视为二等公民。删除操作会插入一个逻辑删除,使已删除键的较旧实例无效。最先进的LSM引擎不保证墓碑将以多快的速度传播以持久化删除。此外,LSM引擎仅支持删除排序关键字。删除另一个属性(例如,时间戳),整个树被读取和重写。我们强调,在不影响读取性能的情况下快速持久删除是支持以下内容的关键:(i)在数据窗口上运行的流式传输系统,(ii)对被遗忘权的隐私延迟保证,以及(iii)使存储成为宝贵资源的数据系统的云部署。为了解决这些挑战,在本文中,我们建立了一个新的键值存储引擎,Lethe,它使用了非常少量的额外的元数据,一组新的删除感知压缩策略,以及一个新的物理数据布局,编织排序和删除键顺序。我们表明,Lethe支持任何用户定义的删除持久性延迟阈值,提供更高的读取吞吐量($1.17-1.4\times$)和较低的空间放大($2.1-9.8\times$),适度增加写入放大($4\%$和$25\%$之间)。此外,Lethe通过丢弃整个数据页而不牺牲读取性能,也不使用昂贵的全树合并,支持在辅助删除键上进行有效的范围删除。
2020-06-13 cs.DB
O^3-LSM: Maximizing Disaggregated LSM Write Performance via Three-Layer Offloading
Arizona State University(亚利桑那州立大学);Purdue University(普渡大学);Google(谷歌)
O3-LSM通过三层卸载技术提升离散化LSM写性能,实现4.5倍写入速度和76%延迟降低。
2026-03-05 cs.DB
Aster: Enhancing LSM-structures for Scalable Graph Database
针对大规模演化图的密集更新与查询需求,研究提出含三项创新技术的Poly-LSM键值存储引擎,基于此构建支持Gremlin的Aster图数据库,实验证明其性能优于主流基线,在十亿级Twitter图上吞吐量最高提升17倍。
2025-01-11 cs.DB
Autumn: A Scalable Read Optimized LSM-tree based Key-Value Stores with Fast Point and Range Read Speed
Autumn 提出 Garnering 合并策略动态调整层级容量比,将 LSM-tree 键值存储的点读和范围读复杂度从 O(logN) 降至 O(√logN),同时保持更新性能,并在 LevelDB 上验证了真实负载下的性能提升。
2024-07-01 cs.DB cs.DS cs.IR
Columnar Formats for Schemaless LSM-based Document Stores
在过去的十年中,文档存储数据库系统在存储和查询大量半结构化数据方面获得了更多的关注。但是,文档存储的数据模型的灵活性限制了它们以列为主的布局存储数据的能力,使得它们在分析工作负载方面的性能不如列存储关系数据库。在本文中,我们提出了几种技术的基础上捎带日志结构化合并(LSM)树事件和定制的文档存储存储在一个列布局的文档数据。我们首先扩展了Dremel格式,一种流行的半结构化数据的磁盘列格式,以符合文档存储的灵活数据模型。然后,我们将介绍两种用于在基于LSM的存储中组织和存储数据的列式布局。我们还强调了在文档存储中使用查询编译技术的潜力,其中值的类型只在运行时才知道。我们已经实现并评估了我们的技术,以衡量其对Apache AsterixDB中的存储,数据摄取和查询性能的影响。我们的实验显示了显着的性能增益,提高查询执行时间的数量级,同时最小限度地影响摄取性能。
2021-11-22 cs.DB
From WiscKey to Bourbon: A Learned Index for Log-Structured Merge Trees
University of Wisconsin – Madison(威斯康星大学麦迪逊分校);Microsoft Gray Systems Lab(微软格雷系统实验室)
我们介绍BOURBON,这是一种利用机器学习来提供快速查找的日志结构合并(LSM)树。我们的设计和实施的BOURBON的基础上,我们通过仔细分析LSM设计的原理,我们得出的。BOURBON使用贪婪分段线性回归来学习密钥分布,从而实现以最小计算量快速查找,并应用成本效益策略来决定何时值得学习。通过对合成数据集和真实数据集的一系列实验,我们表明,与最先进的生产LSM相比,BOURBON将查找性能提高了1.23倍-1.78倍。
2020-10-30 cs.DB cs.LG
Enabling Efficient Updates in KV Storage via Hashing: Design and Performance Evaluation
持久性键值(KV)存储主要建立在日志结构化合并(LSM)树上,以获得高写入性能,但LSM树受到固有的高I/O放大的影响。KV分离通过仅将键存储在LSM树中并将值存储在单独的存储中来减轻I/O放大。然而,当前KV分离设计在更新密集型工作负载下仍然是低效的,这是由于其在值存储中的高垃圾回收(GC)开销。我们提出了HashKV,其目标是在更新密集型工作负载下在KV分离之上实现高更新性能。HashKV使用基于散列的数据分组,它确定性地将值映射到存储空间,以便使更新和GC都高效。我们进一步放宽限制,这种确定性映射通过简单但有用的设计扩展。我们广泛评估了HashKV的各个设计方面。我们表明,与当前的KV分离设计相比,HashKV实现了4.6倍的更新吞吐量和53.4%的写入流量。此外,我们证明了我们可以将HashKV的设计与最先进的KV商店相结合,并提高各自的性能。
2019-06-17 cs.DB
Bridging the Gap Between Theory and Practice on Insertion-Intensive Database
随着在线平台的普及,今天,用户正在以非常高的速度生成和访问数据。此外,诸如股票交易或高频交易之类的应用需要保证低延迟来对数据库执行操作。因此,设计数据库,保证数据插入和查询在一个一致的高速率,而不引入任何长时间的延迟插入期间。在本文中,我们提出了嵌套B树(NB树),索引,可以实现一致的高插入率在大量的数据,同时提供渐近最优的查询性能,是非常有效的实践。嵌套B树支持比LSM树更高的插入率,LSM树是插入密集型工作负载的最先进索引,同时避免了长插入延迟并提高了查询性能。当与Bloom过滤器补充时,它们接近B树的查询性能。在我们的实验中,NB树的最坏情况延迟比LevelDB、RocksDB和bLSM(常用的LSM树数据存储)小1000倍,执行查询的速度比LevelDB快4倍,比bLSM和RocksDB快1.5倍,同时在平均插入率方面也优于它们。
2020-03-02 cs.DB
An Adaptive Hotspot-Aware Index for Oscillating Write-Heavy and Read-Heavy Workloads
针对 HTAP 中读写负载振荡导致单一索引性能不稳的问题,提出双向自适应的 AHA-tree,聚焦热点区域优化,使写性能接近 LSM-tree、读性能可匹配 B+-tree。
2024-12-02 cs.DB
DobLIX: A Dual-Objective Learned Index for Log-Structured Merge Trees
Huawei(华为)
针对传统学习型索引忽略存储数据访问成本的问题,本文提出面向LSM树的双目标学习索引DobLIX,结合强化学习动态调参,在RocksDB中相比现有最优方法吞吐量提升1.19-2.21倍。
2025-09-02 cs.DB cs.LG math.OC
CompassDB: Pioneering High-Performance Key-Value Store with Perfect Hash
针对LSM-tree在SSD下CPU瓶颈与高读写放大问题,提出基于双层完美哈希表(TPH)的CompassDB,将索引查找降至O(1),显著提升吞吐量并降低延迟。
2024-06-26 cs.DB
Toward a Better Understanding and Evaluation of Tree Structures on Flash SSDs
固态驱动器(SSD)广泛用于部署持久性数据存储,因为它们提供低延迟随机访问、高写入吞吐量、高数据密度和低成本。基于树的数据结构被广泛用于构建持久数据存储,实际上,它们是当今生产和研究中使用的许多数据管理系统的骨干。在本文中,我们表明,基准测试的持久树为基础的数据结构的SSD是一个复杂的过程,这可能很容易招致微妙的陷阱,可能会导致不准确的性能评估。在高层次上,这些陷阱源于在复杂硬件上运行的复杂软件的交互。一方面,树结构实现了对性能有重要影响的内部操作。另一方面,SSD采用固件逻辑来处理底层闪存的特性,众所周知,这些特性会导致复杂的性能动态。我们使用RocksDB和WiredTiger(LSM树和B+树的两种广泛实现)确定了七个基准测试陷阱。我们发现,这样的陷阱可能会导致关键性能指标的不正确测量,阻碍了结果的可重复性和代表性,并导致在生产环境中的次优部署。我们还提供了如何避免这些陷阱,以获得更可靠的性能测量,并在不同的设计点之间进行更彻底和公平的比较的指导方针。
2020-06-08 cs.DB cs.PF
Robust and Scalable Content-and-Structure Indexing (Extended Version)
半结构化层次数据上的频繁查询是内容和结构(CAS)查询,其基于数据项在层次结构中的位置及其对于某些属性的值来过滤数据项。我们提出了鲁棒和可扩展的内容和结构(RSCAS)索引,以有效地回答大半结构化数据的CAS查询。为了得到一个索引,是强大的对不同的选择性查询,我们引入了一种新的动态交织,合并的路径和复合键的值尺寸在一个平衡的方式。我们在基于trie-based的RSCAS索引中存储交错的键,这有效地支持广泛的CAS查询,包括带有通配符和后代轴的查询。我们将RSCAS实现为日志结构合并(LSM)树,以扩展到具有高插入率的数据密集型应用程序。我们说明RSCAS的鲁棒性和可扩展性的索引数据从软件遗产(SWH)的存档,这是世界上最大的,公开的源代码存档。
2022-09-12 cs.DB
Tidehunter: Large-Value Storage With Minimal Data Relocation
Mysten Labs;UCL(伦敦大学学院)
Tidehunter通过将WAL视为永久存储,消除值合并,实现高吞吐量的大值存储,提升查询性能。
2026-02-03 cs.DB
Learning Key-Value Store Design
Harvard University(哈佛大学)
我们引入了设计连续体的概念,用于键值存储的数据布局。设计连续体将主要不同的数据结构设计统一在同一模型下。关键的洞察力和潜在的长期影响是,这种统一模型1)使我们迄今为止认为根本不同的数据结构被视为完全相同的整体设计空间的视图,以及2)允许看到具有现有设计不可行的性能属性的新数据结构设计。设计连续体构建背后的核心直觉是,所有数据结构都源于同一组基本设计原则,即,一小部分数据布局设计概念,我们可以从中综合现有文献中的任何设计以及新的设计。我们展示了如何构建,评估和扩展,设计连续体,我们还提出了统一主要数据结构设计的第一个连续体,即,B+树、B-Tree树、LSM树和LSH表。设计连续体的实际好处是它为数据结构的设计创建了一个快速的推理引擎。例如,我们可以几乎立即预测数据系统底层存储中的特定设计更改将如何影响性能,或者在给定工作负载特性和内存预算的情况下,(从给定的一组设计中)确定什么是最佳数据结构。反过来,这些属性使我们能够设想一种新的自设计键值存储,其具有显著改进的能力,通过在完全不同的数据结构设计之间转换以随意地假定不同的性能属性集合来适应工作负载和硬件变化。
2019-07-11 cs.DB cs.LG