Druva Blog > Druva News

blog-curtis-google-spanner-oracle

Google Spanner übt Druck auf Oracle aus

Als Nachfolger der Google-Datenbanken BigTable und MegaStore gibt es mittlerweile Google Spanner, ein NewSQL-Datenbankmanagementsystem (DBMS). Schon sehen einige diese Datenbank als Ersatz für Oracle, aber die Experten der Wikibon-Community sind da weniger euphorisch, wie ein aktueller Blogbeitrag von David Floyer zeigt, den ich gerade gelesen habe.

Das CAP-Theorem

Mit DBMS und insbesondere RDBMS (Relational Database Management System) wie Oracle, DB2 und SQL Server bin ich bestens vertraut. Ich musste sehr viel über ihre Architektur lernen, um Backup-, Restore- und Recovery-Prozesse durchführen zu können. (In der Welt der Datenbanken ist ein Recovery nicht das gleiche wie ein Restore.)

blog-what-I'm-reading

Das CAP-Theorem: Bildrechte liegen bei © Wikibon

Trotzdem war mir das im Blogbeitrag vorgestellte CAP-Theorem als wirklich interessantes Konzept nicht bekannt. Das CAP-Theorem beschreibt eine Eigenschaft von verteilten Datenbanksystemen. Die Abkürzung „CAP“ steht dabei für die englischen Begriffe „Consistency“, „Availibility“ und „Partition Tolerance“. Datenbanken müssen konsistent, verfügbar und zudem ausfalltolerant sein.

Die Datenkonsistenz stellt sicher, dass die eingestellten Informationen einheitlich abgespeichert und von allen Clients in dem verteilten System gesehen werden können. Datenverfügbarkeit bedeutet, dass die Datenbank zu jeder Zeit abgerufen werden kann und die Antwortzeiten des Systems akzeptabel sind. Die Ausfalltoleranz wiederum betrifft die Skalierbarkeit — das System muss proportional wachsen können und auch bei Ausfall einzelner Knoten noch stabil laufen.

Die Grundidee des CAP-Theorems ist, dass jede Datenbank nur zwei dieser Aspekte gleichzeitig erfüllen kann. Eine Datenbank kann konsistent und verfügbar sein (CA-System), konsistent und ausfalltolerant (CP-System), oder aber verfügbar und ausfalltolerant (AP-System) — keine Datenbank kann indes C, A und P zusammen vollständig erfüllen. So kann eine weltweit verteilte Datenbank nur dann gleichzeitig eine hohe Verfügbarkeit erreichen, wenn ein konsistentes Modell wie bei Cassandra genutzt wird.

Oracle verwendet ein CA-System, was zu Einschränkungen bei der Skalierbarkeit führt, aber der Datensatz weist eine durchgängige Konsistenz und hohe Verfügbarkeit auf. Spanner nutzt ein CP-Modell mit Vorteilen bei Skalierbarkeit und Datenkonsistenz, aber einer niedrigeren Verfügbarkeit gegenüber Oracle. Das ist ein wichtiger Unterschied, der sich auf die Einsatzmöglichkeiten auswirkt.

Deterministische oder probabilistische Arbeitslasten

In seinem Beitrag beschreibt David Floyer dann den Unterschied zwischen deterministischen und probabilistischen Workloads. Der erste Fall beschreibt ein Ergebnis, das immer gleich sein muss, beispielsweise bei der Gehaltsabrechnung oder Rechnungsstellung. Bei gleichen Eingaben sollte die deterministische Berechnung gleich sein, egal welche Applikation eingesetzt wird. Probabilistische Ergebnisse arbeiten dagegen mit gerundeten Zahlen. Ein anschauliches Beispiel dafür ist die Preisberechnung für den voraussichtlichen Endpreis eines Bieterwettbewerbes auf einer IT-Handelsplattform. Hier kommt es nicht auf einige Cent an, sondern die richtige Größenordnung.

Oracle eignet sich hervorragend für deterministisches Arbeiten, wogegen Spanner speziell für probabilistische Workloads entwickelt wurde. David Floyer schätzt, dass bei 5% der Oracle-Workloads (auf Basis des Lizenzumsatzes) von probabilistischen Bedingungen ausgegangen werden kann, und für diese Arbeitslasten auch die niedrigere Verfügbarkeit bei Spanner zu rechtfertigen wäre.

Eine Warnung zum Schluss

Die Praktiker und Berater der Wikibon-Gemeinschaft warnen indes, dass Spanner zwar als Produkt erhältlich ist, aber (noch) die adäquate Unterstützung durch eine entsprechende IT-Infrastruktur fehlt. So fehlt es beispielsweise an einem Weg, Backups durchzuführen! (Und damit sind wir in meinem Kompetenzbereich.) In jedem Fall empfehlen sie aber den Erwerb einer Google-Spanner-Kaffeetasse, um sie beim Besuch von Oracle-Vertrieblern gut sichtbar auf dem Schreibtisch postieren zu können…

google-cloud-spanner

Bildrechte liegen bei © Wikibon

Aus meiner Sicht lohnt sich die Lektüre des gesamten Wikibon-Beitrags. Ich verspreche, dass Sie hier viel Wissenswertes erfahren werden.



0 Comments

Leave a reply

Your email address will not be published. Required fields are marked *

*

This site uses Akismet to reduce spam. Learn how your comment data is processed.