Offerta Didattica

 

INFORMATICA

BASI DI DATI II

Classe di corso: L-31 - Scienze e tecnologie informatiche
AA: 2015/2016
Sedi: MESSINA
SSDTAFtipologiafrequenzamoduli
INF/01CaratterizzanteLiberaLiberaNo
CFUCFU LEZCFU LABCFU ESEOREORE LEZORE LABORE ESE
6600484800
Legenda
CFU: n. crediti dell’insegnamento
CFU LEZ: n. cfu di lezione in aula
CFU LAB: n. cfu di laboratorio
CFU ESE: n. cfu di esercitazione
FREQUENZA:Libera/Obbligatoria
MODULI:SI - L'insegnamento prevede la suddivisione in moduli, NO - non sono previsti moduli
ORE: n. ore programmate
ORE LEZ: n. ore programmate di lezione in aula
ORE LAB: n. ore programmate di laboratorio
ORE ESE: n. ore programmate di esercitazione
SSD:sigla del settore scientifico disciplinare dell’insegnamento
TAF:sigla della tipologia di attività formativa
TIPOLOGIA:LEZ - lezioni frontali, ESE - esercitazioni, LAB - laboratorio

Obiettivi Formativi

Conoscenza delle problematiche di gestione dei dati in ambiente Internet/Intranet distribuito. Conoscenza di basi di dati relazionali ad oggetti (ORDBMS) e orientati agli oggetti (OODBMS). Conoscenza di ambienti di sviluppo multiprogramma e competenze nell’impiego di strumenti C.A.S.E. per lo sviluppo di applicazioni DB (Oracle SQL Developer). Conoscenza delle problematiche relative ai big data e capacità di progettazione di data model e database per sistemi e applicazioni cloud (teorema CAP). Conoscenza di soluzioni NoSQL (key-calue, column, document, graph). Conoscenza dei formati di rapprentazone dei dati NoSQL (XML e JSON) e delle relative tecniche di trasformazione (DTD, XDS, XQuery, XSL). Competenze nell'utilizzo di DBMS NoSQL (MongoDB, Cassandra, HBase, Neo4J). Capacità di progettazione e di sviluppo di architetture ibride SQL-like/NoSQL. Conoscenza delle tecniche di manutenzione e scalabilità di database NoSQL. Conoscenza delle principali tecniche di processamento dei big data.

Learning Goals


Metodi didattici

Didattica frontale e esercitazioni di laboratorio.

Teaching Methods


Prerequisiti

Conoscenza dei database relazionali.

Prerequisites


Verifiche dell'apprendimento

Esame scritto e orale.

Assessment


Programma del Corso

Richiami sui RDBMS; OODBMS; ORDBMS; Sistemi distribuiti: obiettivi; definizione; middleware; trasparenza; sistemi aperti; politiche; meccanismi; scalabilità; problematiche di progettazione; tipi di sistemi distribuiti: sistemi per il processamento distribuito, sistemi informativi distribuiti, sistemi distribuiti pervasivi; stili architetturali; architetture software; architetture vs middleware; sistemi distribuiti autonomici. Architetture client-server: Paradigma client-server classico ed applicativo; Basi di dati distribuite: motivazioni, tipologie, problematiche: autonomia e cooperazione, trasparenza, efficienza, affidabilità; frammentazione orizzontale e verticale dei dati; livelli di trasparenza: frammentazione, allocazione, linguaggio; Riconoscimento distribuito del deadlock: algoritmo di Obermark; protocollo di commit: a due fasi, tre fasi e quattro fasi; recovery del coordinatore e dei partecipanti; protocollo di abort presunto; Blocking, incertezza, protocolli di recovery; Protocollo di Paxos Commit; X-Open DTP; Basi di dati replicate: motivazioni; modalità simmetrica e asimmetrica; trasmissione sincrona e asincrona; modalità di allineamento; allineamento di copie disconnesse; replicazione di computer mobili. Database paralleli: tipologie di carico transazionale ed analisi dei dati; parallelismo; architetture shared memory e shared disk; Benchmark; join distribuito. Database e Cloud computing: definizione; caratteristiche e modelli cloud; livelli di servizio; caratteristiche comuni ed essenziali; elasticità e scalabilità; virtualizzazione; cloud private, pubbliche, ibride e federate; tassonomia; vantaggi e svantaggi. Oracle db: archittettura e funzionalità; PS/SQL: introduzione, benefici, costrutti di base, tipi di dati, variabili, strutture di controllo, strutture iterative, blocchi anonimi, stored procedure, funzioni, packages. PS/SQL: cursori, gestrione delle eccezioni, trigger, SQL dinamico. Introduzione ai database NoSQL key-value, column-based, document-based, graph. Definizione e storia di eXtensible Markup Language (XML): elementi e attributi; schemi documentali: Document Type Definition (DTD) e XML Schema Definition (XSD); Linguaggi di interrogazione e trasformazione: XQuery e XSL. Big data e database NoSQL. Cenni sugli strumenti di big data analytics per il Cloud: Map reduce; Map-Reduce; HADOOP; File Systems Distribuiti (HDFS); Apache Hive e Apache Pig. NoSQL document-oriented database MongoDB: architettura di sistema, principi di funzionamento, BSON, query language; inserimento, aggiornamento, cancellazione dati, scrittura query; GeoJSON e gestine di dati geospaziali. NoSQL column-based database Cassandra: architettura di sistema, principi di funzionamento, Cassandra Query Language (CQL); inserimento, aggiornamento, cancellazione dati, scrittura query. NoSQL column-based database HBASE: architettura di sistema, principi di funzionamento, query language, inserimento, aggiornamento, cancellazione dati, scrittura query. NoSQL graph database Neo4J: architettura di sistema, principi di funzionamento, indici, relazioni, proprietà, mutazione di operazioni in una transazione, matrice di un graph database, attravesamento del grafo, vantaggi e svantaggi, chyper, query language: inserimento, aggiornamento, cancellazione dati, scrittura query. Nomalizzazione in database NoSQL. Tecniche di aggregazione dati mediante incapsulamento; Architetture ibride: architettura a tre livelli, architettura Lambda. Cenni su Machine Learning.

Course Syllabus


Testi di riferimento: -Atzeni, Ceri, Fraternali, Paraboschi, Torlone. Basi di dati Quarta edizione, McGraw-Hill. -Tanenbaum Andrew S. Van Steen Maarten. Sistemi distribuiti. Principi e paradigmi, Pearson. -Dispense e slides fornite dal docente e disponibili sulla piattaforma di eLearning.

Elenco delle unità didattiche costituenti l'insegnamento

BASI DI DATI II

Docente: ANTONIO CELESTI

Orario di Ricevimento - ANTONIO CELESTI

GiornoOra inizioOra fineLuogo
Martedì 17:00 18:00Dipartimente di Ingegneria, blocco B, piano 7.
Note: Si consiglia di contattare il docente tramite e-mail all'indirizzo acelesti@unime.it per conferme e per appuntamenti in altri giorni.
  • Segui Unime su:
  • istagram32x32.jpg
  • facebook
  • youtube
  • twitter
  • UnimeMobile
  • tutti