Kurs

Wir geben dir einen umfassenden Überblick über Funktionsweise und Einsatz von NoSQL-Datenbanken für Datenwissenschaftler.
Data Science und NoSQL-Datenbanken
Als Data Scientist geht es nicht nur darum, Machine-Learning-Modelle zu bauen. Du musst Ergebnisse auch verarbeiten, analysieren und überzeugen kommunizieren können – und zwar aus Daten in unterschiedlichen Formaten.
Traditionelle SQL-Datenbanken waren über Jahre der De-facto-Standard. Mit dem Siegeszug des Internets Mitte der 1990er und der digitalen Transformation trat jedoch ein neuer Datentyp in den Vordergrund: NoSQL-Datenbanken. Sie entstanden als Antwort auf die Schwächen klassischer SQL-Systeme.
NoSQL-Datenbanken können zum Beispiel von Data Scientists und Machine-Learning-Engineers genutzt werden, um Daten, Modell-Metadaten, Features und Betriebsparameter zu speichern. Data Engineers setzen sie wiederum ein, um bereinigte Daten zu speichern und abzurufen.
In diesem konzeptionellen Blog (ohne Code) bauen wir zunächst dein Verständnis für NoSQL-Datenbanken auf und zeigen, warum NoSQL wichtig ist. Wir vergleichen SQL und NoSQL, gehen auf Einsatzszenarien und Kategorien ein und werfen zum Schluss einen Blick auf die populärsten NoSQL-Datenbanken für Data Scientists.
Was sind NoSQL-Datenbanken?
NoSQL steht für Not Only SQL. NoSQL-Datenbanken sind nicht relational und können Daten unstrukturiert speichern. Die folgende Grafik zeigt die fünf wichtigsten Merkmale von NoSQL-Datenbanken.

Warum sind NoSQL-Datenbanken wichtig?
NoSQL-Datenbanken sind in der Praxis aus folgenden Gründen beliebt:
- Multimodale Daten: NoSQL-Datenbanken sind flexibler als klassische SQL-Systeme, da sie strukturierte (z. B. Sensordaten), unstrukturierte (Bilder, Videos usw.) und semi-strukturierte (XML, JSON usw.) Daten speichern können.
- Einfache Skalierung: Dank Peer-to-Peer-Architekturen lassen sich problemlos weitere Maschinen hinzufügen.
- Globale Verfügbarkeit: Dieselben Daten können gleichzeitig von verschiedenen Standorten aus über mehrere Maschinen abgerufen werden, da die Datenbank global verteilt ist.
- Flexibilität: NoSQL-Datenbanken passen sich schnell an geänderte Anforderungen mit häufigen Updates und neuen Features an.
NoSQL-Datenbanken vs. SQL-Datenbanken
|
SQL-Datenbanken |
NoSQL-Datenbanken |
|
|
Sprache |
SQL-Datenbanken nutzen strukturierte Abfragesprachen und erfordern vordefinierte Schemata, um effektiv mit den Daten zu arbeiten. |
NoSQL-Datenbanken verwenden hingegen ein dynamisches Schema für Abfragen. Einige NoSQL-Systeme bieten zudem eine SQL-ähnliche Syntax für die Dokumentmanipulation. |
|
Datenschema |
SQL-Datenbanken haben ein vordefiniertes, festes Format, das sich für neue Daten nicht ändern lässt. |
NoSQL-Datenbanken sind deutlich flexibler. Datensätze können ohne vordefinierte Struktur angelegt werden, und jeder Datensatz kann seine eigene Struktur haben. |
|
Skalierung |
SQL-Datenbanken skalieren vertikal. Eine einzelne Maschine muss CPU, RAM, SSD usw. erweitern, um den Bedarf zu decken. |
NoSQL-Datenbanken skalieren horizontal. Zusätzliche Maschinen werden der bestehenden Infrastruktur hinzugefügt, um den Speicherbedarf zu erfüllen. |
|
Big-Data-Unterstützung |
Durch die vertikale Skalierung ist es für SQL-Datenbanken schwierig, sehr große Datenmengen (Petabytes) zu speichern. |
Horizontale Skalierung und dynamische Schemata machen NoSQL für Big Data geeignet. Zudem wurden NoSQL-Systeme von großen Internetunternehmen (Amazon, Google, Yahoo usw.) entwickelt, um mit rasant wachsenden Datenmengen umzugehen. |
|
Eigenschaften |
SQL-Datenbanken folgen ACID (Atomicity, Consistency, Isolation, Durability). |
NoSQL-Datenbanken orientieren sich am CAP-Theorem (Consistency, Availability, Partition Tolerance). |
Wann sollten NoSQL-Datenbanken eingesetzt werden?
In einem dynamischen, wettbewerbsintensiven Umfeld müssen Unternehmen so viele Daten wie möglich erfassen, um ihre Ziele zu erreichen. Daten zu sammeln ist das eine – sie in der passenden Infrastruktur zu speichern, die andere Herausforderung. Die Schwierigkeit: Daten können Bilder, Videos, Text oder Audio sein. Relationale Datenbanken sind dafür nicht immer die beste Wahl. Die Kernfrage lautet daher:
Wann NoSQL statt SQL nutzen?
Du solltest NoSQL in Erwägung ziehen, wenn Folgendes gilt:
- Ständig wechselnde Daten: Wenn unklar ist, wie sich System oder Anwendungen entwickeln – etwa mit neuen Datentypen oder Funktionen.
- Sehr große Datenmengen: Wenn dein Unternehmen mit riesigen, wachsenden Datenbeständen arbeitet.
- Geringere Konsistenzanforderungen: Wenn absolute Konsistenz und 100% Integrität nicht Priorität haben. Beispiel: In einem internen sozialen Netzwerk ist es oft egal, ob alle Mitarbeitenden einen Beitrag exakt gleichzeitig sehen.
- Skalierung und Kosten: NoSQL bietet hohe Flexibilität und hilft, Kosten im Zuge veränderter Datenanforderungen zu steuern.
Die 4 Hauptarten von NoSQL-Datenbanken
NoSQL-Datenbanken lassen sich in vier Hauptkategorien einteilen. Jede hat ihre Besonderheiten – wähle also die Variante, die am besten zu deinem Use Case passt: Unten findest du die wichtigsten Beispiele für NoSQL-Datenbanken. Dieser Abschnitt beschreibt Rolle, Vorteile und Einschränkungen sowie typische Einsatzfelder.

1. Dokumenten-Datenbanken
Dieser Typ speichert und fragt Dokumente wie JSON, XML, BSON usw. ab. Jedes Dokument entspricht einer Zeile bzw. einem Datensatz in der Datenbank und folgt einem Key-Value-Format. Ein Dokument enthält Informationen über ein Objekt und die dazugehörigen Daten. Beispiel: Die folgende Datenbank enthält drei Datensätze, die jeweils Informationen über eine Studentin oder einen Studenten enthalten. Im ersten Dokument ist firstname der Schlüssel und Franck der Wert.
Vorteile von Dokumenten-Datenbanken
- Schemalos: Keine Vorgaben für Format und Struktur der Datenspeicherung – besonders hilfreich bei kontinuierlichen Änderungen.
- Einfaches Aktualisieren: Neue Informationen lassen sich hinzufügen oder entfernen, ohne andere Felder des Dokuments anzutasten.
- Leistung: Alle Informationen zu einem Dokument stehen im selben Dokument. Zusätzliche Joins wie in relationalen Datenbanken entfallen.
Einschränkungen von Dokumenten-Datenbanken
- Konsistenzprüfung: Dokumente müssen nicht zueinander in Beziehung stehen und können unterschiedliche Felder besitzen.
- Atomarität: Müssen zwei Collections verändert werden, ist für jedes Dokument eine eigene Abfrage nötig.
Wann Dokumenten-Datenbanken einsetzen
- Empfohlen, wenn sich dein Datenschema in Zukunft häufig ändern kann.
Anwendungsfälle
- Dank ihrer Flexibilität eignen sie sich für Online-Nutzerprofile, in denen unterschiedliche Nutzer unterschiedliche Informationen haben. Jedes Profil enthält nur die jeweils relevanten Attribute.
- Einsatz im Content-Management, wo Daten aus vielen Quellen effizient gespeichert und für neue Inhaltsarten genutzt werden.
2. Key-Value-Datenbanken
Das sind die einfachsten NoSQL-Datenbanken. Jedes Element wird als Schlüssel-Wert-Paar gespeichert. Man kann sie sich als Tabelle mit genau zwei Spalten vorstellen: eine mit einem eindeutigen Schlüssel, die andere mit dem zugehörigen Wert. Werte können primitive Typen wie Integer, String oder Float sein, aber auch komplexere wie Bilder oder Dokumente.
Das folgende Beispiel zeigt eine Key-Value-Datenbank mit Kundeninformationen: Der Schlüssel ist die Telefonnummer, der Wert der monatliche Einkauf.

Vorteile von Key-Value-Datenbanken
- Einfachheit: Die Struktur ist selbsterklärend. Ohne strenge Datentypen ist die Nutzung unkompliziert.
- Geschwindigkeit: Das einfache Format beschleunigt Lese- und Schreib-Operationen.
Einschränkungen von Key-Value-Datenbanken
- Keine Filterung nach dem Wert-Feld, da der gesamte gespeicherte Wert zurückgegeben wird.
- Optimiert für genau ein Schlüssel-Wert-Paar. Mehrere Werte erfordern zusätzliche Parser-Logik.
- Der Wert wird immer als Ganzes aktualisiert. Dazu muss der gesamte Datensatz gelesen, verarbeitet und komplett zurückgeschrieben werden – potenziell mit Performance-Impact.
Wann Key-Value-Datenbanken einsetzen
- Geeignet für Anwendungen mit einfachen, schlüsselbasierten Abfragen.
- Für einfache Apps, die temporär Objekte wie Caches speichern.
- Auch bei Bedarf an Echtzeitzugriffen sinnvoll.
Anwendungsfälle
- Besonders geeignet für einfache Anwendungen, die temporär schlichte Objekte wie Caches speichern.
3. Wide-Column-Datenbanken
Wie der Name sagt, speichern spaltenorientierte Datenbanken Daten als Sammlung von Spalten; jede Spalte wird separat behandelt. Die Implementierung folgt dem Google-Bigtable-Ansatz. Sie werden vor allem für analytische Workloads genutzt, etwa Business Intelligence, Data-Warehouse-Management und Customer-Relationship-Management.
So lassen sich etwa der durchschnittliche Kund:innnenalter und der durchschnittliche Produktpreis per Aggregatfunktion AVG je Spalte schnell berechnen.

4. Graph-/Knoten-Datenbanken
Graphdatenbanken speichern, modellieren und durchsuchen Beziehungen zwischen Knoten über Kanten. Ein Knoten ist ein Datenelement (Objekt/Entität) und hat eingehende oder ausgehende Kanten. Eine Kante repräsentiert die Beziehung zwischen zwei Knoten und enthält Eigenschaften zu den verbundenen Knoten.
„Zoumana studiert an der Texas Tech University. Er läuft gern im Park auf dem Universitätsgelände.“

Vorteile von Graph-/Knoten-Datenbanken
- Agile, flexible Struktur.
- Beziehungen sind explizit und für Menschen gut lesbar – dadurch leicht verständlich.
Einschränkungen von Graph-/Knoten-Datenbanken
- Keine standardisierte Abfragesprache; Abfragen sind oft plattformspezifisch.
- Daraus folgt: Bei Problemen ist es schwieriger, Online-Support zu finden.
Wann Graph-/Knoten-Datenbanken einsetzen
- Wenn Beziehungen zwischen Datenelementen modelliert und diese Beziehungen schnell abgefragt werden sollen.
Anwendungsfälle
- Echtzeit-Betrugserkennung bei Finanztransaktionen.
- Social-Media-Analysen, z. B. nutzt LinkedIn Graphdatenbanken, um Follower-Beziehungen und Verknüpfungen zu Fachgebieten (z. B. ML Engineer) zu identifizieren.
- Netzwerkkartierung, da hier Beziehungen zwischen Hardware und den darauf laufenden Services abgebildet werden.
Die 7 besten NoSQL-Datenbanken für Data Science
Jetzt, da du NoSQL besser einordnen kannst, folgt eine Auswahl beliebter NoSQL-Datenbanken für Data-Science-Projekte. Der Fokus liegt auf Open-Source-Systemen.

1. MongoDB
MongoDB ist eine Open-Source-Dokumenten-Datenbank, die Daten im JSON-Format speichert. Sie ist weit verbreitet, auf hohe Verfügbarkeit und Skalierung ausgelegt und bietet automatisches Sharding sowie integrierte Replikation. Unser Introduction to MongoDB course zeigt den Einsatz von MongoDB mit Python und hilft dir, flexibel strukturierte Daten zu bearbeiten und zu analysieren. Uber, LaunchDarkl, Delivery Hero und 4.300 weitere Unternehmen nutzen MongoDB in ihrem Tech-Stack.
2. Cassandra
Cassandra ist ebenfalls eine Open-Source-Weitspalten-Datenbank. Sie verteilt Daten über mehrere Maschinen und partitioniert automatisch neu, wenn du weitere Knoten hinzufügst. Uber, Facebook, Netflix und 506 weitere Unternehmen setzen darauf.
3. Elasticsearch
Elasticsearch ist wie MongoDB dokumentenorientiert und Open Source. Es ist ein weltweit führendes Such- und Analysetool mit Fokus auf Skalierbarkeit und Geschwindigkeit. Uber, Shopify, Udemy und rund 3.760 weitere Unternehmen nutzen es in ihrem Stack.
4. Neo4J
Neo4J ist eine Open-Source-Graphdatenbank, die vor allem bei wachsenden, beziehungsreichen Datenbeständen zum Einsatz kommt. Rund 220 Unternehmen berichten, Neo4J im Tech-Stack zu haben.
5. HBase
HBase ist eine verteilte, spaltenorientierte Datenbank und bietet ähnliche Fähigkeiten wie Googles BigTable auf Basis von Apache Hadoop. Angeblich nutzen 81 Unternehmen HBase in ihrem Stack.
6. CouchDB
CouchDB ist ebenfalls eine Open-Source-Dokumenten-Datenbank und speichert Daten im JSON-Format. Etwa 84 Unternehmen setzen sie in ihrem Tech-Stack ein.
7. OrientDB
OrientDB ist eine Open-Source-Multimodell-Datenbank und unterstützt Graph-, Dokument-, Key-Value- und Objektmodelle. Nur 13 Unternehmen berichten, sie im Tech-Stack zu nutzen.
Fazit
Dieser Blog hat die wichtigsten Aspekte von NoSQL-Datenbanken beleuchtet und gezeigt, wie sie deinen Data-Science-Projekten in schnelllebigen Umgebungen nutzen. Du hast jetzt das Rüstzeug, um die passende Datenbank für deinen Use Case auszuwählen. Wenn du noch zögerst: Jetzt ist der richtige Zeitpunkt für dich und dein Team, die Stärken dieser Datenbanken zu nutzen.
Mehr dazu lernst du in unserem Kurs zu NoSQL concepts, der dein Wissen zu den vier vorgestellten Hauptarten vertieft.