【エルエスエムツリー】
LSMツリー とは?
💡 「まとめて書く」で書き込みを爆速にする、ログ型データ構造の革命。
📌 このページのポイント
どうやって書き込みを速くしてるの?
まずデータをメモリ上のMemTableに書くんだよ。メモリは超速いから瞬時に完了する。MemTableが一定サイズになったらSSTable(Sorted String Table)というファイルにまとめてディスクへ書き出すんだ。
まとめて書くと何がいいの?
SSTableがどんどん増えたら読み込みが遅くならないの?
どんなデータベースで使われてるの?
RocksDB、LevelDB、Cassandra、HBaseなどが採用しているよ。特にRocksDBはFacebookが開発して、今では多くのDBの内部ストレージエンジンとして使われているんだ。
まとめ:ざっくりこれだけ覚えればOK!
「LSMツリー」って出てきたら「書き込みを速くするために『まず書き溜め、後でまとめる』構造」と思えればだいたいOK!
📖 おまけ:英語の意味
「Log-Structured Merge-Tree」 = ログ構造マージツリー
💬 Log-Structured(ログ形式の書き込み)+Merge(マージ)+Tree(ツリー構造)の組み合わせだよ。1996年に論文で提唱されたデータ構造なんだ。