Apps und Analysen beschleunigen mit NoSQL

Im Gespräch mit Prof. Dr. Carsten Kleiner von der Hochschule Hannover, Fakultät IV, Abt. Informatik

von - 18.07.2018
Professor Carsten Kleiner lehrt an der Hochschule Hannover unter anderem über Datenstrukturen und Datenbanksysteme. Im Interview mit com! professional erklärt er, welche Vorteile NoSQL-Datenbanken haben und was man bei der Wahl einer cloudbasierten NoSQL-Lösung beachten sollte.
com! professional: Herr Professor Kleiner, welche Rolle spielen NoSQL-Datenbanken im Studium Ihrer Studenten?
Carsten Kleiner: In unserem Bachelor-Studiengang „Angewandte Informatik“ können wir das Thema nur am Rande bearbeiten, weil die Studenten zunächst einmal relationale Datenbanksysteme verstehen
Carsten Kleiner
Prof. Dr. Carsten Kleiner: Hochschule Hannover, Fakultät IV, Abt. Informatik
(Quelle: Carsten Kleiner )
müssen, um eine Grundlage zu haben. Es gibt aber einen Vertiefungskurs Datenbanksysteme, in dem wir auch nicht relationale Systeme in Ansätzen behandeln. Im Master-Studiengang biete ich die Veranstaltung „Datenbankparadigmen“ an, in der ich auch ausführlich auf NoSQL-Ansätze eingehe.
com! professional: Und in Ihren Forschungsprojekten?
Kleiner: Unsere Forschung ist sehr angewandt, wir kooperieren eng mit Unternehmen. Da steht das Thema NoSQL noch nicht so sehr im Fokus.
com! professional: Kann man daraus schließen, dass Unternehmen bei der Nutzung von NoSQL-Datenbanken zögern?
Kleiner: Diese Frage lässt sich nicht allgemein beantworten. NoSQL-Datenbanken stellen insgesamt ein so heterogenes Feld dar, dass Aussagen meist nicht für alle Systeme gleichermaßen gelten. Viele Firmen sind aber auf jeden Fall noch in der Experimentierphase.
com! professional: Welche Unternehmen setzen NoSQL schon produktiv ein?
Kleiner: Das sind eher junge, internetaffine Firmen und weniger traditionelle Unternehmen wie Finanzdienstleister, die bereits große relationale Datenbanken – oder womöglich sogar noch ältere Systeme – betreiben. Sie experimentieren zwar auch mit den NoSQL-Alternativen, ein Umzug ihrer Produktivsysteme auf NoSQL ergäbe aber schon aus rein wirtschaftlicher Sicht aktuell keinen Sinn.
com! professional: Wo liegen die typischen Einsatzgebiete für NoSQL-Datenbanken?
Kleiner: Überall wo Geräte sehr viele, eher einfache Daten generieren, die zentral ko­ordiniert werden müssen, etwa im Bereich Smart Home oder beim vernetzten Fahren. Eine Variante von NoSQL, die Dokumenten-Datenbanken, werden häufig in kleinen bis mittleren Projekten eingesetzt, wo Daten in nicht allzu großer Komplexität und Menge zwischen verschiedenen Systemen ausgetauscht werden sollen. Mit so einer Datenbank ist man flexibel und kann auch dann weiter arbeiten, wenn sich die Schnittstellen ändern, ohne erst das ganze Datenmodell neu definieren zu müssen.
com! professional: NoSQL ist besonders für nicht strukturierte oder semistrukturierte Daten geeignet. Sehen Sie darin auch einen der Hauptvorteile?
Kleiner: Davon bin ich nicht so ganz überzeugt. Alle aktuellen relationalen Systeme können beispielsweise auch XML-Dokumente speichern. Die Frage ist weniger, in welchem Format die Daten vorliegen, sondern vielmehr, was man mit der Speicherung bezweckt. Sollen die Daten beispielsweise durchsucht und analysiert werden können? Das wird schwierig, wenn keine Struktur vorgegeben ist.
com! professional: Wie sieht es mit Streaming-Daten aus?
Kleiner: Damit können relationale Systeme in der Tat Schwierigkeiten haben, wenn sehr viele Daten sehr schnell gespeichert werden müssen. Sie sind nicht dafür ausgelegt, sehr viele parallele Schreibzugriffe zu verarbeiten. NoSQL-Systeme können durch ihre Skalierbarkeit hier Vorteile bieten.
com! professional: Worin sehen Sie die größten Nachteile von NoSQL?
Kleiner: Der große Vorteil, kein explizites Datenmodell entwickeln zu müssen, ist gleichzeitig der größte Nachteil. Entwickler verwenden NoSQL-Datenbanken gerne, weil sie ohne großen Aufwand ihre Daten darin speichern können. Wenn die Anwendung aber nicht gut dokumentiert ist oder später Fehler auftreten, ist es ausgesprochen schwierig, die Ursachen dafür zu finden, weil höchstens die ursprünglichen Entwickler wissen, wie die Daten überhaupt strukturiert sind.
com! professional: Raten Sie also auch beim Einsatz von NoSQL dazu, immer ein Datenmodell zu entwerfen?
Kleiner: Man sollte sich auch beim Einsatz von NoSQL Gedanken über die Struktur der Daten machen. Es muss ja nicht in der Tiefe und Ausführlichkeit sein, wie das bei relationalen Systemen notwendig ist.
com! professional: Viele NoSQL-Datenbanken sind kostenlos. Ist das auch ein Anreiz, sie einzusetzen?
Kleiner: Kostenlose Varianten gibt es mittlerweile auch von rela­tionalen Systemen. Wenn man Enterprise-Features benötigt, muss man auch bei NoSQL-Systemen zu den kostenpflichtigen Versionen greifen. Dennoch kommt man in der Regel immer noch wesentlich günstiger weg als mit hochpreisigen traditionellen Systemen wie DB2 oder Oracle.
com! professional: Was schätzen Anwender an NoSQL-Datenbanken noch, abgesehen vom Preis?
Kleiner: Die Einstiegshürde ist nicht so hoch wie bei den klassischen Systemen. Eine Oracle-Datenbank installiert man nicht mal so eben in einem Tag.  NoSQL-Systeme sind dagegen schnell einsatzbereit. Die meisten NoSQL-Datenbanken sind außerdem für eine horizontale Skalierung konzipiert. Während sich relationale Systeme im Wesentlichen nur durch neue, stärkere Hardware beschleunigen lassen, fügt man im NoSQL-Umfeld einfach zusätzliche Server oder Rechenknoten hinzu. Man kann daher sehr dynamisch mehr Leistung bereitstellen.
com! professional: Eignen sich NoSQL-Datenbanken deshalb auch besonders gut für die Nutzung in der Cloud?
Kleiner: Ja, das ist einer der Gründe, warum NoSQL-Datenbanken gerne in der Cloud betrieben werden. Starke Schwankungen in den Lastanforderungen kann man über eine solche Infrastruktur am besten abdecken.
com! professional: Gibt es weitere Gründe, die für NoSQL aus der Cloud sprechen?
Kleiner: Man spart Zeit, unter Umständen auch Geld, und benötigt weniger Personal für die Implementierung und Verwaltung. NoSQL-Datenbanken wie MongoDB kann man fertig in der Cloud buchen und direkt einsetzen.
com! professional: Nach welchen Kriterien sollten Unternehmen eine NoSQL-Datenbank aus der Cloud auswählen?
Kleiner: Entscheidend ist, welche Daten gespeichert werden sollen und wie die Abfragen auf diese Daten aussehen. Wie groß sind die Datenmengen, wie komplex sind die Daten und mit welcher Dynamik ist zu rechnen? Das sind wichtige Punkte, die man sich klarmachen sollte.
com! professional: Spielen Konsistenzüberlegungen auch eine Rolle?
Kleiner: Ja sicher. Auch die meisten NoSQL-Datenbanken lassen sich so konfigurieren, dass sie die ACID-Kriterien (Atomicity, Consistency, Isolation und Durability) erfüllen, auch wenn das eher ein untypischer Anwendungsfall ist.
com! professional: Viele Anwender lockt ja die praktisch unbegrenzte Skalierbarkeit in die Cloud …
Kleiner: … die Frage ist nur, ob sie die wirklich brauchen. Ein einzelner Server kann schon eine Menge Daten speichern, viele Anwendungsanforderungen sind damit locker abgedeckt. Es muss sich also schon um ein extrem dynamisches System handeln, wenn die Cloud in dieser Hinsicht ihre Stärke ausspielen soll …
com! professional: … also typische Big-Data-Anwendungen?
Kleiner: Ja, im Prinzip schon. Allerdings ist der Begriff „Big“ in Big Data mit sehr unterschiedlichen Größenordnungen belegt. Einige glauben, sie haben Big Data, weil sie Tabellen mit ein paar Hunderttausend Zeilen verwenden. Das ist aber nicht wirklich „Big“, damit sollte jedes Datenbanksystem locker auch auf einem einzelnen Server klarkommen.
Verwandte Themen