Schița de curs
Modulul 1: Introducere și Arhitectura MongoDB (4h)
Conținut:
- Istoric și ecosistem MongoDB
- Cazuri de utilizare tipice, avantaje și dezavantaje
- Arhitectura generală: instanțe, procese și configurare
Practică:
- Explorare interactivă: conectare cu Mongo Shell/CLI
- Crearea unei baze de date și a unei colecții de probă
Modulul 2: Instalare și Configurare Inițială (6h)
Conținut:
- Cerințe de hardware și 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 management systemd/service
Practică:
- Implementarea de instanțe pe VM-uri locale sau containere Docker
- Ajustarea configurațiilor pentru dezvoltare vs. producție
- Verificarea conectivității securizate de la distanță
Modulul 3: Modelarea Datelor și Operațiuni de Bază (5h)
Conținut:
- Documente BSON, colecții, baze de date
- Modelare: încorporare vs. referințe; modele de design de date
- Indecși de bază (prezentate anterior)
- Operații cu Mongo Shell și exemple de scripturi folosind drivere
Practică:
- Modelarea unui caz de utilizare: sistem de inventar sau facturare
- Implementarea operațiunilor CRUD
- Validarea schemei folosind JSON Schema în MongoDB
Modulul 4: Indecși și Performanță (4h)
Conținut:
- Indecși simpli, compuși, multikey, text și geospațiali
- Utilizarea explain() și analiza metricilor
- Impactul indecșilor asupra performanței de scriere și a memoriei
Practică:
- Crearea de colecții cu date de test
- Testarea interogărilor cu și fără indecși; interpretarea explain()
- Ajustarea indecșilor în funcție de modelele 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
- Criptare la repaus: configurarea cheilor
- Logare de bază a auditului
Practică:
- Crearea de utilizatori cu privilegii minime
- Configurarea TLS în instanțe locale
- Verificarea accesului neautorizat și revizuirea jurnalelor de audit
Modulul 6: Replicare și Înaltă Disponibilitate (6h)
Conținut:
- Concepte de replicare: Primar, Secundar, oplog
- Configurarea seturilor de replică: inițiere, membri, arbitraj
- Monitorizarea stării și alegerilor
- Întreținere: adăugare/înlăturare de membri, reatribuirea priorităților
Practică:
- Implementarea unui set de replică cu trei noduri (local sau VM-uri)
- Simularea eșecului primarului și observarea failover-ului
- Reconstruirea nodurilor secundare și recuperarea replicilor
Modulul 7: Sharding și Scalabilitate Orizontală (6h)
Conținut:
- Concepte de sharding: cheie de shard, servere de configurare, router mongos
- Selectarea cheii de shard și riscurile asociate
- Implementarea serverelor de configurare, shardurilor și mongos
- Rebalansare și migrarea chunk-urilor
Practică:
- Configurarea unui cluster shard simplu
- Inserarea de date la scară largă și observarea distribuției
- Introducerea de modificări ale cheii de shard și înțelegerea limitărilor
Modulul 8: Backup, Restaurare și Recuperare în Caz de Dezastru (4h)
Conținut:
- Instrumente native: mongodump/mongorestore, snapshot-uri de sistem de fișiere
- Backup-uri în seturi de replică și clustere shard
- Utilizarea de bază a Cloud Manager/Ops Manager pentru backup
- Planificarea recuperării în caz de dezastru (DR): RTO, RPO
Practică:
- Efectuarea backup-ului și restabilirii pe o bază de date de test
- Simularea eșecului și recuperarea din backup
- Proiectarea unui plan de recuperare pentru un caz ipotetic
Modulul 9: Monitorizare și Alertări (4h)
Conținut:
- Instrumente: mongostat, mongotop, Cloud Manager/Atlas Monitoring
- Integrare cu Prometheus + Grafana (concepte și exemple)
- Metrici cheie: CPU, memorie, I/O, dimensiunea oplog, latențe
- Alertări: definirea pragurilor și notificărilor
Practică:
- Implementarea unui agent de monitorizare local sau bazat pe containere
- Configurarea de tablouri de bord de bază cu metrici de probă
- Simularea încărcării și observarea alertelor
Modulul 10: Întreținere, Upgrade-uri și Cele Mai Bune Practici (4h)
Conținut:
- Strategii de upgrade pentru seturi de replică și clustere shard
- Curățarea datelor, compactarea, verificări de integritate
- Revizuirea jurnalelor și audituri regulate
- 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 de verificare periodice de întreținere
Rezumat și Pași 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 rețele și administrarea sistemelor
Publicul ț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 aspectele interne ale MongoDB și de cele mai bune practici de implementare
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