Suchen

Storage-Lösungen für riesige Datenmengen Die Vorteile von NoSQL-Datenbanken bei Big Data

| Autor / Redakteur: Paul Salazar / Nico Litzel

Unternehmen stehen vor der Herausforderung, Unmengen an Daten zu speichern, zu verarbeiten und zu analysieren. Im Gegensatz zu relationalen Datenbanken, die mit der neuen Datenwelt zu kämpfen haben, spielen NoSQL-Datenbanken im Big-Data-Zeitalter ihre Vorteile aus.

Firma zum Thema

Der Autor: Paul Salazar ist Senior Director Central Europe bei Couchbase
Der Autor: Paul Salazar ist Senior Director Central Europe bei Couchbase
(Bild: Couchbase)

Der Siegeszug des IoT und anderer vernetzter Datenquellen hat zu einem gewaltigen Zuwachs der Datenmengen geführt, die von Unternehmen erfasst, verwaltet und analysiert werden. Big Data verspricht große Erkenntnisse für Unternehmen jeder Größe und jeder Branche – wobei es nicht darum geht, wie viele Daten eine Firma hat, sondern was sie daraus macht. Richtig eingesetzt, können Kosten gesenkt, neue Produkte und optimierte Angebote entwickelt sowie klügere geschäftliche Entscheidungen getroffen werden.

Die Daten allerdings, deren Volumen heute schnell den Terabyte-Bereich erreicht, liegen nicht mehr unbedingt nur sauber strukturiert, sondern auch unstrukturiert als Mails, Dokumente, Fotos oder Videos vor. Mit diesem wilden Mix, der sich nicht oder nicht so einfach in Tabellenform bringen lässt, kommen die klassischen relationalen Datenbankmanagementsysteme (RDBMS) mit ihren fixen Strukturen zwar auch zurecht, allerdings nur über Umwege und Workarounds. Diese Umwege lassen jedoch die Kosten steigen, gleichzeitig sinkt die Performance.

NoSQL-Lösungen sind flexibler

Als Reaktion auf die Schwächen relationaler Datenbankmanagementsysteme sind NoSQL-Datenbanken entstanden: Irgendwann waren die klassischen Systeme zu langsam, nicht ausreichend skalierbar und nicht agil genug, da sie nicht verteilt arbeiten können. So beherrschen die meisten RDBMS 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 sind NoSQL-Lösungen bei der Datenaggregation flexibler, weil sie mit Objekten anstelle fester Tabellen arbeiten und diese mit einem objektorientierten Format verarbeitet werden können. Dieses JSON-Dokument – JSON ist ein Akronym für „JavaScript Object Notation“ – kann unterschiedliche, auch wechselnde Datentypen beinhalten, und die Länge darf je nach vorliegendem Datenmaterial variieren. Zudem nutzen NoSQL-Datenbanken normalerweise eine horizontale Skalierung, bei der die Daten auf zusätzliche kostengünstige Server verteilt werden. Auch mehr Benutzer werden auf mehr Server aufgeteilt, um Latenzzeiten niedrig zu halten. Couchbase hält, das belegen Benchmarks, die Performance-Steigerung über beliebig viele Nodes konstant aufrecht.

Um eine hohe Verfügbarkeit zu gewährleisten, unterstützt Couchbase zudem mit einer standardmäßig vorhandenen dedizierten Cross-Datacenter-Replication-Funktion (XDCR) die uni- und bidirektionale Replikation zwischen geografisch voneinander getrennten Datacentern. Viele RDBMS dagegen benötigen für die Replikation zusätzliche Software – und das bedeutet höhere Lizenzkosten. Moderne NoSQL-Datenmanager halten zudem einen Großteil der aggregierten Daten im schnellen Arbeitsspeicher (RAM), was die Auswertung beschleunigt.

E-Commerce und NoSQL-Datenbanken

E-Commerce ist ein gutes Beispiel für den Einsatz von NoSQL-Datenbanken. Online-Shops locken immer wieder mit Sonderaktionen wie Black Friday oder Cyber Monday. In dieser Zeit explodieren die User-Zahlen und damit die Datenmenge, entsprechend ist eine hohe Skalierbarkeit Grundvoraussetzung, um diese Arbeitslast bewältigen zu können. Hier spielen NoSQL-Datenbanken ihre Vorteile aus; sie sind feingranular über Nodes skalierbar, die in Clustern organisiert sind. Das erlaubt eine fast grenzenlose Flexibilität, da man ganz einfach das Cluster vergrößern und nach der Spitze auch wieder reduzieren kann.

Der klassische JOIN frisst richtig viel Zeit

Zu einer richtigen Performance-Bremse kann bei komplexen Analysen der SQL-Operator JOIN werden. Er ist in klassischen RDBMS notwendig, weil für umfangreichere Auswertungen in der Regel mehrere relationale Tabellen über Schlüsselindizes miteinander verbunden werden müssen – nur in seltenen Fällen befinden sich alle Daten, die ausgewertet werden sollen, in einer einzigen Tabelle. Dokumentendatenbanken dagegen sind in der Lage, die Daten mehrerer relationaler Tabellen in einem einzigen JSON-Objekt abzuspeichern.

JSON-Dokumente erlauben Verschachtelungen und können dadurch auch komplexe Strukturen sehr gut abbilden. Der Vorteil: Es ist lediglich eine einzige Lese-Operation nötig, und der Analyse-Algorithmus hat sämtliche benötigten Daten im Zugriff. Es gibt 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.

Entwickler und Business-Analysten müssen zudem keine neue Technologie erlernen. Mit N1QL können Anwender die gewohnte Syntax und Semantik der Abfragesprache SQL auch weiterhin nutzen, um Suchanfragen über JSON-Dokumente auszuführen, um neue Datenbanken und Dokumente anzulegen oder um bereits vorhandene Dokumente zu pflegen. Hinzu kommen Features wie eine Volltextsuche oder Ad-hoc-Analytics. Moderne Datenbanken sollten zudem wahlweise On-Premises oder in der Cloud laufen können. Unternehmen kombinieren heute die Cloud-Dienste, die ihre individuellen Anforderungen am besten gerecht werden, und wollen dabei nicht durch proprietäre Hürden behindert werden.

Auch wenn Big Data immer mehr an Bedeutung gewinnt, werden nicht alle Unternehmen sämtliche 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 ü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.

(ID:46699243)