Project Voldemort

verteiltes Datenbankmanagementsystem

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 LinkedIn
Erscheinungsjahr 2009
Aktuelle Version 1.10.25[1]
(27. Juli 2017)
Betriebssystem Cross-platform
Programmier­sprache Java
Kategorie Schlüssel-Werte-Datenbank
Lizenz Apache-Lizenz 2
http://www.project-voldemort.com/

Vorteile

Bearbeiten

Voldemort 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

Bearbeiten

Voldemort 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

Bearbeiten

Die 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

Bearbeiten

Einzelnachweise

Bearbeiten
  1. Release 1.10.25. 27. Juli 2017 (abgerufen am 15. März 2018).
  2. a b Voldemort is a distributed key-value storage system. Project Voldemort - A distributed database, archiviert vom Original 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.@1@2Vorlage:Webachiv/IABot/project-voldemort.com
  3. a b Comparison to relational databases. Project Voldemort - A distributed database, archiviert vom Original 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.@1@2Vorlage:Webachiv/IABot/project-voldemort.com
  4. Is voldemort db obsolete ? Abgerufen am 1. August 2023.
Bearbeiten