【算法】LSM-tree 基本原理及应用

415 篇文章 485 订阅 ¥19.90 ¥99.00
205 篇文章 9 订阅 ¥9.90 ¥99.00
156 篇文章 452 订阅 ¥39.90 ¥99.00
LSM-tree是一种常见的NoSQL系统存储方案,因其高效的写入速度而广泛应用。通过日志结构和多层合并,LSM-tree在磁盘上实现了顺序写,减少了写入的I/O成本。在查询时,数据从内存中的C0层逐层检索到磁盘的Ck层。虽然查询可能较慢,但适用于写密集型场景。LevelDB作为LSM-tree的实现,使用memtable和SSTable进行数据管理和合并,通过限制各层文件大小来控制合并频率,降低读写放大问题。
摘要由CSDN通过智能技术生成

本文为博主九师兄(QQ:541711153 欢迎来探讨技术)原创文章,未经允许博主不允许转载。
在这里插入图片描述

1.概述

LSM-tree 在 NoSQL 系统里非常常见,基本已经成为必选方案了。今天介绍一下 LSM-tree 的主要思想,再举一个 LevelDB 的例子。

LSM-tree

起源于 1996 年的一篇论文《The Log-Structured Merge-Tree (LSM-Tree)》,这篇论文 32 页,我一直没读,对 LSM 的学习基本都来自顶会论文的背景知识以及开源系统文档。今天的内容和图片主要来源于 FAST’16 的《WiscKey: Separating Keys from Values in SSD-conscious Storage》。

先看名字,log-structured,日志结构的,日志是软件系统打出来的,就跟人写日记一样,一页一页往下写,而且系统写日志不会写错,所以不需要更改,只需要在后边追加就好了。各种数据库的写前日志也是追加型的,因此日志结构的基本就指代追加。注意他还是个 “Merge-tree”,也就是“合并-树”

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

九师兄

你的鼓励是我做大写作的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值