# MongoDB MongoDB のストレージバックエンドである WiredTiger は BTree と LSM(Log-Structured Merge)ツリーの2種類のデータ構造を選択できる。[[@2025__SoCC__Valet - Efficient Data Placement on Modern SSDs]] は BTree が in-place 更新を要求するため valet-mapper と非互換である一方、LSM モードには Valet を変更なしで適用できることを示した。WiredTiger は log ストリームと sst(SSTable)ストリームの2種類の書き込みを行うが、log の書き込みには `mmap()` が使われるため in-place かつ順序保証のない更新が必要になり、これは valet-mapper の非対応部分としてランダム書き込み領域(LOCK ファイルと同様の扱い)で処理される。評価(wt-perf の medium サイズ LSM ツリーテスト)では、Valet は f2fs に対してマルチスレッド読み取りで4倍超、書き込み主体ワークロードで3倍のスループットを示した。(Source: [[@2025__SoCC__Valet - Efficient Data Placement on Modern SSDs]]) ## 関連 - ソース: [[@2025__SoCC__Valet - Efficient Data Placement on Modern SSDs]] - エンティティ: [[Valet]] / [[f2fs]] - 概念: [[LSMツリー]]