Dragonfly – die moderne Alternative zu Redis und Memcached
(github.com/dragonflydb)- Ein In-Memory-Store, der bei der SET/GET-Performance 25-mal schneller als Redis ist. Auch die Speichereffizienz ist hervorragend
- Unterstützt rund 130 Redis-Befehle und nahezu alle Memcache-Befehle (außer
cas) - Verwendet für I/O die
io-uring-API von Linux. (Erfordert Linux 5.10 oder höher, Ubuntu 20.04.4~) - Bietet Binärdateien für x86/arm64
6 Kommentare
Oho … Als ich Redis früher zum ersten Mal benutzt habe, dachte ich auch: unglaublich! Aber 25-mal schneller …
Wenn ich so etwas sehe, macht mich das irgendwie etwas nervös.
Redis und Memcached laufen kaum 25-mal langsamer, weil ihre Entwickler etwas nicht verstanden hätten.
Die Frage ist eher, wo der Trade-off herkommt, der nötig ist, um 25-mal schneller zu sein.
Da hier Funktionen verwendet wurden, die nur von aktuellen Linux-Kernels unterstützt werden, kann man wohl sagen, dass man als Preis dafür den Bereich der installierbaren Systeme aufgegeben hat. Auf Linux-Systemen ohne aktuellen Kernel wird es schließlich nicht laufen. In einer Cloud-Umgebung, in der sich jedoch schnell Instanzen mit einer aktuellen Linux-Version starten lassen, halte ich das für einen durchaus vertretbaren Trade-off.
Das scheinen die Vorteile zu sein, die durch den Einsatz von
io_uring, einem nur für Linux verfügbaren asynchronen I/O, entstehen.Es scheint auch ein Issue dazu zu geben,
io_uringauf Redis anzuwenden, aber offenbar gibt es bisher noch keinen entsprechenden Versuch.https://github.com/redis/redis/issues/9441
Vielen Dank.
Der Entwickler beantwortet auf HN gerade Fragen.
https://news.ycombinator.com/item?id=31560547