Kursplan
Modul 1: Innføring og MongoDB-arkitektur (4 timer)
Innhold:
- Historie og MongoDB-økosystem
- Typiske bruksområder, fordeler og ulemper
- Generell arkitektur: instanser, prosesser og konfigurasjon
Praksis:
- Interaktiv utforskning: kobling med Mongo Shell/CLI
- Opprettelse av en eksempeldatabase og samling
Modul 2: Installasjon og innledende konfigurasjon (6 timer)
Innhold:
- Maskinvare- og ressurskrav
- Installasjon på Linux (deb/rpm), Windows og macOS
- YAML-konfigurasjonsfiler (mongod.conf): dataDir, logDir, bindIp, port
- Oppstartsalternativer og systemd/tjenestehåndtering
Praksis:
- Implementering av instanser på lokale virtuelle maskiner eller Docker-containere
- Justering av konfigurasjoner for utvikling vs. produksjon
- Bekreftelse av sikker fjern kobling
Modul 3: Datamodellering og grunnleggende operasjoner (5 timer)
Innhold:
- BSON-dokumenter, samlinger, databaser
- Modellering: innledding vs. referanse; data design-mønstre
- Grunnleggende indekser (innført tidligere)
- Operasjoner med Mongo Shell og scripting-eksempler ved hjelp av drivere
Praksis:
- Modellering av et bruksområde: lager- eller faktureringssystem
- Implementering av CRUD-operasjoner
- Skjema-validasjon ved hjelp av JSON Schema i MongoDB
Modul 4: Indekser og ytelse (4 timer)
Innhold:
- Enkle, kompositt, multikey, tekst- og geografiske indekser
- Bruk av explain() og analyse av metrikker
- Påvirkning av indekser på skriveytelse og minne
Praksis:
- Oppretting av samlinger med testdata
- Testing av spørringer med og uten indekser; tolking av explain()
- Justering av indekser basert på tilgangsmønstre
Modul 5: Sikkerhet (5 timer)
Innhold:
- Autentiseringsmekanismer: SCRAM, LDAP/Kerberos (innføring)
- Definering av brukere og rollegrupper
- TLS/SSL mellom klienter og servere
- Kryptering av data i hvile: nøkkelsikring
- Grunnleggende revisjonlogging
Praksis:
- Oppretting av brukere med minimale rettigheter
- Konfigurering av TLS i lokale instanser
- Bekreftelse av uautorisert tilgang og gjennomgang av revisjonslogger
Modul 6: Replikering og høy tilgjengelighet (6 timer)
Innhold:
- Repliseringskonsepter: Primary, Secondary, oplog
- Repliksett-konfigurasjon: initiering, medlemskap, arbitrasje
- Overvåking av status og valg
- Vedlikehold: tilføyelse/fjerning av medlemmer, tildeling av prioriteter
Praksis:
- Implementering av et tre-noder replikksett (lokalt eller VM)
- Simulering av primærfeil og observasjon av overtagelse
- Gjenoppretting av sekundærnoder og gjenoppretting av replikker
Modul 7: Sharding og horisontal skalbarhet (6 timer)
Innhold:
- Sharding-konsepter: shard key, konfigurationsservere, mongos-router
- Valg av shard key og relaterte risikoer
- Implementering av konfigurationsservere, shard og mongos
- Rebalansering og migrering av chunker
Praksis:
- Konfigurering av et enkelt sharded kluster
- Inntasting av store mengder data og observasjon av distribusjon
- Innføring av endringer i shard key og forståelse av begrensninger
Modul 8: Sikkerhetskopiering, gjenoppretting og katastrofegjenoppretting (4 timer)
Innhold:
- Innfødt verktøy: mongodump/mongorestore, filsystemsnapskott
- Sikkerhetskopiering i replikksett og sharded kluster
- Grunnleggende bruk av Cloud Manager/Ops Manager for sikkerhetskopiering
- Katastrofegjenoppretting (DR) planlegging: RTO, RPO
Praksis:
- Utførelse av sikkerhetskopiering og gjenoppretting på en testdatabase
- Simulering av feil og gjenoppretting fra sikkerhetskopi
- Utvikling av en DR-plan for et hypotetisk tilfelle
Modul 9: Overvåking og varsler (4 timer)
Innhold:
- Verktøy: mongostat, mongotop, Cloud Manager/Atlas Overvåking
- Integrering med Prometheus + Grafana (konsepter og eksempler)
- Viktige metrikker: CPU, minne, I/O, oplog-størrelse, latens
- Varsler: definering av terskler og varsling
Praksis:
- Implementering av en lokal eller container-basert overvåkingagent
- Oppsett av grunnleggende dashboards med eksempeledata
- Simulering av last og observasjon av varsler
Modul 10: Vedlikehold, oppgraderinger og beste praksis (4 timer)
Innhold:
- Oppgraderingsstrategier for replikksett og sharded kluster
- Renhold av data, komprimering, integritetssjekk
- Gjennomgang av logger og periodiske revisjoner
- Automatisering av rutineoppgaver (skripter, cronjobs, Ansible, Terraform)
- Datapolitikk for oppbevaring og arkivering
Praksis:
- Simulering av mindre og større oppgraderinger i et kontrollert miljø
- Opprettelse av automatiseringsskripter for sikkerhetskopiering og overvåking
- Utvikling av en periodisk vedlikeholdsjekkliste
Oppsummering og neste steg
Krav
- Forståelse av generelle databasekonsepter og datastrukturer
- Kunnskap om Linux-kommandolinjen
- Grunnleggende kunnskaper om nettverk og systemadministrasjon
Målgruppe
- Databasemedarbeidere og systemingeniører som jobber med MongoDB
- DevOps- og infrastrukturetter som implementerer og vedlikeholder MongoDB-miljøer
- Utviklere interessert i MongoDB-intern virkemåte og beste praksis for implementering
Referanser (2)
Hastigheten på tale og forklaring.
Marko Skokovic - PWO by Lottomatica Serbia
Kurs - MongoDB for Administrators
Maskinoversatt
Sir Jose er kjekt og forklarer hvert detalj av kommandoene. Vi setter stor pris på tiden han tar seg for å dele kunnskapen sin med oss, og det viser virkelig at han er en ekspert på dette feltet.
Almer Laureta - Asialink Finance Corporation
Kurs - MongoDB for Developers
Maskinoversatt