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 gestionare systemd/serviciu
Practică:
- Implementarea de instanțe pe VM-uri locale sau containere Docker
- Ajustarea configurațiilor pentru dezvoltare vs. producție
- Verificarea conectivității securizate 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 proiectare a datelor
- Indecși de bază (prezentate anterior)
- Operațiuni 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 metricelor
- 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 pe baza modelelor 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 audit de bază
Practică:
- Crearea utilizatorilor cu privilegii minime
- Configurarea TLS în instanțe locale
- Verificarea accesului neautorizat și revizuirea jurnalelor de audit
Modulul 6: Replicare și Disponibilitate Ridicată (6h)
Conținut:
- Concepte de replicare: Primary, Secondary, oplog
- Configurarea setului de replică: inițiere, membri, arbitraj
- Monitorizarea stării și alegerilor
- Întreținere: adăugare/eliminare membri, realocare priorități
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 migrare de chunk-uri
Practică:
- Configurarea unui cluster shardat 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 shardate
- 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 restaurarea unei baze de date de test
- Simularea eșecului și recuperarea 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
- Integrare cu Prometheus + Grafana (concepte și exemple)
- Metrici cheie: CPU, memorie, I/O, dimensiune oplog, latențe
- Alerte: definirea pragurilor și notificărilor
Practică:
- Implementarea unui agent de monitorizare local sau bazat pe containere
- Configurarea de panouri de bază cu metrici de probă
- Simularea încărcării și observarea alertelor
Modulul 10: Întreținere, Actualizări și Cele Mai Bune Practici (4h)
Conținut:
- Strategii de actualizare pentru seturi de replică și clustere shardate
- Curățarea datelor, compactare, verificări de integritate
- Revizuirea jurnalelor și audituri periodice
- Automatizarea sarcinilor de rutină (scripturi, cronjobs, Ansible, Terraform)
- Politici de păstrare și arhivare a datelor
Practică:
- Simularea actualizărilor minore și majore într-un mediu controlat
- Crearea de scripturi de automatizare pentru backup și monitorizare
- Dezvoltarea unei liste de verificare pentru întreținerea periodică
Rezumat și Pași Următori
Cerințe
- Înțelegerea conceptelor generale de bază 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 internalele 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