murrdb/murr - ML/yapay zeka iş yükleri için alt milisaniyelik önbellek
(github.com/murrdb)- Redis'in yerini alabilecek, yapay zeka çıkarım iş yüklerini hedefleyen RocksDB tabanlı NVMe/S3 önbelleği
- Toplu işleme tarzı düşük gecikmeli sıfır kopya okuma ve yazma için optimize edilmiştir
- Toplu veri hattı ile çıkarım uygulamaları arasında konumlanan veri sunum katmanı; Parquet girdi, Arrow-Flight çıktı
- Sıcak veriyi bellekte, soğuk veriyi diskte tutan ve S3 tabanlı çoğaltma uygulayan katmanlı depolama (tiered storage)
- Toplu girdi·toplu çıktı yaklaşımıyla sütun bazlı depolama üzerinde satır düzeyi ek yük olmadan çalışır; 1GB Parquet/Arrow dosyaları doğrudan Ingestion API'ye verilebilir
- Sıfır kopya wire protocol sayesinde API yanıtlarından
np.ndarray/pd.DataFrame/pt.Tensordönüşüm olmadan oluşturulabilir - Durumsuz (stateless) tasarım; tüm durumu S3'te saklar, blok depolamadan kendini bootstrap ettiği için düğüm çıkarıldığında da kurtarılabilir
- Birinci sınıf Python desteği ile Numpy/Pandas/Polars/Pytorch dizileriyle sıfır kopya eşleme; Sparse columns ise veri içermeyen sütunlarda 0 bayt yer kaplar
- Murr'un uygun olduğu durumlar
- Verinin ağır ve tablo biçimli olduğu senaryolar; örneğin S3 üzerindeki büyük Parquet dökümleri
- Okumaların toplu yapıldığı durumlar: 1000 belge boyunca 100 sütun getirme gibi işler
- Maliyetin önemli olduğu durumlarda, disk/S3 offloading, büyük bellekli Redis'e göre operasyonel olarak daha basit ve daha ucuzdur
- Rakip teknolojilere göre güçlü yanları
- Redis karşısında: S3 tabanlı kalıcılık sunar, soğuk veriyi yerel NVMe'ye offload edebilir
- Gömülü RocksDB karşısında: üretici ile çıkarım düğümleri arasında veri senkronizasyonunu elle kurmak gerekmez, baştan dağıtık tasarlanmıştır
- DynamoDB karşısında: sorgu başına değil yalnızca CPU/RAM için ücretlendirilir, bu da yaklaşık 10 kat daha ucuz olmasını sağlar
- Benchmark'larda packed-blob okumada Redis'e göre yaklaşık 3 kat, Feast tarzı HSET'te yaklaşık 12 kat daha hızlıdır ve HSET'e kıyasla yaklaşık 3 kat daha az RAM kullanır
- Genel amaçlı bir veritabanı değildir; bu yüzden OLTP için Postgres, analiz için Clickhouse/BigQuery/Snowflake, genel amaçlı önbellekleme için Redis önerilir
- Apache 2.0 lisansı
Henüz yorum yok.