LU03b - Relational oder NoSQL?

Lernziele

Es gibt nicht nur Tabellen

Auf der vorherigen Seite haben Sie gesehen, wie relationale Datenbanken Daten in Tabellen organisieren. Es gibt aber auch Datenbanken, die ganz anders vorgehen.

NoSQL steht heute meist für „Not only SQL“. Es geht also nicht darum, SQL abzulehnen, sondern um Datenbanken, die Daten anders als in Tabellen ablegen. Sie werden vor allem eingesetzt, wenn Daten wenig oder gar nicht strukturiert sind oder wenn sehr grosse Datenmengen sehr schnell gespeichert werden müssen.

Wie sieht das aus?

Eine Dokumenten-Datenbank (z.B. MongoDB) speichert jeden Datensatz als eigenes Dokument – meist im JSON-Format:

{
  "name": "Hanna",
  "email": "h.m@muster.com",
  "bestellungen": ["toothbrush"],
  "newsletter": true
}

Der entscheidende Unterschied: Ein anderes Dokument in derselben Datenbank darf ganz andere Felder haben – eines mit Telefonnummer, eines ohne. In einer relationalen Tabelle müssen dagegen alle Zeilen dieselben Spalten besitzen.

Bekannte NoSQL-Systeme sind MongoDB, Redis und Apache Cassandra.

Wann welche Datenbank?

Kriterium Relationale Datenbank NoSQL-Datenbank
Struktur feste Tabellen mit gleichen Spalten flexible Dokumente
Stärke Genauigkeit, Beziehungen zwischen Daten Geschwindigkeit, grosse Datenmengen
Typischer Einsatz Webshop, Online-Banking, Buchungen Sensordaten, Logs, Social-Media-Feeds
Abfragesprache SQL herstellerabhängig

Kurz gesagt: Überall dort, wo es auf Genauigkeit und Nachvollziehbarkeit ankommt – also bei Bestellungen, Zahlungen oder Buchungen –, sind relationale Datenbanken nach wie vor die erste Wahl. Genau deshalb arbeiten wir in diesem Modul damit.

Video


Dieses Video vergleicht relationale und nicht-relationale Datenbanken.1)
Nutzen Sie die automatische Untertitel-Übersetzung von YouTube, wenn die englische Sprache Verständnisschwierigkeiten bereitet.

Quellen


Guido Koch

1)
IBM Technology: Relational vs. Non-Relational Databases