NoSQL-Datenbanken
Die Schülerinnen und Schüler lernen verschiedene Typen von NoSQL-Datenbanken kennen und vergleichen sie mit relationalen Datenbanken.
Über dieses Thema
NoSQL-Datenbanken erweitern den Horizont relationaler Systeme, indem sie flexible Modelle für unstrukturierte und große Datenmengen bieten. Schülerinnen und Schüler in der Oberstufe lernen Typen wie Key-Value-Speicher (z. B. Redis für Caching), Dokumentendatenbanken (z. B. MongoDB für JSON-ähnliche Dokumente), Spaltenspeicher (z. B. Cassandra für Analysen) und Graphdatenbanken (z. B. Neo4j für Beziehungen) kennen. Sie vergleichen diese mit SQL-Datenbanken hinsichtlich Skalierbarkeit, Konsistenzmodellen (CAP-Theorem) und Abfragekomplexität.
Im Kontext der KMK-Standards zu Strukturieren, Vernetzen, Beurteilen und Bewerten analysieren Lernende Anwendungsbereiche: Key-Value für schnelle Lookups in Echtzeit-Systemen, Dokumenten-DBs für Content-Management, Graphen für Empfehlungssysteme in sozialen Netzwerken. Sie begründen, wann NoSQL sinnvoll ist, etwa bei horizontaler Skalierung oder Big Data, und bewerten Trade-offs wie fehlende ACID-Eigenschaften.
Aktives Lernen eignet sich hervorragend, weil praktische Prototypen und Fallstudien die abstrakten Unterschiede erlebbar machen. Schüler bauen Vergleichstabellen oder testen Queries in Tools wie MongoDB Compass, was Strukturdenken schult und Bewertungskompetenzen vertieft.
Leitfragen
- Vergleichen Sie die Anwendungsbereiche und Vorteile von NoSQL-Datenbanken gegenüber relationalen Datenbanken.
- Analysieren Sie die verschiedenen NoSQL-Modelle (z.B. Key-Value, Dokument, Graph) und ihre Eigenschaften.
- Begründen Sie, wann der Einsatz einer NoSQL-Datenbank sinnvoll ist.
Lernziele
- Vergleichen Sie die Skalierbarkeits- und Konsistenzmodelle von Key-Value-, Dokumenten-, Spalten- und Graphdatenbanken mit denen relationaler Datenbanken.
- Analysieren Sie die Eignung verschiedener NoSQL-Datenbanktypen für spezifische Anwendungsfälle wie Echtzeit-Caching, Content-Management oder soziale Netzwerke.
- Bewerten Sie die Trade-offs bei der Wahl zwischen relationalen und NoSQL-Datenbanken hinsichtlich ACID-Eigenschaften, Abfrageflexibilität und Datenstruktur.
- Erklären Sie das CAP-Theorem und seine Implikationen für die Designentscheidungen bei verteilten NoSQL-Datenbanksystemen.
Bevor es losgeht
Warum: Ein Verständnis von Tabellen, Beziehungen, Primär- und Fremdschlüsseln sowie grundlegenden SQL-Abfragen ist notwendig, um die Unterschiede zu NoSQL-Datenbanken zu verstehen.
Warum: Die Fähigkeit, Datenstrukturen zu entwerfen und zu organisieren, hilft den Lernenden, die verschiedenen Datenmodelle von NoSQL-Datenbanken zu analysieren und zu vergleichen.
Schlüsselvokabular
| Key-Value-Speicher | Eine Art von NoSQL-Datenbank, die Daten als eine Sammlung von Schlüssel-Wert-Paaren speichert, optimiert für schnelle Lese- und Schreibzugriffe. |
| Dokumentendatenbank | Eine NoSQL-Datenbank, die Daten in flexiblen, semi-strukturierten Dokumenten speichert, oft im JSON- oder BSON-Format, was eine schemalose Entwicklung ermöglicht. |
| Graphdatenbank | Eine NoSQL-Datenbank, die Daten als Knoten und Kanten darstellt, ideal für die Modellierung und Abfrage komplexer Beziehungen zwischen Datenpunkten. |
| CAP-Theorem | Ein fundamentales Theorem in verteilten Systemen, das besagt, dass eine verteilte Datenbank nicht gleichzeitig Konsistenz (Consistency), Verfügbarkeit (Availability) und Partitionstoleranz (Partition Tolerance) garantieren kann. |
| Schemaflexibilität | Die Fähigkeit einer Datenbank, Daten ohne ein vordefiniertes, starres Schema zu speichern, was eine einfachere Anpassung an sich ändernde Datenanforderungen ermöglicht. |
Vorsicht vor diesen Fehlvorstellungen
Häufige FehlvorstellungNoSQL-Datenbanken sind immer schneller und besser als relationale.
Was Sie stattdessen lehren sollten
NoSQL excelliert bei Skalierbarkeit und Flexibilität, relational bei Transaktionen mit ACID. Aktive Gruppenvergleiche mit Benchmarks helfen Schülern, Trade-offs zu erkennen und begründete Entscheidungen zu treffen.
Häufige FehlvorstellungNoSQL hat keine Struktur und ist chaotisch.
Was Sie stattdessen lehren sollten
Jedes NoSQL-Modell hat eigene Schemata, z. B. implizit in Dokumenten. Praktische Modellierungsübungen in Paaren machen Schemendesign sichtbar und korrigieren das Bild durch eigene Experimente.
Häufige FehlvorstellungGraphdatenbanken eignen sich nur für Netzwerke.
Was Sie stattdessen lehren sollten
Graphen modellieren komplexe Beziehungen überall, z. B. in Wissensgraphen. Whole-Class-Simulationen von Queries zeigen breite Anwendungen und fördern vernetztes Denken.
Ideen für aktives Lernen
Alle Aktivitäten ansehenGruppenvergleich: NoSQL vs. relational
Teilen Sie die Klasse in kleine Gruppen auf. Jede Gruppe erhält einen NoSQL-Typ und vergleicht ihn mit relationalen DBs in einer Tabelle zu Kriterien wie Skalierbarkeit, Schema und Use Cases. Gruppen präsentieren Ergebnisse.
Pair Programming: MongoDB Query
In Paaren installieren Schüler MongoDB lokal oder nutzen eine Cloud-Version. Sie laden Beispieldaten und schreiben Queries für Dokumentensuche. Paare debuggen gemeinsam und notieren Vor- und Nachteile.
Whole Class: Graph-DB Case Study
Die Klasse diskutiert gemeinsam eine Fallstudie zu Neo4j in einem Sozialnetzwerk. Schüler modellieren Beziehungen auf Whiteboards und simulieren Queries. Abschließende Abstimmung zu Einsatzsinnhaftigkeit.
Individual: Einsatzbegründung
Jeder Schüler wählt ein reales Szenario (z. B. E-Commerce) und begründet schriftlich den passenden NoSQL-Typ. Einreichung und Peer-Feedback folgen.
Bezüge zur Lebenswelt
- Unternehmen wie Netflix nutzen Dokumentendatenbanken wie MongoDB, um Benutzerprofile und Wiedergabeverläufe zu speichern. Diese Datenstruktur ermöglicht es, schnell auf vielfältige Benutzerinformationen zuzugreifen und personalisierte Empfehlungen zu generieren.
- Soziale Netzwerke wie LinkedIn oder Facebook verwenden Graphdatenbanken, um komplexe Beziehungen zwischen Nutzern, Interessen und Verbindungen zu modellieren. Dies ist entscheidend für Funktionen wie Freundschaftsempfehlungen oder die Anzeige von gemeinsamen Kontakten.
- E-Commerce-Plattformen setzen Key-Value-Speicher wie Redis für das Caching von Produktinformationen oder Sitzungsdaten ein. Dies beschleunigt die Antwortzeiten der Website erheblich, indem häufig abgerufene Daten im Arbeitsspeicher vorgehalten werden.
Ideen zur Lernstandserhebung
Geben Sie jeder Schülerin und jedem Schüler eine Karte mit einem Anwendungsfall (z.B. 'Verwaltung von Produktkatalogen', 'Empfehlungssystem für Filme', 'Speicherung von Benutzer-Sessions'). Bitten Sie sie, den am besten geeigneten NoSQL-Datenbanktyp zu identifizieren und kurz zu begründen, warum.
Stellen Sie eine Tabelle mit zwei Spalten auf: 'Vorteile von NoSQL' und 'Nachteile von NoSQL'. Bitten Sie die Lernenden, jeweils drei Stichpunkte einzutragen, die sie aus der Stunde mitgenommen haben. Vergleichen Sie die Antworten im Plenum.
Diskutieren Sie folgende Frage: 'Unter welchen Umständen wäre es ein Fehler, eine NoSQL-Datenbank anstelle einer relationalen Datenbank zu verwenden?' Sammeln Sie die Argumente der Schülerinnen und Schüler und bewerten Sie deren Begründungen hinsichtlich der gelernten Konzepte.
Häufig gestellte Fragen
Was sind die Hauptvorteile von NoSQL-Datenbanken gegenüber relationalen?
Wann ist der Einsatz einer NoSQL-Datenbank sinnvoll?
Wie kann aktives Lernen NoSQL-Themen vertiefen?
Welche NoSQL-Modelle gibt es und wofür eignen sie sich?
Planungsvorlagen für Informatik
Mehr in Datenbanken und Informationssysteme
Grundlagen relationaler Datenbanken
Die Schülerinnen und Schüler lernen die Konzepte von Tabellen, Schlüsseln und Beziehungen in relationalen Datenbanken kennen.
2 methodologies
Entity-Relationship-Modell (ERM)
Die Schülerinnen und Schüler entwerfen Entity-Relationship-Modelle zur Abbildung von Realwelt-Szenarien.
2 methodologies
Normalisierung von Datenbanken
Die Schülerinnen und Schüler wenden Normalisierungsregeln (1NF, 2NF, 3NF) an, um Datenredundanz und Inkonsistenz zu vermeiden.
2 methodologies
Einfache Datenabfragen mit SELECT
Die Schülerinnen und Schüler beherrschen grundlegende SELECT-Statements zur Abfrage von Daten aus einer Tabelle.
2 methodologies
Datenabfragen mit Joins und Aggregatfunktionen
Die Schülerinnen und Schüler nutzen Joins und Aggregatfunktionen, um Daten aus mehreren Tabellen zu verknüpfen und zu analysieren.
2 methodologies
Datenmanipulation mit INSERT, UPDATE, DELETE
Die Schülerinnen und Schüler lernen, wie Daten in einer Datenbank eingefügt, aktualisiert und gelöscht werden.
2 methodologies