SlateDB - Mesin penyimpanan embedded berbasis object storage
(github.com/slatedb)- Mesin penyimpanan embedded yang dibangun dengan Log-Structured Merge-tree (LSM-tree)
- Tidak seperti mesin penyimpanan LSM-tree tradisional, SlateDB menulis data ke object storage (S3, GCS, ABS, MinIO, Tigris, dll.)
- Dengan memanfaatkan object storage, sistem ini menyediakan kapasitas penyimpanan tak terbatas, durabilitas tinggi, dan replikasi yang mudah
- Namun, kekurangannya adalah object storage memiliki latensi yang lebih tinggi dibanding disk lokal serta menimbulkan biaya API
Strategi SlateDB untuk menghindari kekurangan
- Memproses penulisan secara batch untuk mengurangi tingginya biaya API penulisan (PUT)
- Alih-alih menulis setiap panggilan
put()ke object storage, MemTable secara berkala di-flush ke object storage sebagai String Sorted Table (SST) - Interval flush dapat dikonfigurasi
- Alih-alih menulis setiap panggilan
- Menyediakan metode
putasinkron untuk juga mengurangi latensi penulisan- Klien yang mengutamakan durabilitas kuat dapat
awaitpadaputhingga MemTable di-flush ke object storage (kompromi antara latensi dan durabilitas) - Klien yang mengutamakan latensi rendah dapat mengabaikan future yang dikembalikan dari
put
- Klien yang mengutamakan durabilitas kuat dapat
- Menggunakan teknik caching LSM-tree standar untuk mengurangi latensi baca dan biaya API baca (GET)
- Cache blok dalam memori, kompresi, Bloom filter, cache disk SST lokal
Belum ada komentar.