TurboKV: Blitzschneller eingebetteter Key-Value-Store in Rust
TurboKV: Insanely fast Rust key-value store
TurboKV ist ein asynchroner, eingebetteter Key-Value-Store in Rust, der atomare Batches, geordnete Bereichsabfragen, konfigurierbare Haltbarkeit, Kompression und Hintergrund-Kompaktierung bietet. In Benchmarks übertrifft er fjall um das bis zu 4,4-fache beim sequentiellen Batch-Schreiben im Durable-Modus. Die API umfasst einfache Operationen wie insert, get und write_batch sowie Streaming-Iteratoren. Verfügbar als Crate mit Apache-2.0-Lizenz.
TurboKV ist eine asynchrone eingebettete Key-Value-Datenbank mit atomaren Batches, geordneten Bereichsscans, konfigurierbarer Haltbarkeit, Kompression und Hintergrund-Kompaktierung.
- dangoodmanUT
> DbOptions::durable()
> An den WAL angehängt ohne einen Sync pro Schreibvorgang
Also... ist es nicht dauerhaft? Dauerhaft bedeutet nicht "überlebt einen Prozessneustart", sondern "dauerhaft auf persistentem Speicher gespeichert". Zum Beispiel würde dieser "durable"-Modus einen Stromausfall nicht überleben.
- medv
Jeder Programmierer erstellt irgendwann seine eigene Datenbank: https://github.com/antonmedv/medb
- nine_k
Ich vermute, die wahnsinnige Geschwindigkeit ist auf Folgendes zurückzuführen:
> TurboKVs persistiertes Bloom-Filter-Format verwendet Hardware-AES.
Außerdem eingebaute LZ4-Kompression.
Ich würde erwarten, dass SIMD für Scans verwendet wird.
- Tepix
Ist ein atomarer Get+Delete-Vorgang geplant?
- boguscoder
Eingebettet könnte auch no_std bedeuten, was dies absolut nicht ist. Trotzdem cool.