LSM

LSM-Tree는 쓰기를 먼저 모으고 나중에 정리한다

쓰기 요청은 메모리에 먼저 쌓고, 정렬된 파일을 단계별로 병합해 쓰기 처리량을 높인다.

01 write

MemTable

쓰기 요청을 메모리 정렬 구조에 누적

02 flush

SSTable L0

가득 차면 immutable 파일로 기록

03 levels

L1 / L2

여러 파일을 레벨별로 정렬 유지

04 compact

Compaction

중복 키와 삭제 표시를 정리하며 병합

장점: 순차 쓰기 중심이라 write-heavy 워크로드에 강하다.

대가: 읽기 증폭과 compaction 부하를 관리해야 한다.