Datenverwaltung Es ist an der Zeit, SQL- und NoSQL-Datenbanken endlich zusammenzuführen

Autor / Redakteur: Steffen Schneider* / Sebastian Human

Der Antagonismus von SQL- und NoSQL-Datenbanken sorgt immer wieder für hitzige Diskussionen. Dabei ist es doch möglich, und gleichzeitig höchste Zeit, die Vorteile beider Datenbank-Typen zusammen nutzbar zu machen – und dabei die Stärken der Cloud gleich mit einzubinden.

Firma zum Thema

Lange Zeit standen sich SQL- und NoSQL-Datenbanken scheinbar unvereinbar gegenüber, doch dieser Zustand könnte der Vergangenheit angehören.
Lange Zeit standen sich SQL- und NoSQL-Datenbanken scheinbar unvereinbar gegenüber, doch dieser Zustand könnte der Vergangenheit angehören.
(Bild: gemeinfrei / Pixabay )

SQL oder NoSQL? Diese Frage kann dogmatisch beantwortet, oder pragmatisch gelöst werden. Abhängig vom konkreten Einsatzszenario muss man sich dazu die jeweiligen Stärken und Schwächen der beiden Datenbank-Typen anschauen. Dabei sollten ein dritter Ansatz nicht übersehen und vergessen werden: die Cloud, entweder als Infrastructure, Platform oder Container as a Service (IaaS PaaS oder CaaS).

Von SQL…

Die Genesis der relationalen, transaktionsorientierten Datenbank-systeme (RDBMS) reicht bis in die Achtziger Jahre des letzten Jahrhunderts. Für eine kurze Zeit Mitte der Neunziger Jahre avancierten sie sogar zum strategisch wichtigsten IT-Element von Client-Server-Architekturen – und lösten damit die Betriebssysteme in dieser Rolle ab.

Auch wenn diese Glanzzeiten längst vergangen sind, so sind SQL-Datenbanken immer noch weit verbreitet. Das gilt vor allem für Legacy-Systeme, aber auch für aktuelle transaktionsorientierte Anwendungen, die natives SQL als Abfragesprache einsetzen und ACID-Transaktionen priorisieren.

ACID, oder deutsch AKID, steht für Abgeschlossenheit, Konsistenz, Abgrenzung (Isolation) und Dauerhaftigkeit. Mit der Erfüllung dieser Kriterien soll eine hohe Stabilität und Verlässlichkeit der Transaktionen sichergestellt werden. SQL-Datenbanken erfüllen auch die Vorgaben des Data Reference Models (DRM), eines populären Standards für den Datenaustausch. Und nicht zuletzt spricht die weite Verbreitung und die breit gestreute SQL-Expertise für diesen Datenbank-Typ.

…über NoSQL…

NoSQL-Datenbanken entwickeln ihre Stärken bislang auf anderen Gebieten. Durch die theoretisch unbegrenzte horizontale Skalierbarkeit sind sie perfekt für große bis größte Datenmengen und Durchsatzraten ausgelegt.

In Zeiten von Big Data und Business Analytics ist das ein Vorteil. Da NoSQL-Datenbanken nicht an das starre Tabellenschema transaktionaler SQL-Datenbanken gebunden sind, sind sie hochvariabel. Sie arbeiten mit einem oder mehreren flexiblen Datenmodellen (Key-Value, dokumentenorientiert oder sogar Multi-Modal) und besitzen dadurch die Fähigkeit zur Speicherung semi- und unstrukturierter Daten und Objekte wie Bilder oder Videos. NoSQL-Datenbanken sind zudem prädestiniert für den Einsatz in dynamischen Microservices-Architekturen, etwa Kubernetes.

Da Microservices am besten auf einen hohen Automatisierungsgrad ausgelegt werden, müssen die für den reibungslosen Betrieb benötigten nicht-flüchtigen (stateful) Datenbank-Services über hochautomatisierte Skalierungs-, Provisionierungs-, Failover- oder Replikationsfunktionen bereitgestellt werden. Klassische SQL-Datenbanken sind damit überfordert.

Mittlerweile ist eine NoSQL-Datenbank verfügbar, die den höchsten Automatisierungslevel 5 (Full Automation) des Operator Hub Fameworks erreicht hat. Sie verfügt über Funktionen wie Auto Failover, Auto Scheduling, On-demand Dynamic Scaling, Failure Recovery oder Cross Datacenter Replication (XDCR) für die uni- und bidirektionale Replikation über mehrere Rechenzentren, Regionen und Cloud-Plattformen (AWS, Google Cloud, Microsoft Azure und anderen) hinweg.

Auf dieser Stufe ist eine NoSQL-Datenbank tatsächlich Cloud-agnostisch, also unabhängig von der unterliegenden Infrastruktur und ohne die Gefahr eines Vendor-Lock-Ins. Eine ähnliche Exklusivität gilt auch für den Einsatz von SQL als nativer Data Query Language für NoSQL-Datenbanken. Mit der Implementierung von SQL für JSON (auch N1QL genannt) für dokumentenorientierte Datenmodelle steht dafür ausschließlich eine Lösung eines Anbieters zur Verfügung.

…und Cloud…

Ähnlich wie NoSQL-Datenbanken verfügen Cloud-Services über Fähigkeiten zur horizontalen Skalierung und zur Unterstützung von Big Data und Microservices. SQL und Cloud-Agnostik gehören dagegen nicht zum Repertoire. Sie sind also weder für den gemischten Betrieb mit SQL-Datenbanken und Legacy-Systemen, noch für das plattformneutrale und herstellerunabhängige Hosting von Datenbank-Anwendungen ausgelegt.

Dafür besitzen sie jedoch die Fähigkeit zur Workload-Isolierung. Die Services laufen dabei auf dedizierten Servern mit eigenen, abgeschotteten CPU-, RAM- und Disk-Ressourcen und erzielen so die mandantenfähige Kapselung der Arbeitslast.

Die Cloud-Services können dabei unabhängig voneinander vertikal wie horizontal skaliert werden. Das vereinfacht beispielsweise die Analyse großer Datenmengen durch Fast Operational Data Analytics.

…zur Datenbank, die alles kann

Aus dieser Analyse der größten Differenzierungsmerkmale ergibt sich schlüssig der Wunsch nach einer Datenbank, die die Fähigkeiten von RDBMS, NoSQL- und Cloud-Services vereint: Natives SQL, ACID Transaktionen, diverse Datenmodelle, neben vertikaler auch horizontale Skalierbarkeit, Big Data, Microservices, Workload Isolation (auch Multi Dimensional Scaling genannt) und Infrastruktur-Agnostik. Und dazu idealerweise auch noch die schnelle Datenmigration ohne die komplizierten und zeitaufwändigen, aus der SQL-Welt bekannten ETL-Prozesse (Extract, Transform, Load) und die gleichzeitige Verarbeitung von OLTP- (Online Transaction Processing) und OLAP-Workloads (Online Analytical Processing).

Eine solche fortschrittliche Datenbankmanagement-Plattform hebt Grenzen zwischen SQL und NoSQL auf, verbindet deren Stärken und integriert Vorteile der Cloud.

* Steffen Schneider arbeitet als Head of Solutions Engineering Central Europe bei Couchbase.

(ID:47157084)