Project Voldemort

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen
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/

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]

Vorteile[Bearbeiten | Quelltext 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 | Quelltext 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 | Quelltext 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 | Quelltext bearbeiten]

Einzelnachweise[Bearbeiten | Quelltext 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.

Weblinks[Bearbeiten | Quelltext bearbeiten]