NoSQL Databases: Tecnologie e Problematiche
Descrizione
Oggi nella rete sono generate enormi quantità di dati eterogenei e 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 corso, 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.
A chi si rivolge
- Capi progetto
- Analisti
- Progettisti
- Sviluppatori
- Chiunque sia interessato ad approfondire i concetti relativi ai database NoSQL
Prerequisiti
Conoscenze base sulle tecnologie Internet e sulle applicazioni distribuite.
Argomenti trattati
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 a 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
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.