Dies ist eine alte Version des Dokuments!
LU03b - Relational oder NoSQL?
Lernziele
- Ich kann erklären, wie NoSQL-Datenbanken Daten ablegen und worin der Unterschied zu Tabellen besteht.
- Ich kann für eine gegebene Anforderung begründen, ob eher eine relationale oder eine NoSQL-Datenbank passt.
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.
