murrdb/murr - Sub-Millisekunden-Cache für ML/AI-Workloads
(github.com/murrdb)- Ein RocksDB-basierter NVMe/S3-Cache für AI-Inferenz-Workloads, der Redis ersetzen kann
- Optimiert für Low-Latency Zero-Copy-Lese- und Schreibvorgänge im Batch-Verarbeitungsmodell
- Eine Data-Serving-Schicht zwischen Batch-Datenpipelines und Inferenz-Apps mit Parquet-Eingabe und Arrow-Flight-Ausgabe
- Tiered Storage mit Hot Data im Speicher, Cold Data auf Datenträgern und S3-basierter Replikation
- Arbeitet mit Batch-Input/Batch-Output auf spaltenorientiertem Speicher ohne zeilenweisen Overhead; 1-GB-Parquet-/Arrow-Dateien können unverändert in die Ingestion API eingespeist werden
- Mit einem Zero-Copy-Wire-Protocol lassen sich in API-Antworten
np.ndarray/pd.DataFrame/pt.Tensorohne Konvertierung aufbauen - Statelesses Design, das den gesamten Zustand in S3 speichert und sich von Block Storage selbst bootstrapped, wodurch Wiederherstellung auch bei Node-Eviction möglich ist
- First-Class-Python-Unterstützung mit Zero-Copy-Mapping für Numpy-/Pandas-/Polars-/Pytorch-Arrays; Sparse columns belegen bei fehlenden Daten 0 Byte
- Wann Murr geeignet ist
- Wenn die Daten groß und tabellarisch sind, z. B. große Parquet-Dumps auf S3
- Wenn Lesezugriffe in Batches erfolgen: etwa beim Abrufen von 100 Spalten über 1000 Dokumente hinweg
- In kostensensitiven Szenarien ist Disk-/S3-Offloading betriebsseitig oft einfacher und günstiger als speicherintensives Redis
- Stärken gegenüber konkurrierenden Technologien
- Gegenüber Redis: S3-basierte Persistenz und Offloading von Cold Data auf lokales NVMe
- Gegenüber eingebettetem RocksDB: Keine Notwendigkeit, die Datensynchronisation zwischen Producer- und Inferenz-Nodes selbst aufzubauen; von Anfang an verteilt konzipiert
- Gegenüber DynamoDB: Abrechnung nur nach CPU/RAM statt pro Query, dadurch etwa 10-mal günstiger
- Laut Benchmarks beim Lesen von Packed Blobs etwa 3-mal schneller als Redis und bei Feast-artigem HSET etwa 12-mal schneller; dabei rund 3-mal geringerer RAM-Verbrauch als HSET
- Da es keine allgemeine Datenbank ist, werden für OLTP Postgres, für Analytics Clickhouse/BigQuery/Snowflake und für allgemeines Caching Redis empfohlen
- Apache-2.0-Lizenz
Noch keine Kommentare.