Kompaksiyon (compaction)
Bir LSM ağacında birkaç SSTable'ı daha az sayıda dosyada birleştiren, gölgede kalmış eski sürümleri atan ve tombstone'ları fiziksel olarak silen arka plan işlemi; okuma performansını ve disk kullanımını denetimde tutmak için kritik.
Neden gerekir: SSTable'lar değiştirilemez ve yalnızca eklemeyle büyüdüğünden, zamanla aynı anahtarın birkaç sürümünü içeren çok sayıda dosya birikir. Kompaksiyon bunları birlikte okur, en güncel değeri tutar, eskileri ve tombstone'ları atar ve daha az, daha temiz SSTable yazar. Stratejiler: seviyeli kompaksiyon (RocksDB; düşük alan/okuma amplifikasyonu, yüksek yazma amplifikasyonu), katmanlı/boyut katmanlı (Cassandra; tam tersi) ve evrensel. Bu denge, RUM dengesini (okuma/yazma/alan amplifikasyonu) doğrudan belirler. Kompaksiyon kaynak yoğundur (G/Ç + CPU) ve zamanlaması/denetimi merkezi bir ayar sorusudur; kötü kompaksiyon gecikme sıçramalarına yol açar. LSM veritabanlarının sağlıklı kalmasının kalbidir. SSTable ve yazma amplifikasyonu ile ilişkilidir.