分布式块存储常见的几种索引结构

LSM

B+ Tree

Extent

LSM索引结构

示例

主要特点

写放大/空间放大分析

参考链接:
1. TRIAD: Creating Synergies Between Memory, Disk and Log in Log Structured Key-Value Stores https://zhuanlan.zhihu.com/p/369746297

主要思想:
主要思想是,在flush的时候,仅仅flush冷key,热key仍留在内存中。具体在flush时,选取tok-k热key,重新生成一份memtable作为以后的active memtable,并生成相应的commit log;将剩余的冷key flush到L0中。

此处还有一个优化,在commit log体积触及上限而造成的flush情况下,如果相应的memtable体积非常小,可以不进行flush,只针对此memtable中的数据生成相应的新commit log即可。

  1. 一种基于碎片化的FLMhttps://zhuanlan.zhihu.com/p/367496940

主要思想:

B+ Tree

示例

主要特点

写放大/空间放大分析

Extent

示例

主要特点

写放大/空间放大分析