echiechi - Fotolia
Was NoSQL-Datenbanken im Big-Data-Zeitalter leisten
Während relationale Modelle Tabellen mit Spalten und Zeilen verwenden, organisieren NoSQL-Datenbanken Daten etwa in Wertepaaren, Objekten und Listen.
Das Wissen um das Phänomen Big Data ist in den meisten Unternehmen angekommen.
Nun stehen sie vor der Herausforderung, die Unmengen an unstrukturierten und strukturierten Daten zu speichern, zu verarbeiten und zu analysieren – und das auch noch gewinnbringend.
In der Regel kommen dafür relationale Datenbank-Management-Systeme (RDBMS) zum Einsatz. Doch der Trend geht zu den NoSQL-Varianten.
Strukturen für strukturierte Daten
Relationale Datenbank-Management-Systeme (RDBMS) sind in erster Linie auf strukturierte Daten ausgelegt, die in Tabellen gespeichert sind und die in Beziehung (Relation) zueinanderstehen. Mit RDBMS lassen sich diese Tabellen in unterschiedlichen Konstellationen kombinieren und auswerten.
Für jede Tabelle werden verschiedene Kategorien in Spalten festgelegt. Die Zeilen wiederum enthalten die passenden Datensätze für die jeweiligen Kategorien. Das ist beispielsweise bei Kundendatenbanken der Fall. So gibt es verschiedene Spalten wie Vorname, Nachname, Adresse, Telefonnummer oder E-Mail-Adresse. Diesen ist pro Kunde und Zeile jeweils ein Wert zugeordnet.
Um die Struktur der Daten zu definieren, die Daten abzufragen, zu bearbeiten oder zu löschen, wird die Datenbanksprache SQL (Structured Query Language) eingesetzt. SQL basiert auf der relationalen Algebra und zeichnet sich durch eine einfache Syntax aus, die mit wenigen Grundbefehlen auskommt.
Wichtig dabei ist: Jeder Datensatz innerhalb der Datenbank muss eindeutig zu identifizieren sein und darf dort nur einmal gespeichert werden. Dadurch, dass die Daten auf die verschiedenen Tabellen verteilt und miteinander verbunden sind, wird garantiert, dass die Datenbank konsistent und redundanzfrei ist.
Dieses System bietet mehrere Vorteile: Gerade wenn es darum geht, feste Strukturen abzubilden oder Daten eindeutig miteinander zu verknüpfen, sind relationale Datenbanken das Mittel der Wahl. Selbst komplexe Datenabfragen nach verschiedenen Kriterien stellen kein Problem dar. SQL-Datenbanken verfügen zudem in der Regel über umfassende Tools, die die Entwicklung datenbankgestützter Anwendungen erleichtern.
Im Umfeld von Big-Data-Anwendungen stoßen relationale Datenbanken jedoch an ihre Grenzen, besonders wenn es darum geht, große Datenmengen zu speichern und zu verarbeiten. RDBMS lassen sich nicht beliebig skalieren. Auch ist es kaum möglich, unstrukturierte Inhalte wie Bilder, Dokumente oder Daten aus der Kundenkommunikation sinnvoll zu speichern. Je größer die Masse an unstrukturierten Daten wird, umso mehr Zeit kostet es Entwickler, sie in Tabellen zu pressen und zu verknüpfen.
NoSQL-Datenbanken
Im Big-Data-Umfeld kommen deshalb immer häufiger nicht-relationale Datenbanken, sogenannte NoSQL-Datenbanken zum Einsatz. NoSQL sind Datenbanksysteme, die mit den Eigenschaften relationaler Datenbanken brechen und alternative Modelle verwenden. Sie verzichten auf starre Schemata beim Speichern von Daten oder überlassen das den Anwendungen.
Mit ihrer Hilfe lassen sich beliebige Datensätze und -strukturen speichern und in hoher Geschwindigkeit verarbeiten: Während bei relationalen Modellen Tabellen mit Spalten und Zeilen verwendet werden, nutzen NoSQL-Datenbanken hier Wertepaare, Objekte, Dokumente oder Listen für die Organisation der Daten.
Diese Datenbanken liefern Data Scientists wertvolle Erkenntnisse, da sowohl strukturierte als auch unstrukturierte Datenquellen aus internen und externen Quellen kombiniert werden können. Sie eignen sich, um große und exponentiell wachsende Datenmengen performant zu verarbeiten und skalierbare, verteilte Architekturen zu unterstützen.
Große Datenmengen lassen sich hier in einem Cluster auf Standardsystemen verwalten, anstatt die Daten auf einem einzigen Server zu speichern. Nicht-relationale Datenbanken sind darüber hinaus einfach einzusetzen und zeichnen sich durch eine hohe Leistungsfähigkeit und Durchsatzrate aus.
SQL versus NoSQL – Die Unterscheidungskriterien
NoSQL-Datenbanken kommen vor allem im Big-Data-Umfeld und bei komplexen Abfragen von unstrukturierten Daten zum Einsatz. Sie funktionieren schemafrei und ermöglichen das flexible Ändern von Datendefinitionen mit Versionierungen und Hintergrundkonvertierungen. Auf diese Weise können Unternehmen die stetig wachsenden Datenmengen performant, einfach und schnell verarbeiten. Zudem werden skalierbare, leistungsfähige und verteilte Architekturen unterstützt.
Gerade wenn Unternehmen nicht wissen, mit welchen Datenmengen sie es zu tun haben oder große Mengen verschiedener Informationstypen bearbeiten müssen, helfen NoSQL-Datenbanken weiter. Sie arbeiten auf der neuesten Hardwaregeneration und unterstützen verteilte Datenbank-Cluster. Während SQL-Daten meistens nach dem ACID-Prinzip gespeichert sind, verwenden NoSQL-Systeme das BASE-Modell (Basically Available, Soft State, Eventually Consistent).
„NoSQL sind Datenbanksysteme, die mit den Eigenschaften relationaler Datenbanken brechen und alternative Modelle verwenden.“
Arsalan Minhas, OpenText
Relationale Datenbanksysteme haben jedoch auch in Zukunft ihre Berechtigung, wenn Unternehmen bereits in eine entsprechende Infrastruktur investiert haben. Die Migrationskosten wären ansonsten sehr hoch.
Relationale Datenbanken benötigen in der Regel weniger Speicherplatz und Rechenleistung. Zudem ist bei den nicht-relationalen Pendants ein fundiertes Wissen nötig und Mitarbeiter müssen sich an nicht-standardisierte Interfaces gewöhnen. Darüber hinaus kommt es gerade bei veralteten Zugriffen in Verbindung mit Echtzeitanwendungen oftmals zu ungenauen Ergebnissen.
Der Blick in die Zukunft
Der Trend wird weiter in Richtung nicht-relationale Datenbank-Management-Systeme (RDBMS) gehen. Denn Unternehmen verfügen bereits heute über riesige Data Lakes, die sie nur in den wenigsten Fällen nutzen können.
Ihnen fehlen in vielen Fällen fortschrittliche Analysemethoden, um aus diesen Daten wertvolle Geschäftseinblicke generieren zu können. Viele befinden sich noch in der Early-Adopter-Phase. Da Anwender aber mehr und mehr auf maschinell-generierte Empfehlungen setzen, wird die Nachfrage nach nicht-relationalen Datenbanken steigen.
Über den Autor:
Arsalan Minhas ist Director Solution Consulting bei OpenText.
Folgen Sie SearchEnterpriseSoftware.de auch auf Twitter, Google+, Xing und Facebook!