# `GC` プロセス
+ **_1_** `compaction`が完了したら、破棄可能なサイズを更新して`GC`のスコアを計算する
+ **_2_** 最大スコアから最小スコアまでの複数の`BLOB`ファイルを候補ファイルとして選択
+ **_3_** 候補ファイルから各 `BLOB` ファイルをサンプリングし、破棄可能なデータの量が**`DISCARD_RATIO`** (設定可能) を超えない場合は、候補ファイルから削除する
+ **_4_** 候補の `BLOB` ファイル内のすべての`KV`ペアを反復処理し、すべてのアクティブな値をマージして新しい`BLOB`ファイルにソートする
+ **_5_** `MANIFEST` ログに新しい `BLOB` ファイルを追加した新しいレコードを書き込む
+ **_6_** すべての有効な `key-index` ペアを `LSM-Tree` に書き換えます
+ **_7_** 古い `BLOB` ファイルを削除した新しいレコードを `MANIFEST` ログに書き込む

----------------------------------------------------------------

