Struttura del corso
Modulo 1: Introduzione e Architettura di MongoDB (4h)
Contenuti:
- Cronologia ed ecosystema di MongoDB
- Casi d'uso tipici, vantaggi e svantaggi
- Architettura generale: istanze, processi e configurazione
Esercitazioni:
- Esplorazione interattiva: connessione con Mongo Shell/CLI
- Crea un database di esempio e una collezione
Modulo 2: Installazione e Configurazione Iniziale (6h)
Contenuti:
- Richieste di hardware e risorse
- Installazione su Linux (deb/rpm), Windows, e macOS
- File di configurazione YAML (mongod.conf): dataDir, logDir, bindIp, port
- Opzioni di avvio e gestione systemd/servizio
Esercitazioni:
- Distribuzione di istanze su VM locali o contenitori Docker
- Adeguatezza delle configurazioni per sviluppo vs produzione
- Verifica della connettività remota sicura
Modulo 3: Modellazione dei dati e operazioni di base (5h)
Contenuti:
- Documenti BSON, collezioni, database
- Modellazione: embedding vs referenzamento; pattern di progettazione dei dati
- Indici di base (introdotti in precedenza)
- Operazioni con Mongo Shell e esempi di scripting usando driver
Esercitazioni:
- Modellare un caso d'uso: sistema di inventario o fatturazione
- Mettiti in pratica con le operazioni CRUD
- Validazione dello schema utilizzando JSON Schema in MongoDB
Modulo 4: Indici e prestazioni (4h)
Contenuti:
- Indici semplici, complessi, multikey, di testo e geospaziali
- Utilizzo di explain() ed analisi delle metriche
- L'impatto degli indici sulle prestazioni di scrittura e sulla memoria
Esercitazioni:
- Crea collezioni con dati di test
- Testare le query con e senza indici; interpretazione di explain()
- Adeguamento degli indici in base ai modelli di accesso
Modulo 5: Sicurezza (5h)
Contenuti:
- Mecanismi di autenticazione: SCRAM, LDAP/Kerberos (intro)
- Definizione di utenti e ruoli personalizzati
- TLS/SSL tra client e server
- Crittografia a riposo: configurazione delle chiavi
- Registrazione di base degli eventi di controllo
Esercitazioni:
- Crea utenti con privilegi minimi
- Configura TLS nelle istanze locali
- Verifica dell'accesso non autorizzato e revisione delle registrazioni degli eventi di controllo
Modulo 6: Replica e alta disponibilità (6h)
Contenuti:
- Concetti di replica: Primario, Secondario, oplog
- Configurazione del gruppo di replica: inizializzazione, appartenenza, arbitraggio
- Sorveglianza dello stato e delle elezioni
- Mantenimento: aggiunta/rimozione di membri, riclassificazione delle priorità
Esercitazioni:
- Distribuzione di un gruppo di replica a tre nodi (locale o VM)
- Simula una falla del primario e osserva il failover
- Ricostruisci i nodi secondari e ripristina le repliche
Modulo 7: Sharding e scalabilità orizzontale (6h)
Contenuti:
- Concetti di sharding: chiave shard, server di configurazione, router mongos
- Selezione della chiave shard e rischi associati
- Distribuzione dei server di configurazione, shard e mongos
- Riequilibrio e migrazione dei chunk
Esercitazioni:
- Configurare un cluster sharded semplice
- Inserire dati a larga scala ed osservare la distribuzione
- Introduzione di modifiche della chiave shard e comprensione delle limitazioni
Modulo 8: Backup, ripristino e recupero da disastro (4h)
Contenuti:
- Strumenti nativi: mongodump/mongorestore, snapshot del filesystem
- Backup in gruppi di replica e cluster sharded
- Utilizzo di base di Cloud Manager/Ops Manager per il backup
- Pianificazione del recupero da disastro (DR): RTO, RPO
Esercitazioni:
- Esegui backup e ripristino su un database di test
- Simula una falla e il recupero dal backup
- Progetta un piano di recupero da disastro per un caso ipotetico
Modulo 9: Sorveglianza e allarmi (4h)
Contenuti:
- Strumenti: mongostat, mongotop, Cloud Manager/Atlas Monitoring
- Integrazione con Prometheus + Grafana (concetti ed esempi)
- Metriche chiave: CPU, memoria, I/O, dimensione dell'oplog, latenze
- Allarmi: definizione di soglie e notifiche
Esercitazioni:
- Distribuzione di un agente di sorveglianza locale o basato su contenitori
- Configura pannelli di base con metriche di esempio
- Simula il carico e osserva gli allarmi
Modulo 10: Manutenzione, aggiornamenti e best practice (4h)
Contenuti:
- Strategie di aggiornamento per gruppi di replica e cluster sharded
- Pulizia dei dati, compattezza, verifiche dell'integrità
- Rassegna di log e controlli regolari
- Azure routine (script, cronjobs, Ansible, Terraform)
- Politiche di conservazione e archiviazione dei dati
Esercitazioni:
- Simula aggiornamenti minori e maggiori in un ambiente controllato
- Crea script automatizzati per backup e sorveglianza
- Sviluppa una lista di verifica periodica della manutenzione
Riepilogo e Passaggi Successivi
Requisiti
- Comprendere i concetti generali delle basi di dati e le strutture dei dati
- Familiarità con l'uso della riga di comando Linux
- Nozioni di base di rete e amministrazione del sistema
Pubblico Obiettivo
- Amministratori Database e ingegneri dei sistemi che lavorano con MongoDB
- Team di sviluppo e infrastruttura che implementano e mantengono ambienti MongoDB
- Sviluppatori interessati agli interni di MongoDB e alle migliori pratiche di distribuzione
Recensioni (5)
Kamil ha fatto un ottimo lavoro. Ha fatto domande per scoprire cosa già sapevamo e su cosa dovevamo concentrarci, e ha adattato facilmente la formazione alle nostre esigenze.
Susanna - USAF
Corso - MongoDB Advanced Administrator
Traduzione automatica
La situazione era atipica perché una formazione intensiva per gli sviluppatori doveva essere condotta con i non sviluppatori. Lukasz ha accettato questa sfida con empatia e molto umorismo. Attraverso il suo modo intelligente e flessibile, è stato in grado di garantire che un guadagno di apprendimento concreto è stato raggiunto per tutti. Mi è piaciuto molto e sarei lieto di partecipare di nuovo a un seminario con Lukasz.
Christoph - Honda Bank GmbH
Corso - MERN Fullstack Development
Traduzione automatica
The lab environment
Samer Roshdi - epic ltd
Corso - MongoDB for Analysts
It was very flexible and adapted to our expectations and skill level.
Raul Alberto Canales Requena - Kiloo
Corso - MongoDB for Advanced Users
I generally was benefit from the open mind and communication.