VoltDB - NewSQL


VoltDB ist eine sehr schnelle InMemory Datenbank mit den Ziel Fast Data (Velocity)
so schnell wie möglich auszuwerten. VoltDB basiert dabei auf NewSQL.

Die Speicherpyramide visualisiert die verschiedenen Speicherarten. VoltDB befindet sich auf der dritten Ebene innerhalb des Arbeitspeichers. Je tiefer die Ebenen um so langsamer wird die Speicherperformance.

 

Die größte Unterscheidung liegt in der Spezifikation von VoltDB. VoltDB ist eine InMemory Datenbank und verwendet NewSQL. NewSQL profiert positiv von beiden  SQL und NoSQL Ansätzen.

Desweiteren bietet VOLT DB eine Shared Nothing Architektur wo jeder Knoten unabhängig voneiander innerhalb eines Clusters seine Arbeitsaufgaben durchführt.

Diese Architektur bringt folgende Features:

1.No Singlepoint of Failure

2. No Shared Memory

3. Each Node Independent

4. Scale Infininently

5. Data Partitioning (Sharding)


Volt DB ist besonders gut für Leistungsspitzen sog. FAST DATA.
FAST DATA Szenarien finden wir in  z.B. in Börsen wo schnell sehr große Datenmengen analysiert werden müssen. 

 


K-Saftety bietet durch das Sharding eine zusätzliche Ausfallsicherheit, so dass in dem unterem Beispiel ein gesamter Cluster ausfallen könnte ohne weitere Probleme zu verursachen. Dies löst  im weiteren Verlauf das Logging - Problem, welches einen wichtigen Flaschenhals in der Verarbeitung bei traditionellen Datenbanken ist.

 



NewSQL Definition:



NewSQL Eigenschaften:

NewSQL ist ein relatives frisch geschlüpftes Kücken auf und leidet derzeit immer noch unter der
Dominanz von SQL und NoSQL. Die Popularität wächst nur sehr langsam. 



NewSQL Ecosystem:

VoltDB Historie

 

Die erste Version 1.0 ist am Mai 2010 erschienen. Derzeitig ist die Version 7.5 von 2017 aktuell . VoltDB ist frei zugänglich, aber es gibt auch eine Enterprise Edition diese wird VoltOne genannt. Der Mitbegründer von VoltDB ist Michael Stonebraker ein sehr bekannter DB-Wissenschaftler der schon bei  unzähligen anderen DB Projekten wie Ingres und Posgre beteiligt war. 

 

VoltDB ist eine Alternative.
Während zu MySQL es Maria DB gibt gibt es zu SAP HANA, Oracle TimesTen oder NuoDB, VoltDB als eine freie Alternative.

 

VoltDB Performance

 

Die Partitionierung geschieht bei VoltDB durch das Sharding. Dadurch werden schneller Lese- und Schreibgeschwindigkeiten ermöglicht als bei anderen DB Systemen. Die Behauptung lautet das VoltDB 100 mal schneller ist als MySQL, 45 mal schneller ist als Oracle und 13 mal schneller ist als Cassandra.

 

 


Michael Stonebraker hatte sich mit seiner wissenschaftlichen Arbeitsgruppe damit befasst, dass die traditionellen Flaschenhälse einer Datenbank sehr viel Performance verbrauchen im Gegensatz zur eigentlichen Datenbanknutzung. Die Flaschenhälse entstehen wenn bestimmte Daten gelesen oder geschrieben werden. Wie z.B. durch das Locking, Latching Verfahren oder dem Index Management bzw. Buffer Management. Wenn diese Flaschenhälse wegfallen würden könnte das gesamte System von einen großen Performance Boost profitieren. 

 

VoltDB eliminiert mehrere Flaschenhälse:

 

High Throughput durch - InMemory

Low Latency durch - InMemory

Kein Buffer Management durch - InMemory

Kein Logging durch - K-Safety

Kein Locking oder Latching durch den kombinierten Einsatz von NewSQL und Sharding 

 

Skalierbarkeit

1 Quad Core Node kann Millionen SQL Statements ausführen

1 Cluster kann mehrere hundert Tausende Transaktionen durchführen Fast lineare Skalierung - ca. 90% Tx-Performancezuwachs pro Node

Haupteinsatzgebiete:

 

Fast Data (VELOCITY)

 

Dadurch werden die beiden Kerngebiete von VoltDB sichtbar:

 

1. Online Transaction Processing (OLTP)

2. Online Analytics Processing (OLAP)

 


- Sensoren, Clickstreams, Echtzeitdaten von Maschinen

- Events, Transaktionen, Kundeninteraktion

- Webapplikationen (Smart Grid)

- Risikoerkennung, Sicherheitsanalysen, Vorhersagen

- Echtzeitwerbung (RTA)

Kommentar schreiben

Kommentare: 0