Struttura del corso
Modulo 1: Introduzione e architettura di MongoDB (4h)
Contenuti:
- Storia e panoramica sull’ecosistema MongoDB
- Casi d’uso tipici, vantaggi e svantaggi
- Architettura generale: istanze, processi e configurazioni
Esercizi pratici:
- Esplorazione interattiva: connessione tramite Mongo Shell o interfaccia da riga di comando
- Creazione di un database e una collezione di esempio
Modulo 2: Installazione e configurazione iniziale (6h)
Contenuti:
- Requisiti hardware e risorse
- Installazione su Linux (deb/rpm), Windows e macOS
- I file di configurazione YAML (mongod.conf): posizioni dei dati, percorsi di log, indirizzo IP e porta utilizzati
- Opzioni di avvio ed integrazione con systemd o altri gestori servizi
Esercizi pratici:
- Implementazione di istanze su macchine virtuali locali o contenitori Docker
- Adattamento delle impostazioni in base alle esigenze di sviluppo e produzione
- Verifica della connettività remota sicura
Modulo 3: Modellazione dei dati e operazioni base (5h)
Contenuti:
- Documenti BSON, collezioni e database
- Strategie di modellazione: incorporamento o referenziazione; schemi progettuali consigliati
- Gestione di indici di base (introduzione preliminare)
- Operazioni comuni tramite Mongo Shell e esempi di script utilizzando i driver ufficiali
Esercizi pratici:
- Modellazione di un caso d’uso specifico: ad esempio un sistema di inventario o fatturazione
- Realizzazione di operazioni CRUD completamente funzionanti
- Validazione degli schemi tramite JSON Schema in MongoDB
Modulo 4: Indici e ottimizzazione delle prestazioni (4h)
Contenuti:
- Indici semplici, composti, multikey, testuali e geospaziali
- Utilizzo del comando explain() per analisi statistiche e prestazioni
- Effetti degli indici sulla velocità di scrittura e sull’utilizzo della memoria<\/li>
Esercizi pratici:
- Creazione di collezioni con dati di test per valutazioni prestazionali
- Confronto tra l’esecuzione delle query con e senza indici; interpretazione dettagliata dei risultati di explain()
- Ottimizzazione degli indici in base ai pattern d'uso osservati
Modulo 5: Sicurezza (5h)
Contenuti:
- Mecanismi di autenticazione: SCRAM, LDAP/Kerberos (introduzione generale)
- Creazione e gestione di utenti e ruoli personalizzati
- Configurazione TLS/SSL per la comunicazione tra client e server
- Crittografia dei dati a riposo: impostazioni relative alle chiavi crittografiche
- Attivazione e configurazione di log di audit di base
Esercizi pratici:
- Impostazione di account con privilegi limitati per ogni utente
- Installazione e verifica dell’utilizzo di protocollo TLS nelle istanze locali
- Rilevamento di accessi non autorizzati ed esame dettagliato dei log di audit generati
Modulo 6: Replica e alta disponibilità (6h)
Contenuti:
- Concetti base della replica: server primario, secondari e oplog
- Configurazione di un set di replica: inizializzazione, aggiunta e gestione dei membri, definizione di arbitratori
- Monitoraggio dello stato complessivo del cluster e meccanismi elettorali automatici
- Opere manutentive fondamentali: modifica della priorità tra i nodi, aggiunta/rimozione dei membri secondari
Esercizi pratici:
- Creazione di un set replica composto da tre nodi (su macchine virtuali o ambienti locali)
- Simulazione di guasti al server principale per osservare correttamente il processo di failover automatico
- Rigenerazione dei nodi secondari e riconfigurazione dinamica del set replica come previsto
Modulo 7: Sharding e scalabilità orizzontale (6h)
Contenuti:
- Cenni sulla logica di sharding: scelta della chiave shard, ruolo dei config server e del router mongos
- Valutazione e selezione appropriata della chiave shard in relazione ai rischi d’utilizzo derivanti
- Implementazione pratica dei componenti critici per lo sharding: configurazione di config server, creazione degli shard effettivi e attivazione del router principale.
- Migrazione automatica delle partizioni (chunk) tra i diversi nodi secondo le esigenze dinamiche d'utilizzo
Esercizi pratici:
- Creazione di un cluster sharded semplice e configurabile per ambienti testuali
- Inserimento massivo di record contenenti dati numerosi e osservazione della distribuzione logica automatica sui nodi sharding
- Introduzione di modifiche alla scelta iniziale della chiave shard, con analisi rigorosa dei limiti strutturali ed operativi risultanti.
Modulo 8: Backup, ripristino e pianificazione del recupero in caso di disastri (4h)
Contenuti:
- Strumenti nativi disponibili in MongoDB per la gestione dei backup: mongodump/mongorestore, nonché l’impiego efficace degli snapshot basati sui filesystem standard
- Gestione centralizzata e sincronizzazione sicura delle copie di backup negli ambienti costituiti da set replica o cluster sharded.
- Utilizzo avanzato e pianificazione dei servizi Cloud Manager/Ops Manager per una protezione continua e ottimizzata dei dati aziendali.
- Pianificazione dettagliata del recupero operativo in scenari di emergenza (valutazione dei parametri RTO, ossia il tempo massimo accettabile di interruzione di servizio; nonché l’RPO corrispondente alla tolleranza limite riguardo la perdita di informazioni critiche).
Esercizi pratici:
- Attivazione e verifica rigorosa dei flussi operativi per il backup automatico nonché ripristino controllato su database sperimentali.
- Simulazione concreta di eventi critici che comportano la perdita improvvisa dell’ambiente dati, seguita da attività pratiche e tempestive mirate a un recupero efficace grazie alle copie di sicurezza precedentemente create.
- Progettazione e redazione integrale di una pianificazione strategica valida per il ripristino in condizioni di emergenza, adattata specificamente all’ambito aziendale da analizzare in classe.
Modulo 9: Monitoraggio costante e sistemi d’allerta (4h)
Contenuti:
- Gli strumenti principali di monitoraggio integrati in MongoDB: mongostat, mongotop; introduzione delle possibilità avanzate offerte da Cloud Manager o dalla piattaforma Atlas per una supervisione completa.
- Integrazione efficace e configurazione dei pacchetti Prometheus più Grafana come componenti fondamentali di sistemi analitici centralizzati, completi di documentazione tecnica illustrativa pratica.
- Riconoscimento rigoroso delle principali variabili misurabili: percentuale d’utilizzo di CPU e della memoria fisica allocata; operazioni di I/O svolte in tempo reale, dimensionamento effettivo del log delle operazioni oplog mantenuto internamente; nonché indicatori precisi relativi a tempi medi di latenza richiesta per elaborare richieste da parte degli utenti finali.
- Impostazione accurata dei criteri decisionali e parametri predefiniti che determinano il manifestarsi e l’invio tempestivo di notifiche, ovvero meccanismi preventivi d’allerta funzionali verso l'attivazione rapida di procedure correttive.
Esercizi pratici:
- Implementazione autonoma dell’agente monitorante in ambienti locali o basati su contenitori virtualizzati per analisi dettagliate dei parametri corrente.
- Creazione di pannelli sintetici comprensivi delle misurazioni più significative, seguendo indicazioni tecniche prevedibili e verificabili.
- Incremento controllato del carico computazionale generato dal server oggetto d’osservazione, seguito da analisi approfondita degli effetti rilevati sui parametri critici monitorati così come il comportamento immediato dei meccanismi predefiniti di avviso.
Modulo 10: Operazioni manutentive periodiche, upgrade controllati e migliori pratiche adottabili (4h)
Contenuti:
- Strategie strutturate e sequenziali di aggiornamento dei pacchetti software per sistemi composti da set replica o cluster suddivisi in shard; nonché metodologie consolidate per garantire la stabilità durante modifiche critiche.
- Gestione attenta della sana pulizia e manutenzione strutturale dei dati archiviati, completa di procedure sistematiche miranti a ottimizzare il dimensionamento fisico globale e verifiche rigorose d’integrità generale.
- Analisi continuativa e revisione meticolosa dei file di log accumulati nel tempo; approcci pratici di ispezione accurata per ottenere un quadro completo riguardo eventuali anomalie.
- Sviluppo d’automatizzazioni intelligenti in grado di gestire routine programmate: implementazione fattibile mediante script standard, pianificatori automatici simili a cronjob e tecnologie avanzate come Ansible o Terraform.
- Pianificazione sostenibile per la conservazione dei dati archiviati nel tempo; linee guida dettagliate riguardanti le tempistiche di rimozione, l’eventuale compressione ed elaborazione successiva.
Esercizi pratici:
- Realizzazione d’esercitazioni controllate che implicano il verificarsi graduale sia di aggiornamenti minori sia transizioni sostanziali su cluster testuali predefiniti.
- Svililuppo rigoroso dei codici automatizzati utili a garantire l’esecuzione affidabile e ripetibile di operazioni obbligatorie: attivazione dei backup periodici, misurazione delle prestazioni in tempo reale.
- Compilazione integrale e descrizione minuziosa di check-list standardizzate e periodiche da eseguire regolarmente come precauzioni manutentive fondamentali.
Riepilogo finale e prossimi step
Requisiti
- Conoscenza dei concetti generali relativi ai database e alle strutture dati
- Esperienza nell’utilizzo della riga di comando Linux
- Conoscenze di base sulle reti informatiche e sulla gestione sistemistica
Destinatari
- Amministratori di database e ingegneri system che operano con MongoDB
- Squadre DevOps e infrastrutturali responsabili della distribuzione e manutenzione degli ambienti MongoDB
- Sviluppatori interessati al funzionamento interno di MongoDB e alle migliori pratiche di implementazione
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