Kommentar von Bruno Šimić, Couchbase

Neue Datenbanken braucht das Land

| Autor / Redakteur: Bruno Šimić / Nico Litzel

Der Autor: Bruno Šimić ist Senior Solutions Engineer bei Couchbase in München
Der Autor: Bruno Šimić ist Senior Solutions Engineer bei Couchbase in München (Bild: Couchbase)

Die Geschäftswelt ändert sich schneller als je zuvor. Treiber dafür sind die immer größer werdenden Datenbanken der Firmen. Kunden konsumieren immer mehr Daten, weil sie mit immer mehr mobillen und IoT-Geräten Informationen nutzen. Um diese Herausforderungen zu bewältigen, werden verteilte Cloud- und Big-Data-Technologien benötigt.

Klassische relationale Datenbankmanagementsysteme (RDBMS) können diese neuen Anforderungen nicht mehr erfüllen. Unternehmen entscheiden sich daher zunehmend für NoSQL-Datenbanken. Diese sind als Reaktion auf Schwächen relationaler Datenbankmanagement-systeme entstanden: Irgendwann waren sie zu langsam, nicht mehr ausreichend skalierbar und können im Vergleich zu NoSQL-Datenbanken nicht agil genug agieren, da sie nicht verteilt arbeiten können.

RDBMS arbeiten primär als Systems of Record und stellen eine hohe Konsistenz von Transaktionsdaten sicher. Bedingt durch grundlegende Architekturprinzipien, wie die Normalisierung von Objekten, die Ausführung von Transaktionen auf einem Knoten und dem Zwei-Phasen-Commit, ist eine Skalierung mit sehr großen Workloads allerdings nicht möglich. Entwickler können mit RDBMS durchaus Applikationen bereitstellen, die sowohl reaktionsschnell als auch hochverfügbar sind, aber nur zu deutlich höheren Infrastruktur- und Lizenzkosten.

Zu den wichtigsten Anforderungen an Datenbanken gehören heute eine hohe Flexibilität und Skalierbarkeit, die Speicherung nicht nur strukturierter, sondern auch unstrukturierter Daten sowie schnelle Antwortzeiten; hinzu kommt die Unterstützung einer großen Zahl gleichzeitiger Benutzer beziehungsweise Operationen. Ein weiterer Aspekt ist der Umgang mit saisonaler oder anderen Peaklasten. Auch hier können NoSQL-Datenbanken deutliche Vorteile im Vergleich zu RDBMS verbuchen.

Skalierung einer NoSQL-Datenbank

Einer der Hauptvorteile bei der Einführung einer NoSQL-Datenbank mit verteilter Architektur: Sie skaliert deutlich schneller, einfacher und kostengünstiger als eine relationale Datenbank. Die meisten RDBMS beherrschen außer der vertikalen Skalierung (Scale-up) nur rudimentäre Formen der horizontalen Skalierung (Scale-out). Failover-Clustering basiert in diesem Fall auf gemeinsam genutztem Speicher, während Always-on-Verfügbarkeitsgruppen auf Replikation beschränkt sind. Wächst das Datenvolumen, müssen Administratoren ein größeres System installieren und bei steigenden Benutzerzahlen einen leistungsfähigeren Server. Ansonsten wird ein solches System nicht nur zu einem Engpass, sondern zu einem Single-Point-of Failure.

Im Unterschied dazu nutzen die meisten NoSQL-Datenbanken eine horizontale Skalierung (Scale-out), bei der die Daten auf zusätzliche kostengünstige Server verteilt werden – mehr Daten bedeuten mehr verteilten Speicher, mehr CPU-Kerne, mehr Netzwerkdurchsatz und nicht nur ein größeres Speichersystem. Auch mehr Benutzer werden auf mehr Servern aufgeteilt. Um eine hohe Verfügbarkeit zu gewährleisten, unterstützt Couchbase mit einer standardmäßig vorhanden dedizierten Cross-Datacenter-Replication (XDCR)-Funktion die uni- und bidirektionale Replikation mit mehreren Datacentern. Viele RDBMS dagegen benötigen für die Replikation zusätzliche Software – und das bedeutet höhere Lizenzkosten.

Ergänzendes zum Thema
 
Drei Designprinzipien einer NoSQL-Datenbank

Daten in JSON-Dokumenten speichern

Auch bei der Datenablage zeigen sich deutliche Unterschiede. NoSQL-Dokumentdatenbanken speichern Daten in JSON (JavaScript Object Notation); im Unterschied dazu nutzen relationale Datenbanken dafür Tabellen. JSON bietet ein kompaktes Datenformat, um Arrays, Objekte und andere Variablen in lesbarer Form zu speichern. Während RDBMS auf ein explizit vordefiniertes Daten-Schema angewiesen sind das die Struktur der Daten beschreibt, sind JSON-Dokumente selbstbeschreibend.

Jedes JSON-Dokument enthält sein eigenes flexibles Schema, das Entwickler bei Bedarf komfortabel anpassen können. Im Dokumentenmodell von JSON ist ein Schema das Ergebnis der Strukturierung der Dokumente durch eine Applikation – das heißt, Entwickler definieren und verwalten das Schema mit der Applikation. Die Struktur eines Dokuments besteht aus der Anordnung von Attribut-Value-Paaren. Im relationalen Modell dagegen verwaltet die Datenbank das Schema; das ist wenig flexibel.

Im Vergleich zu RDBMS sind JSON-Dokumente nicht auf Felder beschränkt. Sie können einfache und verschachtelte Arrays und Objekte enthalten. Daher gibt es auch keine Unverträglichkeit (Impedance Mismatch) zwischen Anwendungsobjekten und JSON-Dokumenten. Die NoSQL-Datenbank Couchbase Server speichert JSON-Dokumente in „Buckets“ und Unternehmen können diese bei der Implementierung auf mehrere Serverknoten verteilen.

Unternehmen, die NoSQL-Datenbanken nutzen, haben in einer frühen Evaluationsphase einen Use Case, eine Applikation oder einen Service ausgewählt. Das können ganz neue Anwendungsszenarien sein oder Geschäftsprozesse, die neu gestaltet und optimiert werden. Typische Beispiele sind Produktkataloge, auf die viele Kunden mit stationären und mobilen Endgeräten zugreifen, Online-Buchungssysteme mit einer großen Zahl gleichzeitiger Benutzer, Asset-Tracking-Services, Content-Management-Dienste, Customer Management Services oder Streaming-Dienste für Videos.

Wie steht es mit SQL?

Auch wenn Big Data und Streaming immer mehr an Bedeutung gewinnen, werden nicht alle Unternehmen ihre sämtlichen Legacy-RDBMS in einem Schritt auf eine moderne NoSQL-Datenbank migrieren. Oft benötigen auch neue Applikationen in einigen Situationen Daten aus relationalen Datenbanken. Couchbase etwa bietet dazu die SQL-kompatible Query Language N1QL, die eine Brücke zu SQL baut. Mit N1QL können Entwickler SQL-Abfragen in ihre Applikationen einbauen sowie SQL-basierte Reporting- und Datenvisualisierungswerkzeuge nutzen. Nahezu jede Programmiersprache und jedes Framework sowie alle relevanten BI- und Reporting-Tools unterstützen SQL. Da-her ist es wichtig, dass Entwickler ihre SQL-Kenntnisse und -Tools weiter nutzen können, wenn sie mit einer NoSQL-Datenbank neue Applikationen erstellen.

Zudem ist es möglich, Relationen zwischen JSON-Dokumenten herzustellen. Mit N1QL lassen sich beispielsweise Kunden- und Bestellungen-Dokumente mit einem einfachen SQL Join verbinden. N1QL bietet eine Vielzahl von Funktionen, mit denen Benutzer JSON-Dokumente abrufen, bearbeiten, transformieren und erstellen können. Zu den wichtigsten Funktionen gehört eine leistungsstarke SELECT-Anweisung, die es ermöglicht, die Funktionalität der SQL-SELECT-Anweisung auf für JSON-Dokumente zu verwenden.

Von Big Data zu Fast Data

Mit Big-Data-Technologien verbessern Unternehmen die Effizienz von Services und Geschäftsprozessen und sind damit beispielsweise in der Lage, die Daten einer schnell wachsenden Zahl von Kunden im On-linebusiness und von IoT-Geräten zu analysieren. Dass heißt: Big Data wird nicht nur immer „bigger“, sondern muss auch schneller werden.

Unternehmen benötigen Lösungen, um die von Kunden, Maschinen und Sensoren generierten Daten aus verschiedenen Quellen zu speichern, zu verarbeiten, am besten echtzeitnah aufzubereiten und Entscheidern bereitzustellen. Mit Datastreaming-Funktionen, wie sie eine NoSQL-Datenbank bereitstellt, können Unternehmen schneller auf neue Herausforderungen reagieren. Dabei ist die Datenbank keine Insel. Mit verschiedenen Konnektoren wie Apache Kafka oder Apache Spark werden die Daten zwischen verschiedenen Systemen problemlos synchronisiert.

Kommentare werden geladen....

Kommentar zu diesem Artikel abgeben

Der Kommentar wird durch einen Redakteur geprüft und in Kürze freigeschaltet.

Anonym mitdiskutieren oder einloggen Anmelden

Avatar
Zur Wahrung unserer Interessen speichern wir zusätzlich zu den o.g. Informationen die IP-Adresse. Dies dient ausschließlich dem Zweck, dass Sie als Urheber des Kommentars identifiziert werden können. Rechtliche Grundlage ist die Wahrung berechtigter Interessen gem. Art 6 Abs 1 lit. f) DSGVO.
  1. Avatar
    Avatar
    Bearbeitet von am
    Bearbeitet von am
    1. Avatar
      Avatar
      Bearbeitet von am
      Bearbeitet von am

Kommentare werden geladen....

Kommentar melden

Melden Sie diesen Kommentar, wenn dieser nicht den Richtlinien entspricht.

Kommentar Freigeben

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Freigabe entfernen

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Kontaktieren Sie uns über: support.vogel.de/ (ID: 46124619 / Infrastruktur)