Who should attend
Software-Ingenieure, Anwendungsentwickler, Datenbank-Programmierer.
Prerequisites
Grundkenntnisse der Programmierung, Kenntnisse in Java oder JavaScript sind von Vorteil.
Course Objectives
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.
Course Content
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