Datenbanken sind die heimlichen IT-Helden in Zeiten von KI, Cloud und Edge. Sie arbeiten still, leise und effektiv im Hintergrund, sorgen für die richtigen Daten an den richtigen Stellen und liefern Datenanalysen in Echtzeit, die jederzeit und überall für Applikationen verfügbar sein müssen. Entsprechend anspruchsvoll sind die Anforderungsprofile für Datenbanken in Bezug auf Flexibilität, Agilität und Skalierbarkeit.
NoSQL-Datenbanken haben sich dafür als besonders geeignet herauskristallisiert, da sie die Beschränkungen transaktionsorientierter relationaler Datenbanken mit ihren starren Zeilen/Spalten-Schemata hinter sich lassen. Couchbase listet die entscheidenden Auswahlkriterien auf.
1. Flexible Datenmodelle
Künstliche Intelligenz, Machine Learning, Echtzeit-Analytics und Cloud-Services lassen nicht nur die Datenaufkommen explodieren. Sie führen auch zu einer massiven Zunahme an unstrukturierten Daten wie Fotos, Videos oder Chat-Verläufen. Datenbanken müssen dafür ausgelegt sein. NoSQL-Datenbanken arbeiten mit flexiblen Datenmodellen wie dokumentenorientiert (JSON), Key-Value oder sogar Multi-Model mit einem Mix aus mehreren Modellen.
2. Unterstützung hybrider IT-Architekturen
Aktuelle IT-Architekturen sind mit ihrem Mix aus On-premises-, Cloud- und Edge-Komponenten zunehmend hybrid und verteilt. NoSQL-Datenbanken mit der Fähigkeit zur uni- und bidirektionalen Cross-Datacenter-Replikation sind dafür ideal geeignet. Darüber hinaus müssen sie dynamische Microservices-Architekturen wie Kubernetes mit flüchtigen (stateful) Datenbank-Services versorgen. Und für das besonders latenzsensible Edge Computing werden Datenbanken benötigt, die Edge-Daten direkt vor Ort speichern, analysieren und wieder bereitstellen.
3. Systemische Plattform-Agnostik
Cloud- und Microservices können auf einer Reihe von Plattformen wie AWS, Azure, Google oder Red Hat OpenShift bereitgestellt werden. Typischerweise vermeiden Unternehmen die Festlegung auf eine einzige Plattform und präferieren daher Hybrid- oder Multi-Cloud-Szenarien. Um die Interoperabilität sicherzustellen, muss die NoSQL-Datenbank ebenso unabhängig von der jeweils genutzten Plattform sein, wie die von der Datenbank bereitgestellten automatisierten Applikationen.
4. Multidimensionale Skalierbarkeit
In solchen Umgebungen müssen die Datenbank-Services unabhängig voneinander skaliert werden können – und das sowohl vertikal wie horizontal. Bei der linearen Skalierung steigt die Performance des gesamten NoSQL-Datenbankmanagement-Systems mit jedem zusätzlichen Knoten. Entsprechend geeignete Datenbanken können ihre Services zudem auf dedizierten Knoten laufen lassen und so eine Workload Isolation hinsichtlich CPU, RAM und Disk-Arbeitslast erreichen.
5. Automatisierung und Echtzeit-Management
Komplexe verteilte Architekturen benötigen zwangsläufig ein hochautomatisiertes Datenbank-Management. Das betrifft beispielsweise die Echtzeitverwaltung der Knoten und die Sicherstellung des ausfallsicheren Betriebs. NoSQL-Datenbanken, die den höchsten von der Cloud Native Computing Foundation (CNCF) definierten Automatisierungs-Reifegrad (Level 5) besitzen, verfügen über Features wie Auto Failover, Automated Provisioning, Automated Update, On-demand Dynamic Scaling oder Cross Datacenter Replication (XDCR).
Darüber hinaus ist es sinnvoll, auch für NoSQL-Datenbanken die etablierte Abfragesprache SQL nutzen zu können. So wird das weit verbreitete Wissen von Entwicklern und Administratoren weiterhin genutzt und die Migration von SQL auf NoSQL vereinfacht, da die Datenzugriffsschicht nicht neu geschrieben werden muss. Zudem wird so der Aufwand für Schulung und Trainings bei der Implementierung von NoSQL reduziert.
„NoSQL-Datenbanken sind relationalen Datenbankmanagement-Systemen in praktisch allen Belangen deutlich überlegen. Sie sind flexibler und skalierbarer, Cloud-nativ und Microservices-affin“, erklärt Gregor Bauer, Manager Solutions Engineering CEUR bei Couchbase. „Aber auch innerhalb des NoSQL-Angebots gibt es große Unterschiede, etwa bei den Replikationsmöglichkeiten oder den Automatisierungsgraden. Daher ist es wichtig, für die eigenen Anforderungen die exakt passende NoSQL-Datenbank zu evaluieren.“