Offerta Didattica

 

INFORMATICA

BASI DI DATI II

Classe di corso: L-31 - Scienze e tecnologie informatiche
AA: 2016/2017
Sedi: MESSINA
SSDTAFtipologiafrequenzamoduli
INF/01CaratterizzanteLiberaLiberaNo
CFUCFU LEZCFU LABCFU ESEOREORE LEZORE LABORE ESE
64205632240
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

Issues related to the management of data in distributed Internet/Intranet environments. Knowledges of Object Relationa DataBase Manament Systems (ORDBMS) and Object Oriented DataBase Manament Systems (OODBMS). Knowledges of multi-program development environments and skills on the use of C.A.S.E. tools for the development of DB applications (Oracle SQL Developer). Knowledges of issues related to big data and skills of design of data model and database for cloud systems and applications (CAP Theorem). Knowledges of NoSQL solutions (key-calue, column, document, graph). Knowledges of format for the representation of NoSQL data (XML e JSON) and of related data transformation techniques (DTD, XDS, XQuery, XSL). Skills on the use of NoSQL DBMS (MongoDB, Cassandra, HBase, Neo4J). Skills of design and development of hybrid SQL-like/NoSQL architectures. Knowledges of the techniques of management and scalability of NoSQL databases. Knowledges of the main techniques of big data processing.

Metodi didattici

Didattica frontale e esercitazioni di laboratorio.

Teaching Methods

Lectures and laboratory activities.

Prerequisiti

Conoscenza dei database relazionali.

Prerequisites

Knowledges of relational database.

Verifiche dell'apprendimento

Esame scritto e orale.

Assessment

Written and oral exam.

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, gestione 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 gestione dati GIS. 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, 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

Review on RDBMS; OODBMS; ORDBMS; Distributed systems: objectives, definition; middleware; transparency; open system; policies; mechanisms; scalability; design issue; types of distributed systems: distributed processing systems, distributed information systems, pervasive distributed system; architectural styles; software architectures; architectures vs middleware; autonomic distributed systems; client-server paradignm. Distributed database: objectives, typologies, issues: autonomy and cooperation, trasparency, efficiency, reliability; horizontal and vertical data fragmentation; level of transparecy: fragmentation, allocation, language; identification of the distribute deadlock: Obermark algorithm; commit protocol: two-phase, three-phase, four-phase; recovery of coordinator and participants; presumed abort protocol; blocking, uncertainty, recovery protocols; Paxos Commit Protocol; X-Open DTP; Replicated database: motivations; symmetric and asymmetric modes; synchronous and asynchronous transmissions; alignment modes; alignment of disconnected copies; replication of mobile computers. Parallel databases: Typologies of transactional workload dati analysis; parallelism; shared memory e shared disk architectures; Benchmark; distributed join. Databases for Cloud computing: definition, features, cloud models; service levels; essential and common features; elasticity and scalability; virtualization; private, public, hybrid and federated clouds; taxonomy; advantages and disadvantages. Oracle db: architecture and functionalities; PS/SQL: introduction, benefits, main constructs, dati types, variables, control structures, iterative structures, anonymous blocks, stored procedure, functions, packages;PS/SQL: cursors, exception management, trigger, dynamic SQL. Introduction to NoSQL database key-value, column-based, document-based, graph. Definition of eXtensible Markup Language (XML): elements and attributes; document schemes: Document Type Definition (DTD) e XML Schema Definition (XSD); Quering and transformation languages: XQuery e XSL. Big data e database NoSQL. Overview on big data analytic tool for Cloud computing: Map reduce; Map-Reduce; HADOOP; Distributed File Systems (HDFS); Apache Hive e Apache Pig. NoSQL document-oriented database MongoDB: system architecture, functioning principles, BSON, query language; data insert, update, deletion, query composition; GeoJSON and GIS data management. NoSQL column-based database Cassandra: system architecture, functioning principles, Cassandra Query Language (CQL); data insert, update, deletion, query composition. NoSQL column-based database HBASE: system architecture, functioning principles, query language; data insert, update, deletion, query composition. NoSQL graph database Neo4J: system architecture, functioning principles, indexes, relations, properties, operation mutation in a transaction, graph database matrix, graph crossing, chyper, query language: data insert, update, deletion, query composition. Nomalization of NoSQL database. Data aggregation techniques by means of encapsulation. Hybrid database architectures: three-layer architecture, Lambda architecture. Overview on Machine Learning.

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 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