Acquisire le conoscenze riguardanti le basi di dati parallele e distribuite, per l’Internet of Things (IoT) e per il Cloud. Acquisire le conoscenze teoriche riguardanti i Big Data. Comprendere come cambia il modo di gestire le informazioni con i Big Data. Conoscere l’evoluzione dei DataBase Management System (DBMS) dai Relational DBMS (RDBMS) agli Object Relational DBMS (ORDBMS), Object Oriented (OODBMS) fino ai recenti NoSQL e NewSQL. Acquisire competenze avanzate sulla programmazione di stored procedures tramite ORDBMS. Acquisire le conoscenze e le metodologie necessarie per la progettazione e lo sviluppo basi di dati con DBMS NoSQL di tipo key-value, column, document e graph . Acquisire le principali tecniche per il benchmark di soluzioni DBMS e la capacità di individuare il miglior DBMS che meglio si adatti alla problematica affrontata.
Prerequisiti
Conoscenze di sistemi operativi (struttura dei sistemi operativi, gestione dei processi, sincronizzazione dei processi, gestione della memori, il file system, sicurezza e protezione ), database (modello relazionale, algebra relazionale, normalizzazione, DDL e DML, SQL, Triggers) e programmazione (programmazione procedurale e ad oggetti, interazione con database).
Testi
Atzeni, Ceri, Paraboschi, Torlone, "Basi di dati – Modelli e linguaggi di interrogazione", McGraw-Hill, Andrew S. Tanenbaum, Maarten Van Steen. Sistemi Distribuiti. Sistemi distribuiti. Principi e paradigmi. Steven Feuerstein. Oracle PL/SQL Best Practices: Optimizing Oracle Code. Karl Seguin. Il Piccolo Libro di MongoDB 2A Edizione. Eben Hewitt and Jeff Carpenter. Cassandra: The Definitive Guide: Distributed Data at Web Scale. Lars George. HBase: The Definitive Guide Merkl Sasaki, Joy Chao & Rachel Howard. Graph Databases for BeginnersBryce. Materiale fornito dal docente.