Edis: Schnell persistierendes Drop-in Replacement für Redis
Kommentare

Wenn sich im Nachhinein herausstellt, dass man sich für die verkehrte Datenbank entschieden hat, dann ist der Ärger groß. Oft muss man dann große Teile der Logik neu schreiben, weil die Ersatz-Datenbank

Wenn sich im Nachhinein herausstellt, dass man sich für die verkehrte Datenbank entschieden hat, dann ist der Ärger groß. Oft muss man dann große Teile der Logik neu schreiben, weil die Ersatz-Datenbank komplett anders angesteuert wird. Besonders Redis ist hier ein Spezialfall, kommt doch die NoSQL-Datenbank mit einer eigenen Syntax daher. Und zu allem Übel gehört sie mit ihrem In-Memory-Fokus zu einem der heißesten Eisen seiner Klasse: Zwar profitiert sie damit voll von den kurzen Latenzen des RAMs, doch gehen im Falle eines Stromausfalls oder anderen Fehlern mehrere Minuten, wenn nicht Stunden an Daten verloren.

Wer also hier einen Plan B braucht, um seine Daten unverzüglich in die Sicherheit eines Massenspeichers zu bringen, dem könnte Edis gefallen: Der Erlang-basierte Server-Ersatz befindet sich erst in Version 1.0.0, die dahinter stehende App-Schmiede Inaka hat aber großes mit dem Apache-2.0-lizenzierten Tool vor. Noch dient Edis nur als Wrapper von Redis-Anfragen für Googles LevelDB, dafür aber in Form eines Drop-in Replacements. Es sei hier allerdings angemerkt, dass noch nicht alle Features übertragen wurden, wie sich dem Vergleich auf der Edis-Website entnehmen lässt.

Seinen Einsatz findet Edis also, wenn sich in Eurem Projekt der Anspruch an das CAP-Theorem von der Konsistenz entfernt und dafür in Richtung Verfügbarkeit und Partitionstoleranz verschiebt. Denn anders als Redis soll der Erlang-Klon einen anderen Ansatz für das Multi-Master-Management und High Availibility liefern, wie einer der Autoren in der Diskussion auf Hacker News erklärt. Der Fokus liegt hierbei darauf, dass möglichst viele Clients gleichzeitig Lese- und Schreibzugriffe machen können, und weniger darauf, ob die daraus resultierenden Daten für alle Beteiligten konsistent sind. Um hier den Performance- Malus durch die Verwendung von Massenspeicher anstelle von RAM wieder wett zu machen, soll bald eine Clustering-Logik in Edis implementiert werden, die sich ohne Euer Zutun um die horizontale Skalierung der Datenstruktur kümmert. Mehr Infos und einen Download-Link findet Ihr auf der Projekt-Homepage. Den Erlang-Code findet Ihr auf GitHub.

Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -