Schița de curs
Modulul 1: Introducere și arhitectura MongoDB (4h)
Conținut:
- Istoric și ecosistemul MongoDB
- Cazuri de utilizare tipice, avantaje și dezavantaje
- Arhitectura generală: instanțe, procese și configurare
Practică:
- Explorare interactivă: conectarea cu Mongo Shell/CLI
- Crearea unei baze de date și a unei colecții de exemplu
Modulul 2: Instalare și configurare inițială (6h)
Conținut:
- Cerințe hardware și de resurse
- Instalare pe Linux (deb/rpm), Windows și macOS
- Fișiere de configurare YAML (mongod.conf): dataDir, logDir, bindIp, port
- Opțiuni de pornire și administrare systemd/service
Practică:
- Deploy de instanțe pe VM-uri locale sau containere Docker
- Ajustarea configurațiilor pentru development vs. production
- Verificarea conectivității remote securizate
Modulul 3: Data modeling și operații de bază (5h)
Conținut:
- Documente BSON, colecții, baze de date
- Modelare: embedding vs referencing; design patterns pentru date
- Indexuri de bază (introduse anterior)
- Operații cu Mongo Shell și exemple de scripting folosind drivere
Practică:
- Modelarea unui caz de utilizare: sistem de inventar sau de facturare
- Implementarea operațiunilor CRUD
- Validarea schemei folosind JSON Schema în MongoDB
Modulul 4: Indexuri și performanță (4h)
Conținut:
- Indexuri simple, compuse, multikey, text și geospațiale
- Utilizarea explain() și analiza metricilor
- Impactul indexurilor asupra performanței de scriere și asupra memoriei
Practică:
- Crearea de colecții cu date de test
- Testarea interogărilor cu și fără indexuri; interpretarea explain()
- Ajustarea indexurilor în funcție de tiparele de acces
Modulul 5: Securitate (5h)
Conținut:
- Mecanisme de autentificare: SCRAM, LDAP/Kerberos (introducere)
- Definirea utilizatorilor și a rolurilor personalizate
- TLS/SSL între clienți și servere
- Criptarea at-rest: configurarea cheilor
- Audit logging de bază
Practică:
- Crearea de utilizatori cu privilegii minime
- Configurarea TLS în instanțe locale
- Verificarea accesului neautorizat și revizuirea audit log-urilor
Modulul 6: Replicare și high availability (6h)
Conținut:
- Concepte de replicare: Primary, Secondary, oplog
- Configurarea replica set-ului: inițiere, membership, arbitrare
- Monitorizarea statusului și a alegerilor
- Întreținere: adăugarea/eliminarea membrilor, realocarea priorităților
Practică:
- Deploy al unui replica set cu trei noduri (local sau pe VM-uri)
- Simularea căderii nodului primary și observarea failover-ului
- Rebuilding-ul nodurilor secundare și recovery-ul replicilor
Modulul 7: Sharding și scalabilitate orizontală (6h)
Conținut:
- Concepte de sharding: shard key, config servers, router mongos
- Selectarea shard key-ului și riscurile asociate
- Deploy al config servers, shards și mongos
- Rebalansare și migrarea chunk-urilor
Practică:
- Configurarea unui cluster sharded simplu
- Inserarea de date la scară largă și observarea distribuției
- Introducerea modificărilor de shard key și înțelegerea limitărilor
Modulul 8: Backup, restore și disaster recovery (4h)
Conținut:
- Instrumente native: mongodump/mongorestore, filesystem snapshots
- Backup-uri în replica set-uri și clustere sharded
- Utilizarea de bază a Cloud Manager/Ops Manager pentru backup
- Planificarea disaster recovery (DR): RTO, RPO
Practică:
- Efectuarea de backup și restore pe o bază de date de test
- Simularea unei căderi și recovery-ul din backup
- Proiectarea unui plan DR pentru un caz ipotetic
Modulul 9: Monitorizare și alerte (4h)
Conținut:
- Instrumente: mongostat, mongotop, Cloud Manager/Atlas Monitoring
- Integrarea cu Prometheus + Grafana (concepte și exemple)
- Metrici cheie: CPU, memorie, I/O, dimensiunea oplog-ului, latențe
- Alerte: definirea pragurilor și a notificărilor
Practică:
- Deploy al unui agent de monitorizare local sau bazat pe containere
- Configurarea unor dashboard-uri de bază cu metrici de exemplu
- Simularea încărcării și observarea alertelor
Modulul 10: Întreținere, upgrade-uri și best practices (4h)
Conținut:
- Strategii de upgrade pentru replica set-uri și clustere sharded
- Curățarea datelor, compactare, verificări de integritate
- Revizuirea log-urilor și audit-uri periodice
- Automatizarea sarcinilor de rutină (scripturi, cronjobs, Ansible, Terraform)
- Politici de păstrare și arhivare a datelor
Practică:
- Simularea upgrade-urilor minore și majore într-un mediu controlat
- Crearea de scripturi de automatizare pentru backup și monitorizare
- Elaborarea unei liste periodice de verificare pentru întreținere
Rezumat și pașii următori
Cerințe
- Înțelegerea conceptelor generale despre baze de date și structuri de date
- Familiaritate cu utilizarea liniei de comandă Linux
- Cunoștințe de bază despre networking și administrarea sistemelor
Public țintă
- Administratori de baze de date și ingineri de sistem care lucrează cu MongoDB
- Echipe DevOps și de infrastructură care implementează și întrețin medii MongoDB
- Dezvoltatori interesați de internals-urile MongoDB și de best practices de deployment
Mărturii (2)
Ritmul vorbirii și explicațiilor.
Marko Skokovic - PWO by Lottomatica Serbia
Curs - MongoDB for Administrators
Tradus de catre o masina
Domnul Jose este plăcut și explică fiecare detaliu al comenzilor. Apreciem timpul pe care îl petrece împărtășind cunoștințele sale cu noi, și acest lucru arată cu adevărat că el este un expert în această domeniu.
Almer Laureta - Asialink Finance Corporation
Curs - MongoDB for Developers
Tradus de catre o masina