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]

Project Voldemort
Basisdaten

Entwickler LinkedIn
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/

VorteileBearbeiten

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.

NachteileBearbeiten

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

EigenschaftenBearbeiten

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 auchBearbeiten

EinzelnachweiseBearbeiten

  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.  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 Abgerufen am 5. April 2011.
  3. a b Comparison to relational databases. Project Voldemort - A distributed database. Archiviert vom Original am 23. 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 Abgerufen am 5. April 2011.

WeblinksBearbeiten