Datenbanken aus der Cloud

Apps und Analysen beschleunigen mit NoSQL

von - 18.07.2018
Analyse und Datenbank
Foto: wan wei / shutterstock.com
Nicht relationale Systeme ergänzen und ersetzen SQL-Datenbanken und Data Warehouses. Welche Art NoSQL-Datenbank genutzt wird, hängt jedoch vom jeweiligem Anwendungsfall ab.
Wachstum von NoSQL-Markt bis 2020
Quelle: Allied Market Research
Relationale Datenbanksysteme, die Daten in Zeilen und Spalten organisieren, sind seit den späten 70er-Jahren bekannt. Die allermeisten dieser oft als RDBMS (Relational Database Management System) bezeichneten Lösungen verwenden für Verwaltung und Abfragen die Sprache SQL (Structured Query Language). Das strukturierte Ablegen von Daten in einem solchen SQL-System erfordert allerdings ein definiertes Datenmodell, in dem sich Informationen nach einem starren Schema in die vorgegebenen Felder einordnen lassen. Auch wenn moderne relationale Datenbanken in dieser Hinsicht flexibler geworden sind, gibt es doch viele Anwendungsfälle, in denen SQL nicht das Mittel der Wahl ist.
Streaming-Plattformen, vernetzte Maschinen und Geräte, Webshops und Online-Plattformen produzieren riesige Mengen an Daten, die teils in Echtzeit gespeichert und analysiert werden sollen. „Traditionelle Datenbanken sind an einem Punkt angelangt, an dem sie nicht mehr mithalten können“, erklärt Giscard Venn, Digital Explorer beim Datenbankspezialisten DataStax. Viele Anwender suchen daher nach Alternativen, die ohne starres Datenschema auskommen, aber dennoch schnelles Speichern, Durchsuchen und Analysieren ermöglichen. Solche schemafreien Systeme werden als „NoSQL“ bezeichnet. Da sie heute oft auch SQL-Abfragen verarbeiten, wird das „No“ meist als „not only“ gelesen.
Giscard Venn
Giscard Venn
Digital Explorer bei DataStax
Foto: DataStax
„Traditionelle Daten­banken sind an einem Punkt angelangt, an dem sie nicht mehr
mithalten können.“

Flexibler verarbeiten

NoSQL-Datenbanken können strukturierte, unstrukturierte und semi-strukturierte Daten in unterschiedlichen Formaten miteinander verknüpfen und zueinander in Beziehung setzen. „Die Technologie wird branchenübergreifend eingesetzt und bietet die notwendige Agilität, um große Datenmengen zu integrieren, zu speichern, zu durchsuchen und sinnvoll miteinander zu verknüpfen“, erläutert Stefano Marmonti, DACH Sales Director beim NoSQL-Datenbankanbieter MarkLogic.
Anders als SQL steht NoSQL allerdings nicht für einen bestimmten Typ von Datenbankschema. Das Angebot reicht von Key-Value-Stores, die einfache Schlüssel-Wert-Paare erzeugen, bis zu Varianten, die komplexe Datenbeziehungen in Form von Graphen speichern. „Welche Art NoSQL-Datenbank genutzt wird, hängt vom Anwendungsfall ab“, erklärt Jürgen Wirtgen, Data Platform Lead bei Microsoft.
Key-Value etwa sei besonders geeignet, um Daten schnell und einfach zu speichern und zu lesen, zum Beispiel Sensorinformationen. „Wenn man jedoch, wie in klassischen relationalen Systemen, mehrere Daten gleichzeitig verändern möchte, bringt der Key-Value-Ansatz Nachteile mit sich.“
Sogenannte Wide-Column-Stores wiederum werden laut Wirtgen vor allem für Big-Data-Analysen genutzt, bei denen relationale Daten schnell gespeichert und ausgewertet werden müssen. Und in Document-Stores werden die Daten als Dokumente in Formaten wie XML oder JSON gespeichert. „Die Strukturen sind variabel, aber gleichzeitig schnell auswertbar“, betont Wirtgen. Graphenorientierte Datenbanken schließlich verarbeiten Daten in Form von Netzwerken, erklärt der Microsoft-Experte: „Das heißt, Objekte und deren Relationen untereinander werden gespeichert.“
Was NoSQL-Datenbanken unterscheidet
NoSQL-Systeme lassen sich in vier Klassen einteilen:
Key-Value-Store: In diesem Datenbankmodell werden Einträge (Value) über eindeutige Schlüssel (Key) identifiziert, über die sie sich schnell wiederfinden lassen. Im Unterschied zu relationalen Systemen muss der Datentyp nicht vorab definiert werden. Auch lassen sich unterschiedliche Inhalte und Datenformate in derselben Datenbank speichern. Während in den meisten SQL-Datenbanken Platzhalter für potenziell mögliche Werte vorgehalten werden müssen, ist dies bei Key-Value-Stores nicht notwendig. Daher benötigen sie für dieselbe Datenmenge oft weniger Speicherplatz.
Document-Store: Dokumentorientierte Datenbanken speichern Daten beliebiger Struktur und Komplexität in Form von Dokumenten ab. Dies können Word-Dateien, Video-Files, aber auch JSON-, XML- oder YAML-Objekte sein. Anders als in reinen Key-Value-Systemen lassen sich nicht nur die Einträge selbst, sondern auch deren Inhalte durchsuchen.
Wide Column: Im Unterschied zu relationalen Systemen, die zeilenweise organisiert sind, legen diese Datenbanken Informationen spaltenweise ab. Das hat vor allem dann Vorteile, wenn komplexe Abfragen über große Datenmengen ausgeführt werden sollen.
Graph: Graphenorientierte Datenbanken speichern Informationen in Form von Knoten. Diese Knoten und deren Beziehungen untereinander werden in sogenannten Graphen dargestellt. Die Systeme eignen sich besonders für komplexe, stark vernetzte Daten, da sich mit ihnen auch komplizierte Datenbankabfragen leicht durchführen lassen.
Verwandte Themen