MongoDB: architettura e funzioni

Tra i database NoSQL di tipo documentale, MongoDB è senz’altro il più conosciuto e utilizzato. La sua diffusione non è legata solamente al mondo dei Big Data ma a tutte quelle situazioni in cui una struttura relazione non è molto efficiente. MondoDB consente di memorizzare velocemente grandi quantità di dati e di eseguire query complesse su di essi.

Ma quali sono le funzionalità di questo database? Quando è veramente efficace? Quali sono le architetture di distribuzione dei dati? Questo corso, di carattere pratico, vuole mostrare al discente, tramite l’implementazione di esempi pratici, le potenzialità di questo database e i vantaggi che possono derivare dal suo utilizzo.

NOTA: essendo il corso di carattere pratico, i discenti dovrebbero dotarsi di un pc portatile in modo da poter eseguire le esercitazioni proposte.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Introduzione:

  • introduzione ai database NoSQL
  • differenze fra i database NoSQL e i database relazionali
  • approfondimento sui database documentali
  • introduzione a Mongo DB
  • funzionalità e caratteristiche principali di Mongo DB
  • il modello “document oriented” di Mongo DB
  • struttura dei dati: database, collection, document
  • GridFS

Architettura e installazione:

  •  le componenti di mongodb (mongod, mongos,...)
  • architettura monoserver e distribuita
  • scaricamento e installazione di MongoDB
  • principali configurazioni
  • visibilità dei dati sul cluster (cosa vedo se accedo a nodi differenti)
  • il teorema CAP
  • concetti fondamentali: chunk (sharding), replica, partizionamento dei dati

Operare sul database:

  • creazione, modifica e cancellazione di un database
  • creazione, modifica e cancellazione di collection
  • creazione, modifica e cancellazione di document
  • limiti della struttura documentale
  • utilizzo di GridFS per memorizzare dati di grandi dimensioni
  • utilizzo del client da linea di comando
  • il motore di aggregazione
  • lookup: inner join in MongoDB
  • graph lookup: inferenza su un modello a grafo
  • utilizzo di client visuali: MongoDB Compass, Robo3T

Gestione della sicurezza e del monitoraggio:

  • il sistema dei permessi di MongoDB
  • creazione di utenti
  • assegnazione delle permission agli utenti
  • gestione dei backup
  • monitoraggio e statistiche

Progettazione:

  • progettare la struttura del database, delle collection e dei document
  • strumenti in aiuto alla modellazione: Erwin per MongoDB, Studio 3T
  • MongoDB e prestazioni:
    • utilizzo degli indici
    • piano di esecuzione delle query
    • ottimizzare le query
    • individuazione di query mal progettate

Casi di studio ed esempi pratici

Durata

3-5 giorni a seconda delle esigenze e del livello di approfondimento richiesto dal cliente

 

Destinatari

  • analisti
  • progettisti
  • sviluppatori
  • chiunque voglia approfondire il funzionamento di MongoDB

 

Prerequisiti

Conoscenze base sul funzionamento dei database.

Conoscenze base sui sistemi distribuiti.

 

Requisiti per l'aula

Il corso prevede numerose esercitazioni. Per tale motivo i discenti devono disporre di un PC sul quale installare MongoDB e i relativi esempi.

Il rispetto dei seguenti requisiti è indispensabile per la corretta erogazione del corso:

  • videoproiettore con risoluzione nativa minima di 1024x768 (meglio se superiore) funzionante
  • connessione ad internet non filtrata per il portatile del docente
  • lavagna a fogli mobili o a secco con pennarelli di diversi colori (o strumenti equivalenti)

NOTA: Il docente utilizzerà un suo portatile (Mac) sul quale sono stati preinstallati gli esempi da mostrare durante l'esposizione. Nel caso in cui non sia possibile l'utilizzo del portatile del docente (es. per problemi di sicurezza nella connessione alla rete aziendale) e sia necessario utilizzare un PC fornito dal cliente, questo deve essere concordato in precedenza e comporterà un addebito extra per l'installazione e la configurazione degli esempi.

Non è prevista un'edizione pubblica per questo corso

Perché un corso in house?

Il corso può essere tenuto "in house" presso il cliente con i seguenti vantaggi:

  • con un numero di 4-5 partecipanti, il corso "in house" è più conveniente rispetto al corso pubblico (maggiore è il numero dei partecipanti, maggiore è il risparmio)
  • il corso può essere personalizzato a seconda delle esigenze del cliente (da concordare prima dell'erogazione)
  • è possibile calare la discussione degli argomenti sulla realtà aziendale del cliente (da concordare prima dell'erogazione)
  • è possibile modificare la durata del corso rispetto a quella standard (meno giorni per avere solo una panoramica, più giorni per un maggiore approfondimento)
  • è possibile eseguire test di verifica sull'apprendimento ed esercitazioni pratiche costruite ad hoc

 

Come richiedere un corso in house

Un corso in house può essere richiesto direttamente a:

Tecnet Dati s.r.l.

Corso Svizzera 185 10149 - Torino

Tel. +39 011 7718090

Fax. +39 011 7718092

mail: info@tecnetdati.it

mail area formazione: formazione@tecnetdati.com

 

Ulteriori informazioni

Per ulteriori informazioni sull'erogazione di corsi in house vedi la pagina ufficiale di Tecnet Dati