In-Memory-Datenbank 08.10.2019, 10:50 Uhr

Redis: Fünfmal schneller dank Multithreading

Laut aktuellen Benchmarks ist der Redis-Fork KeyDB bis zu fünfmal schneller als das Original.
(Quelle: keydb.dev)
Schon in der normalen Version gilt die In-Memory-Datenbank Redis (BSD-Lizenz) als sehr schnell. Laut DB-Engines.com ist Redis der verbreiteste Schlüssel-Wert-Speicher. Und wie macht man eine schnelle Lösung schneller? Ganz klar, man kauft schnellere Rechner oder baut die Lösung so um, dass sie mehrere Threads parallel bearbeiten kann. Letzteres haben die Entwickler der Open-Source-Datenbank KeyDB getan, einem Fork von Redis.
KeyDB hat eine andere Philosophie als Redis, wie sich die Codebasis weiterentwickeln sollte: Die Macher von KeyDB sind der Meinung, dass Benutzerfreundlichkeit, hohe Leistung und ein "batteries included"-Ansatz der beste Weg sind, um ein gutes Benutzererlebnis zu schaffen. Zwar äußern sie großen Respekt vor den Redis-Maintainern, zugleich vertreten sie aber die Meinung, dass der Redis-Ansatz zu sehr auf die Einfachheit der Codebasis ausgerichtet ist und dies zu unangemessener Komplexität für die Benutzer führt. Dieser muss zur Lösung häufiger Probleme externe Komponenten und Workarounds heranziehen.
Aufgrund dieser Differnzen werden sich die beiden zunehmend auseinander entwickeln. Änderungen, die der Philsophie von KeyDB entsprechen, sind für Redis möglicherweise nicht geeignet. Dennoch soll sich KeyDB eng angelehnt an Redis weiterentwickeln, zugleich aber Funktionen implementieren, die vielleicht nie ein Teil von Redis werden.
KeyDB wurde im März dieses Jahres gestartet. Trotz der bisherigen Leistungssteigerungen erwarten die Entwickler, dass KeyDB noch schneller werden kann. Die jüngsten Benchmarking-Daten besagen, dass eine einzelne Instanz von KeyDB etwas mehr als fünfmal mehr Ops/Sekunde schafft als eine einzelne Instanz von Redis (v5) und fast fünfmal niedrigere Latenzzeiten.
Mehr zu KeyDB lesen Sie auf GitHub, der Homepage von KeyDB sowie in diesem Blogbeitrag.


Das könnte Sie auch interessieren