Zielgruppe
Software-Ingenieure, Anwendungsentwickler, Datenbank-Programmierer.
Voraussetzungen
Grundkenntnisse der Programmierung, Kenntnisse in Java oder JavaScript sind von Vorteil.
Kursziele
In diesem Seminar werden Ihnen Architektur und Arbeitsweise von nicht-relationen Datenbanken präsentiert. Dabei werden Ihnen gängige Strategien (Dokumenten- und Graphen-orientiert, Key-Value) sowie darauf basierende konkrete Produkte im Einsatz gezeigt. Sie lernen konkret, wie Daten innerhalb der Datenbanken strukturiert organisiert, abgelegt und darauf zugegriffen werden kann.
Kursinhalt
Grundlagen:
- Warum NoSQL?
- Abgrenzung zu relationalen Datenbanken
- Arbeitsweise: Dokumentenorientierte Datenbanken, Graphendatenbanken, Objekt-Datenbanken, Key-Value
- Big Data und Sharding
- Parallelisierung und MapReduce
- Produktübersicht
MongoDB und CouchDB:
- Installation und Administration
- Organisation der Daten in Dokumenten
- Die Rolle von JavaScript und JSON
- Schreiben, Lesen, Löschen von Dokumenten
- Abfragen
- Datenkonsistenz
- Skalierbarkeit und Replikation
Die graphenorientierte Neo4j:
- Installation und Administration
- Graphenorientierte Ablage von Daten
- Schreiben, Lesen, Löschen
- Abfragen
- Transaktionssicherheit
- Skalierbarkeit und Replikation
Die Column-orientierte HBase:
- Das Prinzip Spalten-orientierter Datenbanken
- Daten-Definition
- Lesen, Schreiben, Abfragen
- Die Rolle von Apache Hadoop
Werkzeuge:
- Treiber-Software: Unterstützte Sprachen, Installation und API
- Client-Zugriff mit REST
- Administrations-Werkzeuge
- Überwachung
- Reporting
Weitere Systeme:
- Redis: Eine Key-Value-Datenbank
- Übersicht existierender objektorientierter und XML-basierter Datenbanken