- Log-Structured Merge-tree üzerine inşa edilmiş bir gömülü depolama motoru
- Mevcut LSM-tree depolama motorlarından farklı olarak SlateDB, verileri nesne depolamaya (S3, GCS, ABS, MinIO, Tigris vb.) yazar
- Nesne depolamayı kullanarak sınırsız depolama kapasitesi, yüksek dayanıklılık ve kolay replikasyon sunar
- Ancak nesne depolamanın dezavantajı, yerel diske kıyasla daha yüksek gecikme ve API maliyetleri yaratmasıdır
SlateDB'nin dezavantajlardan kaçınma stratejisi
- Yazmaları toplu işleyerek yüksek yazma API maliyetini (PUT) azaltır
- Her
put() çağrısını nesne depolamaya yazmak yerine, MemTable'ı periyodik olarak sıralanmış dize tablosu (SST) olarak nesne depolamaya flush eder
- Flush aralığı yapılandırılabilir
- Yazma gecikmesini azaltmak için asenkron
put metodu sunar
- Güçlü dayanıklılığı tercih eden istemciler, MemTable nesne depolamaya flush edilene kadar
put içinde await edebilir (gecikme ve dayanıklılık arasında bir ödünleşim)
- Düşük gecikmeyi tercih eden istemciler,
put tarafından döndürülen future'ı yok sayabilir
- Okuma gecikmesini ve okuma API maliyetini (GET) azaltmak için standart LSM-tree önbellekleme tekniklerini kullanır
- Bellek içi blok önbelleği, sıkıştırma, Bloom filtreleri, yerel SST disk önbelleği
Henüz yorum yok.