Einführung in die Softwareentwicklung mit MongoDB
Die Kern-Features von MongoDB sind
- Dokumentenorientierung: Ein einzelner Datensatz kann ein ganzes Objektnetz aufnehmen; der lästige Impedance Mismatch relationaler Datenbanksysteme entfällt damit komplett.
- Schemafreiheit: Die logischen Namensräume, die sog. Collections, legen keine Einschränkungen für die gespeicherten Dokumente fest. Dies ist inbs. dann von Vorteil, wenn man mit häufig wechselnden Anforderungen an das Datenmodell konfrontiert wird.
- Hochverfügbarkeit: Die Ausfallsicherheit wird durch Replikation sichergestellt, bei der ein Master/Slave-Verfahren mit automatischem Failover zum Einsatz kommt. Fällt der Master aus, wählen die verbleibenden Slaves selbständig einen neuen Master aus.
- Horizontale Skalierung: zur Verteilung von Lese- und Schreibzugriffen auf mehrere Knoten bietet MongoDB ein Auto-Sharding an, bei dem Anwendungen transparent ihre Daten im Cluster verteilen kann.
Nach dem Besuch der Schulung können Sie einschätzen, in welchen komplexeren Anwendungsfällen sich der Einsatz von MongoDB lohnt, Sie kennen alle wichtigen Features und sind in der Lage, eigene MongoDB-Anwendungen zu erstellen.
Voraussetzungen
Grundkenntnisse in ...
- Datenbanksystemen, wünschenswert Abfragesprache wie SQL.
- JavaScript / JSON.
- einer Programmiersprache und Installation einer entsprechenden Runtime und IDE.
Inhalt
Einführung
- Warum NoSQL-Datenbanken?
- Installation MongoDB
- Erste Schritte in der Mongo Shell
- Daten-Import und erste Abfragen
Grundlegende Bausteine und die Konzepte
- Datenbank
- Collection
- Document
- Index
- Datenbank-Treiber
Lese- und Schreiboperationen
- CRUD: insert, update/upsert, remove; Write Concern
- Queries: find, sort, limit, skip, explain
Indexe optimal einsetzen
- Indexing + Query Tuning
- Geodaten-Indicies
- Text-Indexe (Volltextsuche)
Schema-Design
- Schema-Freiheit
- Abbildung von Assoziationen
- Best Practices
Komplexe Abfragen
- Aggregation-Framework
- MapReduce
Ausfallsicherheit und Skalierung
- Überblick Replica Sets
- Überblick Sharding (horizontale Skalierung)
Fortgeschrittene Themen (sofern Zeit vorhanden)
- Object/Document-Mapping in OO-Sprachen (analog zum O/R-Mapping bei relationale Datenbanken)
- Automatisiertes Testen mit MongoDB (basierend auf dem Java-basierten Testframework NoSQLUnit und der Plattform Travis-CI)
- Datenbank
- Collection
- Document
- Index
- Datenbank-Treiber
Lese- und Schreiboperationen
- CRUD: insert, update/upsert, remove; Write Concern
- Queries: find, sort, limit, skip, explain
Indexe optimal einsetzen
- Indexing + Query Tuning
- Geodaten-Indicies
- Text-Indexe (Volltextsuche)
Schema-Design
- Schema-Freiheit
- Abbildung von Assoziationen
- Best Practices
Komplexe Abfragen
- Aggregation-Framework
- MapReduce
Ausfallsicherheit und Skalierung
- Überblick Replica Sets
- Überblick Sharding (horizontale Skalierung)
Fortgeschrittene Themen (sofern Zeit vorhanden)
- Object/Document-Mapping in OO-Sprachen (analog zum O/R-Mapping bei relationale Datenbanken)
- Automatisiertes Testen mit MongoDB (basierend auf dem Java-basierten Testframework NoSQLUnit und der Plattform Travis-CI)
- Indexing + Query Tuning
- Geodaten-Indicies
- Text-Indexe (Volltextsuche)
Schema-Design
- Schema-Freiheit
- Abbildung von Assoziationen
- Best Practices
Komplexe Abfragen
- Aggregation-Framework
- MapReduce
Ausfallsicherheit und Skalierung
- Überblick Replica Sets
- Überblick Sharding (horizontale Skalierung)
Fortgeschrittene Themen (sofern Zeit vorhanden)
- Object/Document-Mapping in OO-Sprachen (analog zum O/R-Mapping bei relationale Datenbanken)
- Automatisiertes Testen mit MongoDB (basierend auf dem Java-basierten Testframework NoSQLUnit und der Plattform Travis-CI)
- Aggregation-Framework
- MapReduce
Ausfallsicherheit und Skalierung
- Überblick Replica Sets
- Überblick Sharding (horizontale Skalierung)
Fortgeschrittene Themen (sofern Zeit vorhanden)
- Object/Document-Mapping in OO-Sprachen (analog zum O/R-Mapping bei relationale Datenbanken)
- Automatisiertes Testen mit MongoDB (basierend auf dem Java-basierten Testframework NoSQLUnit und der Plattform Travis-CI)
- Object/Document-Mapping in OO-Sprachen (analog zum O/R-Mapping bei relationale Datenbanken)
- Automatisiertes Testen mit MongoDB (basierend auf dem Java-basierten Testframework NoSQLUnit und der Plattform Travis-CI)
Kurszeiten
Wer möchte, reist bis 22 Uhr am Vortag an und nutzt den Abend bereits zum Fachsimpeln am Kamin oder im Park.
An Kurstagen gibt es bei uns ab 8 Uhr Frühstück.
Unsere Kurse beginnen um 9 Uhr und enden um 18 Uhr.
Neben den kleinen Pausen gibt es eine Stunde Mittagspause mit leckerem, frisch in unserer Küche zubereitetem Essen.
Nach der Schulung anschließend Abendessen und Angebote für Fachsimpeln, Ausflüge uvm. Wir schaffen eine Atmosphäre, in der Fachleute sich ungezwungen austauschen. Wer das nicht will, wird zu nichts gezwungen und findet auch jederzeit Ruhe.