Struttura del corso
Modulo 1: Introduzione e architettura di MongoDB (4h)
Contenuto:
- Storia e ecosistema di MongoDB
- Casi d'uso tipici, pro e contro
- Architettura generale: istanze, processi e configurazione
Esercitazioni:
- Esplorazione interattiva: connessione con Mongo Shell/CLI
- Creazione di un database e una raccolta di esempio
Modulo 2: Installazione e configurazione iniziale (6h)
Contenuto:
- Requisiti hardware e risorse
- Installazione su Linux (deb/rpm), Windows e macOS
- File di configurazione YAML (mongod.conf): dataDir, logDir, bindIp, porta
- Opzioni di avvio e gestione di systemd/servizi
Esercitazioni:
- Distribuzione di istanze su VM locali o container Docker
- Regolazione delle configurazioni per sviluppo rispetto a produzione
- Verifica della connettività remota sicura
Modulo 3: Modellazione dei dati e operazioni di base (5h)
Contenuto:
- Documenti BSON, raccolte, database
- Modellazione: incorporamento vs referenziazione; modelli di progettazione dati
- Indici di base (introdotti in precedenza)
- Operazioni con Mongo Shell ed esempi di scripting utilizzando driver
Esercitazioni:
- Modellazione di un caso d'uso: sistema di inventario o fatturazione
- Implementazione di operazioni CRUD
- Validazione dello schema utilizzando JSON Schema in MongoDB
Modulo 4: Indici e prestazioni (4h)
Contenuto:
- Indici semplici, composti, multikey, testuali e geospaziali
- Uso di explain() e analisi delle metriche
- Impatto degli indici sulle prestazioni di scrittura e sulla memoria
Esercitazioni:
- Creazione di raccolte con dati di test
- Test di query con e senza indici; interpretazione di explain()
- Regolazione degli indici in base ai modelli di accesso
Modulo 5: Sicurezza (5h)
Contenuto:
- Mecanismi di autenticazione: SCRAM, LDAP/Kerberos (introduzione)
- Definizione di utenti e ruoli personalizzati
- TLS/SSL tra client e server
- Crittografia a riposo: configurazione delle chiavi
- Logging di audit di base
Esercitazioni:
- Creazione di utenti con privilegi minimi
- Configurazione di TLS in istanze locali
- Verifica di accessi non autorizzati e revisione dei log di audit
Modulo 6: Replica e alta disponibilità (6h)
Contenuto:
- Concetti di replica: Primary, Secondary, oplog
- Configurazione del set di replica: inizializzazione, membership, arbitrato
- Monitoraggio dello stato e delle elezioni
- Mantenimento: aggiunta/rimozione di membri, riassegnazione delle priorità
Esercitazioni:
- Distribuzione di un set di replica a tre nodi (locale o su VM)
- Simulazione del guasto del primario e osservazione del failover
- Ricostruzione dei nodi secondari e ripristino delle repliche
Modulo 7: Sharding e scalabilità orizzontale (6h)
Contenuto:
- Concetti di sharding: shard key, config server, router mongos
- Selezione della shard key e rischi associati
- Distribuzione di config server, shard e mongos
- Rebilanciamento e migrazione dei chunk
Esercitazioni:
- Configurazione di un cluster sharded semplice
- Inserimento di dati su larga scala e osservazione della distribuzione
- Introduzione di modifiche alla shard key e comprensione dei limiti
Modulo 8: Backup, ripristino e disaster recovery (4h)
Contenuto:
- Strumenti nativi: mongodump/mongorestore, snapshot del file system
- Backup in set di replica e cluster sharded
- Uso di base di Cloud Manager/Ops Manager per il backup
- Pianificazione del Disaster Recovery (DR): RTO, RPO
Esercitazioni:
- Esecuzione di backup e ripristino su un database di test
- Simulazione di guasto e recupero da backup
- Progettazione di un piano DR per un caso ipotetico
Modulo 9: Monitoraggio e alert (4h)
Contenuto:
- Strumenti: mongostat, mongotop, Cloud Manager/Atlas Monitoring
- Integrazione con Prometheus + Grafana (concetti ed esempi)
- Principali metriche: CPU, memoria, I/O, dimensione oplog, latenze
- Alert: definizione di soglie e notifiche
Esercitazioni:
- Distribuzione di un agente di monitoraggio locale o basato su container
- Impostazione di dashboard di base con metriche di esempio
- Simulazione di carico e osservazione degli alert
Modulo 10: Manutenzione, aggiornamenti e best practice (4h)
Contenuto:
- Strategie di aggiornamento per set di replica e cluster sharded
- Pulizia dati, compattazione, verifiche di integrità
- Revisione dei log e audit periodici
- Automazione delle attività routine (script, cronjob, Ansible, Terraform)
- Politiche di ritenzione e archiviazione dei dati
Esercitazioni:
- Simulazione di aggiornamenti minori e maggiori in un ambiente controllato
- Creazione di script di automazione per backup e monitoraggio
- Sviluppo di un checklist di manutenzione periodica
Riepilogo e prossimi passi
Requisiti
- Comprensione dei concetti generali di database e delle strutture dati
- Familiarità con l'uso della riga di comando Linux
- Conoscenza di base di networking e amministrazione di sistema
Pubblico target
- DBA e ingegneri di sistema che lavorano con MongoDB
- Team DevOps e infrastruttura che distribuiscono e mantengono ambienti MongoDB
- Sviluppatori interessati ai dettagli interni di MongoDB e alle best practice di distribuzione
Recensioni (2)
Il ritmo della parlata e dell' spiegazione.
Marko Skokovic - PWO by Lottomatica Serbia
Corso - MongoDB for Administrators
Traduzione automatica
Il signor Jose è simpatico e spiega ogni dettaglio dei comandi. Apprezziamo il tempo che dedica a condividere le sue conoscenze con noi, ed è evidente che sia un esperto nel campo.
Almer Laureta - Asialink Finance Corporation
Corso - MongoDB for Developers
Traduzione automatica