Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix typo #5

Merged
merged 1 commit into from
May 28, 2021
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions doc/Compaction.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ LSM树是一系列的层。每一层都是一个排序结果,可以被按照

原始LSM论文中的压缩算法使用 all-to-all的——所有Ln-1的数据会跟所有Ln层的数据合并。LevelDB和RocksDB的则是some-to-some的——Ln-1的部分数据和并进Ln层的部分数据(有覆盖的部分)

尽管leveled的写放大通常比tiered要大,但是在某些场景,leveled是有优势的。首先是按key顺序插入,一个RocksDB的优化大大减少这种场景的写放大。另一个是有倾向性的写操作,导致只有一小块的key会被更新。把RocksDB的压缩优先级设置为正确的树值,压缩过程应该在层数最小的,拥有足够空间存储写操作的层停止——他不会一致写到最大层。当leveled压缩是some-to-some模式,那么压缩只会对LSM树的一个写操作覆盖了的分片进行处理,这样可以让写放大比all-to-all模式小很多。
尽管leveled的写放大通常比tiered要大,但是在某些场景,leveled是有优势的。首先是按key顺序插入,一个RocksDB的优化大大减少这种场景的写放大。另一个是有倾向性的写操作,导致只有一小块的key会被更新。把RocksDB的压缩优先级设置为正确的数值,压缩过程应该在层数最小的,拥有足够空间存储写操作的层停止——他不会一致写到最大层。当leveled压缩是some-to-some模式,那么压缩只会对LSM树的一个写操作覆盖了的分片进行处理,这样可以让写放大比all-to-all模式小很多。

## Leveled-N

Expand All @@ -42,7 +42,7 @@ Leveled-N跟Leveled压缩算法很像,但是会有更小的写放大,更多

Tiered压缩通过增加读放大和空间放大,来最小化写放大。

LSM树仍旧可以看成是Niv Dayan和Stratos Idreos论文中讲到的一系列的层。么一层有N个排序结果。每个Ln层的排序结果都比上一层的排序结果大n倍。压缩合并同一层的所有排序结果来构造一个下一层的新的排序结果。这里的N与leveled压缩的扇出类似。合并到下一层的时候,压缩不会读/重写已经排序好的Ln层的结果。每层的写放大是1,远小于Leveled的扇出。
LSM树仍旧可以看成是Niv Dayan和Stratos Idreos论文中讲到的一系列的层。每一层有N个排序结果。每个Ln层的排序结果都比上一层的排序结果大n倍。压缩合并同一层的所有排序结果来构造一个下一层的新的排序结果。这里的N与leveled压缩的扇出类似。合并到下一层的时候,压缩不会读/重写已经排序好的Ln层的结果。每层的写放大是1,远小于Leveled的扇出。

一个比较接近Tiered的实现是合并相似大小的排序结果,不必关心层的概念(这个概念会引入一个特定大小的排序结果的目标数字)。大多数(实现)包含一些主压缩的概念,也就是包含最大的排序结果,然后还有一些条件用来触发主,和非主压缩。通常的情况是会导致大量的文件以及自己。

Expand Down