Kursplan
Modul 1: Inledning och MongoDB-arkitektur (4h)
Innehåll:
- Historia och MongoDB-ekosystem
- Typiska användningsfall, för- och nackdelar
- Allmän arkitektur: instanser, processer och konfiguration
Praktik:
- Interaktiv utforskning: ansluta med Mongo Shell/CLI
- Skapa en exempeldatabas och samling
Modul 2: Installation och initial konfiguration (6h)
Innehåll:
- Maskinvaru- och resurskrav
- Installation på Linux (deb/rpm), Windows och macOS
- YAML-konfigurationsfiler (mongod.conf): dataDir, logDir, bindIp, port
- Startval och hantering av systemd/tjänster
Praktik:
- Implementera instanser på lokala virtuella maskiner eller Docker-kontainer
- Justera konfigurationer för utveckling kontra produktion
- Verifiera säker fjärråtkomst
Modul 3: Datamodellering och grundläggande operationer (5h)
Innehåll:
- BSON-dokument, samlingar, databaser
- Modellering: inbäddning kontra referens; datadesignmönster
- Grundläggande index (introducerades tidigare)
- Operationer med Mongo Shell och skriptexempel med drivrutiner
Praktik:
- Modellera ett användningsfall: lager- eller faktureringssystem
- Implementera CRUD-operationer
- Schema validering med JSON Schema i MongoDB
Modul 4: Index och prestanda (4h)
Innehåll:
- Enkla, sammansatta, multikey-, text- och geospatiala index
- Användning av explain() och analys av mått
- Index inverkan på skrivprestanda och minne
Praktik:
- Skapa samlingar med testdata
- Testa frågor med och utan index; tolka explain()
- Justera index baserat på åtkomstmönster
Modul 5: Säkerhet (5h)
Innehåll:
- Autentiseringsmekanismer: SCRAM, LDAP/Kerberos (intro)
- Definera användare och anpassade roller
- TLS/SSL mellan klienter och servrar
- Kryptering i vila: konfiguration av nycklar
- Grundläggande reviseringsloggar
Praktik:
- Skapa användare med minimala behörigheter
- Konfigurera TLS i lokala instanser
- Verifiera obehörig åtkomst och granska reviseringsloggar
Modul 6: Replikering och hög tillgänglighet (6h)
Innehåll:
- Replikering: Primary, Secondary, oplog
- Repliksetkonfiguration: initiering, medlemskap, skiljedom
- Övervaka status och val
- Underhåll: lägga till/tar bort medlemmar, tilldela prioriteringar
Praktik:
- Implementera ett replikset med tre noder (lokalt eller på VM:er)
- Simulera primärt fel och observera övergång
- Återställa sekundärnoder och återställa repliker
Modul 7: Sharding och horisontell skalbarhet (6h)
Innehåll:
- Sharding-koncept: shard key, config servers, mongos router
- Val av shard key och associerade risker
- Implementera config servers, shards och mongos
- Omjustering och chunk-migration
Praktik:
- Konfigurera ett enkelt sharded kluster
- Infoga stora datamängder och observera distribution
- Införa ändringar av shard key och förstå begränsningar
Modul 8: Backup, återställning och katastrofåterställning (4h)
Innehåll:
- Inga inbygga verktyg: mongodump/mongorestore, filsystem snapshots
- Backups i replikset och sharded kluster
- Grundläggande användning av Cloud Manager/Ops Manager för backup
- Planering av katastrofåterställning (DR): RTO, RPO
Praktik:
- Göra backup och återställning på en testdatabas
- Simulera fel och återställning från backup
- Utforma en DR-plan för ett hypotetiskt fall
Modul 9: Övervakning och larm (4h)
Innehåll:
- Verktyg: mongostat, mongotop, Cloud Manager/Atlas Monitoring
- Integrering med Prometheus + Grafana (koncept och exempel)
- Viktiga mått: CPU, minne, I/O, oplog storlek, latenser
- Larm: definiera trösklar och meddelanden
Praktik:
- Implementera en lokal eller kontainerbaserad övervakningsagent
- Uppställa grundläggande dashboards med provmål
- Simulera belastning och observera larm
Modul 10: Underhåll, uppgraderingar och bästa praxis (4h)
Innehåll:
- Uppgraderingsstrategier för replikset och sharded kluster
- Uppräjsning av data, packning, integritetskontroller
- Granska loggar och regelbundna revisioner
- Automatisera rutinuppgifter (skript, cronjobs, Ansible, Terraform)
- Policy för data lagring och arkivering
Praktik:
- Simulera mindre och större uppgraderingar i en kontrollerad miljö
- Skapa automatiseringsskript för backup och övervakning
- Utveckla en periodisk underhållskontrolllista
Sammanfattning och nästa steg
Krav
- Förståelse för allmänna databaskoncept och datastrukturer
- Kännedom om användning av kommandoraden i Linux
- Grundläggande kunskaper om nätverk och systemadministration
Målgrupp
- Databasadministratörer och systemingenjörer som arbetar med MongoDB
- DevOps- och infrastrukturteam som implementerar och underhåller MongoDB-miljöer
- Utvecklare som är intresserade av MongoDBs inre funktioner och bästa praxis för implementering
Vittnesmål (2)
Talens tempo och förklaringar.
Marko Skokovic - PWO by Lottomatica Serbia
Kurs - MongoDB for Administrators
Maskintolkat
Sir Jose är cool och förklarar varje detalj av kommandona. Vi uppskattar tiden han tar på sig att dela sin kunskap med oss, och det visar tydligt att han är en expert på området.
Almer Laureta - Asialink Finance Corporation
Kurs - MongoDB for Developers
Maskintolkat