NoSQL: Tecnologie e Problematiche
Al giorno d’oggi sono generate enormi quantità di dati eterogenei aventi strutture non sempre riconducibili a formati “relazionali”. La moda è di memorizzare questi dati su Hadoop. Tale soluzione, però, non è sempre la più indicata per motivi di complessità dell’architettura, pesantezza delle componenti e difficoltà di scrittura delle analytics. I database NoSQL, non necessariamente legati al mondo dei BigData, se utilizzati per elaborare determinati tipi di informazioni consentono di implementare soluzioni più agili rispetto ad un file system distribuito e di implementare query molto performanti. Questo seminario, dopo aver descritto le principali tipologie di database NoSQL, vuole mostrare, mediante la descrizione di esempi pratici, le funzionalità dei principali prodotti, i campi di applicazione e i relativi vantaggi e svantaggi.
Introduzione:
- principali tipologie di dati
- Small Data e Big Data
- classificazione dei DBMS (OldSQL, NewSQL, NoSQL) e principali differenze
- cosa sono i database NoSQL
- principali caratteristiche
- il teorema CAP
- classificazione dei database NoSQL
Database chiave-valore:
- dizionari e hash table
- principali funzionalità
- data modelling
- modelli e pattern architetturali
- campi di applicazione
- principali database chiave-valore (Redis, BigTable,…)
- esempi pratici di utilizzo
Database documentali:
- cosa si intende per “document”
- struttura gerarchica
- collezioni di document
- principali funzionalità
- data modelling
- modelli e pattern architetturali
- campi di applicazione
- principali database documentali (MongoDB, CouchDB, CouchBase,…)
- esempi pratici di utilizzo
Database colonnari o orientati alle tabelle:
- tabelle estese (indice di riga, colonna e temporale)
- column family e super column family
- tabelle nidificate; principali funzionalità
- data modelling
- modelli e pattern architetturali
- campi di applicazione
- principali database colonnari (Cassandra, Hbase, ,…)
- esempi pratici di utilizzo
Database a grafo:
- strutture reticolari, ad albero e a grafo
- tipologie di elaborazione su modelli a grafo
- principali funzionalità
- data modelling
- modelli e pattern architetturali
- campi di applicazione
- principali database a grafo (Neo4J, OrientDB…)
- esempi pratici di utilizzo
Database ad Oggetti:
- cosa si intende con oggetto
- il paradigma object oriented
- principali funzionalità
- data modelling
- modelli e pattern architetturali
- campi di applicazione
- principali database object-oriented (Redis, BigTable,…)
- esempi pratici di utilizzo
Database Multivariate:
quando il DBMS implementa più modelli
Database NoSQL Specializzati:
- suite di ricerca: SOLR e Elasticsearch
- Blockchain
NoSQL e Hadoop:
- database NoSQL nativi per Hadoop
- integrazione fra Hadoop e NoSQL: trarre il meglio dai due mondi
Integrazione con i sistemi aziendali esistenti:
- architetture di integrazione
- forward e reverse engineering
- conversione da e verso RDBMS
- strumenti utilizzabili (Es. ErWin)
Problematiche di sicurezza e privacy:
- principali problematiche di sicurezza e privacy dei database NoSQL
- policy di accesso; cifratura delle informazioni
- strumenti di sicurezza forniti
Governance:
- principali problematiche relative alla governance
- catalogo dei metadati
- ruoli e figure professionali
- lineage
Casi di studio ed esempi pratici.
Durata
3 giorni
Destinatari
- capi progetto
- analisti
- progettisti
- sviluppatori
- chiunque voglia approfondire il funzionamento dei database NoSQL
Prerequisiti
Conoscenze base sul funzionamento di Internet e delle applicazioni distribuite.
Requisiti per l'aula
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:
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