RUM猜想

本文探讨了RUM猜想,即在存储结构中读取、更新和内存开销之间的权衡。B树优化读取操作,但增加了写入和空间开销;而LSM树则减少了写入开销,但牺牲了读取性能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

有一种流行的存储结构开销模型考虑了如下三个因素:读取(Read)、更新(Update)和内存(Memory)开销,它被称为RUM猜想。

*** RUM猜想指出,读取(Read)、更新(Update)和内存(Memory)开销减少其中两项开销将不可避免地导致第三项开销的恶化,并且优化只能以牺牲三个参数中的一个为代价。***

B树的RUM

我们可以根据这三个参数对不同的存储引擎进行比较,以了解它们针对哪些参数进行了优化,以及其中隐含着哪些可能的权衡。一个理想的解决方案是拥有最小的读取开销,同时保持较低的内存与写入开销。但在现实中,这是无法实现的,因此我们需要进行取舍。B树是针对读进行优化的。对B树的写入需要在磁盘上找到一个记录,而随后对同一页的写入可能需要多次更新该磁盘页面。还要为将来的更新和删除保留额外的空间,这会增加空间开销。

LSM 树的RUM

而LSM树则不需要在写入期间定位磁盘上的记录,也不用为以后的写入保留额外的空间。但由于存储冗余记录,所以仍然存在一些空间开销。在默认配置中,由于必须通过访问多个表才能返回完整的结果,所以读取的成本更高。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值