NoSQL – Leistungsstarke Applikationen

Leistungsstarke Applikationen bauen mit NoSQL

Gastbeitrag von Bruno Šimić *

Die Geschäftswelt steckt mitten in der digitalen Transformation.  Die Treiber der Veränderung sind Online-Handel, Social Media, Streaming oder auch neue Kommunikationstechnologien. Klassische RDBMS können mit diesen neuen Herausforderungen nicht mehr performant, effizient und kostengünstig umgehen, Unternehmen entscheiden sich daher zunehmend für NoSQL-Datenbanken.

NoSQL-Datenbanken bügeln die Schwächen relationaler Datenbank-Management-Systeme (RDBMS) aus. Sie sind besonders gut darin, hohe Datenvolumina aus semi- und unstrukturierten Daten mit vielen Schreib- und Lese-Operationen zu bearbeiten. NoSQL-Datenbanken sind die Spezialisten für Fotos, Videos und Textdokumente aller Art, also für die Daten, die in der Kommunikation mit Kunden, Partnern, Lieferanten und Mitarbeitern heute typischerweise anfallen. Die alten RDBMS können zwar auch mit unstrukturierten Daten umgehen, aber nur zu wesentlich höheren Kosten für die zugrundeliegende Infrastruktur beziehungsweise Hardware. Zudem leidet die Performance, weil sie architektonisch nicht dafür ausgelegt sind.




NoSQL-Datenbanken wie Couchbase sind deutlich flexibler als klassischeRDBMS, beherrschen aber auch die Transaktionen und SQL-Standard relationaler Systeme. (Quelle: Couchbase)

NoSQL-Datenbanken skalieren schnell und kostengünstig

Einer der Hauptvorteile bei der Einführung einer NoSQL-Datenbank mit verteilter Architektur besteht darin, dass sie deutlich schneller, einfacher und kostengünstiger skalieren als eine relationale Datenbank. Die meisten RDBMS beherrschen außer der vertikalen Skalierung (Scale-up) nur rudimentäre Formen der horizontalen Skalierung (Scale-out). Im Unterschied dazu nutzen die meisten NoSQL-Datenbanken eine horizontale Skalierung (Scale-out), bei der Daten und Leistung mithilfe von Containern und Virtuellen Maschinen auf zusätzliche Server verteilt werden. Auch mehr Benutzer werden auf mehr Servern aufgeteilt, um Latenzzeiten niedrig zu halten. Um eine hohe Verfügbarkeit und Sicherheit zu gewährleisten, unterstützt Couchbase mit einer standardmäßig vorhanden dedizierten Cross-Datacenter-Replication (XDCR)-Funktion die uni- und bidirektionale Replikation über mehrere Rechenzentren. Viele RDBMS dagegen benötigen für die Replikation zusätzliche Software – und das bedeutet höhere Lizenzkosten.

JSON-Dokumente flexibler und agiler als Tabellen

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 eher fixe Tabellen. JSON bietet ein kompaktes, sehr flexibles Datenformat, um Arrays, Objekte und andere Variablen auch geschachtelt in lesbarer Form zu speichern. Damit lassen sich semi- und unstrukturierte Textdokumente besser abbilden. Die NoSQL-Datenbank Couchbase Server speichert JSON-Dokumente in „Buckets“ die über mehrere Serverknoten verteilt sind. Ein Bucket ist ein Daten-Speicher bei Couchbase und entspricht einer Datenbank bei RDBMS.

„NoSQL-Datenbanken kommen mit den neuen Anforderungen und Datentypen
deutlich performanter und kostengünstiger zurecht als die klassischen RDBMS.“

Starke Teamarbeit

Unternehmen, die NoSQL-Datenbanken nutzen, haben in einer frühen Evaluationsphase einen Use Case, eine Applikation oder einen Service ausgewählt. 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. 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. Das ist auch gar nicht nötig, denn NoSQL und RDBMS bilden ein starkes Team: eine NoSQL-Datenbank wie Couchbase übernimmt zum Beispiel als performanter Cache-Server die neuen modernen Datentypen, während ein RDBMS das klassische, transaktionale Datenbankgeschäft erledigt. Kunden profitieren dadurch vom Besten aus beiden Welten.

* Bruno Šimić ist Senior Solutions Engineer bei Couchbase in München

Aufmacherbild / Quelle / Lizenz
Bild von Markus Spiske auf Pixabay