Schulungsübersicht
Modul 1: Einführung und MongoDB-Architektur (4 Std.)
Inhalt:
- Geschichte und Ökosystem von MongoDB
- Häufige Anwendungsfälle sowie Vor- und Nachteile
- Allgemeine Architektur: Instanzen, Prozesse und Konfigurationen
Praxis:
- Interaktive Erkundung: Verbindung mittels Mongo Shell bzw. CLI herstellen
- Erstellung einer Beispieldatenbank samt Sammlung
Modul 2: Installation und erste Konfiguration (6 Std.)
Inhalt:
- Hardware- und Ressourcenanforderungen
- Installation auf Linux (deb/rpm), Windows und macOS
- YAML-Konfigurationsdateien (mongod.conf): Angaben zu dataDir, logDir, bindIp sowie Port
- Startoptionen sowie Verwaltung über systemd bzw. Dienste
Praxis:
- Bereitstellung von Instanzen auf lokalen virtuellen Maschinen oder in Docker-Containern
- Anpassung der Konfiguration für Entwicklungs- und Produktionsumgebungen
- Überprüfung einer sicheren Fernverbindung
Modul 3: Datenmodellierung und grundlegende Operationen (5 Std.)
Inhalt:
- BSON-Dokumente, Sammlungen sowie Datenbanken
- Datenmodellierung: Einbetten versus Verweisverwendung; Gestaltungsmuster für Datenstrukturen
- Grundlegende Indizes (kurz eingeführt)
- Ausführung von Operationen mittels Mongo Shell sowie Skriptbeispielen unter Nutzung der jeweiligen Treiber
Praxis:
- Modellierung eines konkreten Anwendungsfalls: z. B. Lager- oder Abrechnungssystem
- Durchführung von CRUD-Operationen
- Validierung der Schemata mittels JSON Schema in MongoDB
Modul 4: Indizes und Leistungsoptimierung (4 Std.)
Inhalt:
- Einfache, zusammengesetzte, mehrfach genutzte, textbasierte sowie geografisch orientierte Indizes
- Nutzung von explain() zur Auswertung und Analyse der Leistungskennzahlen
- Auswirkungen von Indizes auf Schreibgeschwindigkeit sowie Speicherauslastung
Praxis:
- Erstellung von Sammlungen mit Testdaten
- Abfragetests mit und ohne Verwendung von Indizes; Auswertung der Ergebnisse via explain()
- Optimierung der Indexkonfiguration anhand vorliegender Zugriffsmuster
Modul 5: Sicherheit (5 Std.)
Inhalt:
- Authentifizierungsverfahren: SCRAM, sowie Einführung zu LDAP/Kerberos
- Anlage von Benutzern und maßgeschneiderten Berechtigungen
- TLS/SSL-Verschlüsselung für die Kommunikation zwischen Client und Server
- Verschlüsselung ruhender Daten: Schlüsselmanagement
- Grundsätzliches Audit-Logging
Praxis:
- Erstellung von Benutzern mit eingeschränkten Rechten
- Einrichtung von TLS auf lokalen Instanzen
- Überprüfung unerlaubter Zugriffsversuche sowie Auswertung der Audit-Protokolle
Modul 6: Replikation und Hochverfügbarkeit (6 Std.)
Inhalt:
- Grundsätzliche Konzepte der Replikation: Primärinstanz, Sekundärinstanzen sowie oplog
- Einrichtung von Replica Sets: Initiierung, Mitgliederverwaltung und Arbiternutzung
- Überwachung des Status sowie Abläufe bei Wahl neuer primärer Instanzen
- Wartungsmaßnahmen: Hinzufügen bzw. Entfernen von Mitgliedern, Neuzuweisung der Prioritäten
Praxis:
- Bereitstellung eines dreiknotigen Replica Sets (lokal oder auf VMs)
- Simulation des Ausfalls der Primärinstanz und Beobachtung des automatischen Failovers
- Wiederherstellung sekundärer Instanzen sowie Neubildung replizierter Datenbestände
Modul 7: Sharding und horizontale Skalierung (6 Std.)
Inhalt:
- Grundsätze des Shardings: Auswahl des Shard-Keys, Konfigurationsserver sowie der mongos-Router
- Auswirkungen bei der Wahl des Shard-Keys sowie zugehörige Risiken
- Einrichtung von Config Servern, Shards und mongos-Routern
- Lastverteilung durch Rebalancing sowie Chunk-Migrationen
Praxis:
- Konfiguration eines vereinfachten sharded Clusters
- Eingabe großer Datenmengen und Beobachtung der daraus resultierenden Verteilung
- Bearbeitung von Änderungen am Shard-Key sowie Erkennen limitierter Möglichkeiten in solchen Szenarien
Modul 8: Backups, Wiederherstellung und Notfallplanung (4 Std.)
Inhalt:
- Eigenständige Hilfsmittel wie mongodump/mongorestore sowie Snapshots des Dateisystems
- Datensicherungen bei Verwendung von Replica Sets bzw. sharded Clustern
- Grundlegende Nutzungsmöglichkeiten von Cloud Manager/Ops Manager für Backup-Aufgaben
- Erstellung von Notfallplänen: Definition der RTO- sowie RPO-Werte
Praxis:
- Durchführung von Backups und Wiederherstellungen anhand einer Testdatenbank
- Simulation eines Ausfalls sowie anschließende Datenrettung aus dem Backup
- Ausarbeitung eines hypothetischen Notfallplans zur Absicherung der Systeme
Modul 9: Überwachung und Alarmierung (4 Std.)
Inhalt:
- Nutzbare Werkzeuge wie mongostat, mongotop sowie Monitoring-Funktionen in Cloud Manager/Atlas
- Einführung zur Integration mit Prometheus und Grafana samt Beispielen dazu
- Wichtige Leistungsindikatoren: CPU- sowie Speicherauslastung, I/O-Aktivität, Größe des oplogs sowie Verzögerungen bei Abfragen
- Ausgestaltung von Alarmen durch Festlegung von Schwellenwerten und Benachrichtigungskanälen
Praxis:
- Installation eines Monitoring-Agents lokal oder in Container-Umgebungen
- Erstellung einfacher Dashboards mit exemplarischen Messdaten
- Auslösung von Lastsituationen zur Überprüfung der Alarmreaktionen
Modul 10: Wartung, Upgrades und bewährte Praktiken (4 Std.)
Inhalt:
- Auswahl geeigneter Upgrade-Strategien für Replica Sets sowie sharded Cluster
- Datenbereinigung, Optimierung der Speicherausnutzung und Integritätsprüfungen
- Regelmäßige Auswertung der Logdateien sowie Sicherheitsaudits
- Automatisierung von Routineaufgaben: Skripte, Cronjobs, Ansible sowie Terraform
- Richtlinien zur Datenspeicherung und -archivierung
Praxis:
- Durchführung kleiner wie auch umfangreicher Upgrades in einem kontrollierten Testbereich
- Erstellung von Automatisierungsskripten für Backup- und Monitoring-Aufgaben
- Ausformulierung einer strukturierten Checkliste für regelmäßige Wartungsaufgaben
Zusammenfassung und weitere Schritte
Voraussetzungen
- Grundverständnis von allgemeinen Datenbankkonzepten und Datensstrukturen
- Erfahrung mit der Verwendung der Linux-Befehlszeile
- Grundkenntnisse im Netzwerkbereich sowie in der Systemadministration
Zielgruppe
- Datenbankadministratoren und Systemingenieure, die mit MongoDB arbeiten
- DevOps- und Infrastrukturteams, welche MongoDB-Umgebungen einrichten und pflegen
- Entwickler, die sich für die innere Funktionsweise von MongoDB sowie bewährte Implementierungsverfahren interessieren
Erfahrungsberichte (2)
Das Tempo der Rede und Erklärung.
Marko Skokovic - PWO by Lottomatica Serbia
Kurs - MongoDB for Administrators
Maschinelle Übersetzung
Sir Jose ist cool und erklärt jedes Detail der Befehle. Wir schätzen die Zeit, die er sich nimmt, um sein Wissen mit uns zu teilen, und es zeigt wirklich, dass er ein Experte in diesem Bereich ist.
Almer Laureta - Asialink Finance Corporation
Kurs - MongoDB for Developers
Maschinelle Übersetzung