Project Voldemort
Voldemort ist ein verteiltes Datenbankmanagementsystem, welches als persistente und fehlertolerante Schlüssel-Werte-Datenbank (Key Value Store) ausgerichtet ist und von LinkedIn als Hoch-Skalierbarkeits-Speicher eingesetzt wird.[2] Der Name wurde dem schurkischen Lord Voldemort aus der Romanreihe Harry Potter entlehnt. Voldemorts Entwicklung ist noch nicht abgeschlossen.[3] Der Erfinder von Voldemort und Hauptbeitragszahler des Unternehmens, LinkedIn, hat etwa im August 2018 alle seine Systeme von Voldemort migriert, und im Oktober 2018 gab es noch keinen Ersatzsponsor.[4]
Project Voldemort | |
---|---|
Basisdaten
| |
Entwickler | |
Erscheinungsjahr | 2009 |
Aktuelle Version | 1.10.25[1] (27. Juli 2017) |
Betriebssystem | Cross-platform |
Programmiersprache | Java |
Kategorie | Schlüssel-Werte-Datenbank |
Lizenz | Apache-Lizenz 2 |
http://www.project-voldemort.com/ |
Vorteile
BearbeitenVoldemort bietet eine Anzahl von Vorteilen gegenüber anderen Datenbanken:[3]
- Sie kombiniert einen In-Memory-Cache mit dem Speichersystem, so dass ein separater Cache überflüssig ist. Das Speichersystem selbst ist entsprechend schnell.
- Es ist möglich, die Speicherschicht zu emulieren. Das wiederum gestaltet die Entwicklung und das Testen von Komponenten sehr einfach, da gegen ein Wegwerf-In-Memory-System entwickelt und getestet werden kann. Es ist nicht notwendig einen echten Cluster oder echtes Speichersystem aufzusetzen.
- Lesen und Schreiben skaliert horizontal.
- Einfache Programmierschnittstelle: Die Programmierschnittstelle entscheidet über Daten-Replikation und Daten-Verteilung und bietet Platz für eine Vielzahl von anwendungsspezifischen Strategien.
- Eine transparente Daten-Partitionierung gestattet die Cluster-Erweiterung ohne die Neuverteilung der gesamten Daten.
Nachteile
BearbeitenVoldemort bietet eine Anzahl von Nachteilen gegenüber anderen Datenbanken:
- Beziehungen zwischen den Daten sind nicht abbildbar
- Es existiert keine Abfragesprache, daher müssen Keys bekannt sein, um einen Value zu ermitteln
- Es gibt keine Transaktionen und damit auch keine ACID-Eigenschaften
- Das Projekt befindet sich noch in einer frühen Entwicklungsphase, der Einsatz in produktiven Systemen sollte daher gut abgewägt werden
Eigenschaften
BearbeitenDie verteilte Datenbank Voldemort besitzt folgende Eigenschaften:[2]
- Daten-Verteilung: Es gibt eine Unterstützung plugbarer Daten-Verteilung-Strategien, um beispielsweise eine Aufteilung über weit entfernte Rechenzentren zu ermöglichen.
- Daten-Replikation: Die Daten werden automatisch auf eine Vielzahl von Servern repliziert.
- Daten-Partitionierung: Die Daten werden automatisch partitioniert, so dass der Server nur jeweils eine Teilmenge der gesamten Daten beinhaltet.
- Gute Einfach-Knotenpunkt-Performanz: 10k-20k-Vorgänge pro Sekunde können ausgeführt werden, je nach Rechner, Netzwerk, Disk-System und Daten-Replikations-Faktor.
- Eigenständige Knotenpunkte: Jeder Knotenpunkt ist unabhängig von anderen Knotenpunkten, ohne dass eine zentrale Koordination notwendig ist. Es gibt keinen Single Point of Failure.
- Plugbare Serialisierung: Sie ermöglicht sowohl strukturierte Schlüssel und Werte einschließlich Listen und Tupel mit Namensfeldern als auch die Integration in allgemeine Serialisierungs-Frameworks. Beispiele für diese Frameworks sind Avro, Java-Serialisierung, Protokoll-Buffer und Thrift.
- Transparente Fehlfunktionen: Server-Fehlfunktionen werden transparent gehandhabt, so dass Benutzer derlei Probleme nicht bemerken.
- Versionierung: Die Daten sind versioniert, um die Datenintegrität im Falle einer Fehlfunktion zu maximieren, ohne die Verfügbarkeit des Systems einzuschränken.
Siehe auch
BearbeitenEinzelnachweise
Bearbeiten- ↑ Release 1.10.25. 27. Juli 2017 (abgerufen am 15. März 2018).
- ↑ a b Voldemort is a distributed key-value storage system. Project Voldemort - A distributed database, archiviert vom am 23. April 2011; abgerufen am 5. April 2011. Info: Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis.
- ↑ a b Comparison to relational databases. Project Voldemort - A distributed database, archiviert vom am 23. April 2011; abgerufen am 5. April 2011. Info: Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis.
- ↑ Is voldemort db obsolete ? Abgerufen am 1. August 2023.