3.4. Depolama Motorları ve Veri Yapıları
Her veritabanının altında, baytların diske nasıl ulaşacağına karar veren bir depolama motoru vardır ve bu karar, veritabanının hangi iş yükünde iyi olduğunu sabitler. Merkezi ödünleşim LSM-tree ile B-tree arasındadır: biri yazmaları sıralı hale getirerek optimize eder ve bedelini okuma zamanında öder, diğeri okumaları optimize eder ve bedelini yazma zamanında öder. Bu bölüm, her ikisini de, onları pratik kılan veri yapılarını (SSTable’lar, memtable’lar, Bloom filtreleri), dayanıklılığı garanti eden write-ahead log’u ve analitik için tüm modeli tersine çeviren kolonsal düzenleri kapsar.
İncelenen Konular
Section titled “İncelenen Konular”- 3.4.1. LSM-Tree ve B-Tree: Yazma ve Okuma Performansı Dengesi: Yazma-optimize LSM-tree’yi okuma-optimize B-tree ile ve her birinin ödediği amplifikasyonla karşılaştırır.
- 3.4.2. SSTable’lar, Memtable ve Compaction Stratejileri: LSM yazma yolunu memtable üzerinden değişmez SSTable’lara ve onları yöneten compaction stratejilerine kadar kapsar.
- 3.4.3. Bloom Filtreleri: Disk Okumalarını Azaltmak: Kesinlikle bulunmayan anahtarlar için disk okumalarından kaçınan olasılıksal filtreyi açıklar.
- 3.4.4. Write-Ahead Log (WAL): Dayanıklılığın Temeli: Değişiklikleri uygulamadan önce kaydederek dayanıklılığı garanti eden write-ahead log’u kapsar.
- 3.4.5. Kolonsal Depolama: Analitik Sorgulardaki Avantajlar: Veriyi satır yerine sütun olarak saklamanın analitik sorgu performansını neden dönüştürdüğünü açıklar.