Stabil, schnell oder skalierbar?

Datenbanken für die Produktions-IT

Wie gemacht für Container-Technologie

NoSQL-Datenbanken sind prädestiniert für den Einsatz in dynamischen Microservices-Architekturen, wie beispielsweise 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. Diese Leistungs- und Automatisierungsfähigkeiten von NoSQL-Datenbanken werden vom Operator Framework definiert.

Die höchste Stufe, Automatisierungslevel 5 (Full Automation), verlangt Funktionen wie Auto Failover, On-demand Dynamic Scaling, Failure Recovery oder Cross Datacenter Replication (XDCR). Durch die Fähigkeit zur uni- und bidirektionalen Replikation über mehrere Rechenzentren beziehungsweise Regionen hinweg, wird eine NoSQL-Datenbank nicht nur unabhängig von Cloud-Plattformen wie AWS, Google Cloud oder Microsoft Azure, sondern auch von allen anderen Deployment-Modellen, die nicht Public Cloud sind. Damit ist sie tatsächlich Cloud- beziehungsweise Infrastruktur-agnostisch und die Gefahr des Vendor-Lock-Ins, also der Abhängigkeit von einem einzigen Anbieter, entfällt.

Cloud Services, die Spezialisten

Cloud-Services können entweder als Infrastructure, Platform oder Container as a Service (IaaS, PaaS oder CaaS) genutzt werden. Sie verfügen ähnlich wie NoSQL-Datenbanken über Fähigkeiten zur horizontalen Skalierung und zur Unterstützung von Big Data und Microservices. Cloud-Agnostik gehört dagegen grundsätzlich nicht zum Repertoire. Sie sind also in der Regel weder für eine einheitliche Nutzung, noch für das plattformneutrale und herstellerunabhängige Hosting von Datenbank-Anwendungen ausgelegt.

Ein großes Plus ist die Fähigkeit zur Workload-Isolierung. Dabei laufen die Services auf dedizierten Servern mit eigenen, CPU-, RAM- und Disk-Ressourcen und können so auch mandantenfähige Kapselung der Arbeitslast erzielen, wenn gewünscht (auch Multi Dimensional Scaling genannt). Insbesondere können Datenbankservices dabei unabhängig voneinander vertikal wie horizontal skaliert werden. Das vereinfacht beispielsweise die Analyse großer Datenmengen durch Fast Operational Data Analytics. Dabei werden Echtzeit-Daten sehr schnell analysiert, um beispielsweise die Informationen von Edge-Geräten aus dem Internet-of-Things zur Produktionssteuerung zu nutzen.

Die Datenbank, die alles kann

Im Vergleich weisen aktuell verfügbare Datenbanktypen häufig Lücken auf, die die zunehmend in Produktionsumgebungen benötigten Fähigkeiten betreffen: die Stabilität von ACID-Transaktionen, die Nutzung von nativem SQL, vertikale und horizontale Skalierbarkeit, schnelle Datenmigration, die Verarbeitung von OLTP- (Online Transaction Processing) und OLAP-Workloads (Online Analytical Processing), das Handling von Big Data und Microservices, die Möglichkeit zur Workload Isolation sowie Unabhängigkeit und Flexibilität durch Infrastruktur-Agnostik. Hier setzt die 2011 gegründete Firma Couchbase aus Santa Clara in den USA an: Mit ihrer Plattform will sie die Kontroverse um das passende Datenbankmanagement beenden, indem sie die Stärken von SQL, NoSQL und Cloud in der eigenen Lösung kombiniert.