SlateDB - Nesne depolama tabanlı gömülü depolama motoru
(github.com/slatedb)- 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
- Her
- Yazma gecikmesini azaltmak için asenkron
putmetodu sunar- Güçlü dayanıklılığı tercih eden istemciler, MemTable nesne depolamaya flush edilene kadar
putiçindeawaitedebilir (gecikme ve dayanıklılık arasında bir ödünleşim) - Düşük gecikmeyi tercih eden istemciler,
puttarafından döndürülen future'ı yok sayabilir
- Güçlü dayanıklılığı tercih eden istemciler, MemTable nesne depolamaya flush edilene kadar
- 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.