Scheda programma d'esame
LARGE-SCALE AND MULTI-STRUCTURED DATABASES
PIETRO DUCANGE
Academic year2022/23
CourseARTIFICIAL INTELLIGENCE AND DATA ENGINEERING
Code883II
Credits9
PeriodSemester 1
LanguageEnglish

ModulesAreaTypeHoursTeacher(s)
LARGE-SCALE AND MULTI-STRUCTURED DATABASESING-INF/05LEZIONI90
PIETRO DUCANGE unimap
Obiettivi di apprendimento
Learning outcomes
Conoscenze

Al termine del corso:

- lo studente avrà acquisito conoscenze in merito agli strumenti e alle metodologie per la progettazione di basi di dati non relazionali. In particolare, lo studente sarà in grado di gestire l'archiviazione, l'aggiornamento ed il recupero di dati complessi e multi-strutturati, anche di dimensioni molto ampie.

- lo studente avrà aquisito conoscenze in merito alle architetture, alle prestazioni ed ai costi delle moderne infrastrutture per la gestione di dati complessi, sia dal punto di vista della quantità di informazione sia dal punto di vista della loro struttura.

Con riferimento all’autonomia di giudizio:

- lo studente sarà in grado di impostare correttamente un progetto per la gestione di dati multi-strutturati e di grosse dimensioni, integrandolo all’interno di una reale applicazione informatica e scegliendo in maniera opportuna le strategie di progetto e di implementazione.

 
Con riferimento alle abilità comunicativa:
- lo studente sarà in grado di utilizzare del lessico e della terminologia appropriata per presentare, in forma scritta o verbale, le argomentazioni e i risultati del proprio studio e delle attività pratiche realizzate durante il corso
 

Con riferimento all’abilità ad apprendere:
- Lo studente avrà acquisito un buon livello di autonomia nell’utilizzo del materiale e negli strumenti didattici presentati durante il corso

Knowledge

At the end of the course:

- the student will have acquired knowledge about the tools and methodologies for the design of non-relational databases. In particular, the student will be able to manage the archiving, updating and recovery of complex and multi-structured data, even of very large dimensions.


- The student will acquire knowledge about the architectures, performances and costs of modern infrastructures for the management of complex data, both from the point of view of the quantity of information and from the point of view of their structure.

Moreover, with reference to autonomy of judgment:

- the student will be able to correctly set up a project for the management of multi-structured and large data, integrating it into a real computer application and choosing in an appropriate manner the design and implementation strategies.


With reference to communication skills:
- The student will be able to use appropriate vocabulary and terminology to present, in written or verbal form, the arguments and results of his/her own study and practical activities carried out during the course.

With reference to the ability to learn:
- The student will have acquired a good level of autonomy in the use of the materials and didactic tools presented during the course.

 

Modalità di verifica delle conoscenze


Per l'accertamento delle conoscenze teoriche e pratiche saranno proposte attività di gruppo. Ai gruppi di lavoro saranno proposte attività di:
- approfondimento di questioni teoriche e tecniche
- realizzazione di progetti.

- Saranno previsti confronti periodici in aula tra il docente e il gruppo di studenti che sviluppa le attività di cui sopra.

-I gruppi di lavoro dovranno essere in grado di impostare in maniera ottimale il progetto didattico. Ciò sarà valutato sulla base della documentazione fornita e della discussione delle varie attività durante le ore appositamente dedicate ed in sede di esame orale.

- In sede di esame, allo studente sarà data la possibilità di discutere problematiche teorico/pratiche relative agli argomenti trattati nel corso.

Assessment criteria of knowledge

Group activities will be proposed to assess theoretical and practical knowledge. Group activities will be proposed to the working groups with the objective of:
- deepening of theoretical and technical issues
- implementing of technical projects.

- Periodic classroom discussions between the teacher and the group of students developing the above activities will be organized.

-The working groups must be able to set up the didactic project in the best possible way. This will be assessed on the basis of the provided documentation and of the discussions carried out during the hours dedicated to them and during the oral exam.

- During the exam the student will be given the opportunity to discuss theoretical/practical issues related to the topics covered in the course.

Capacità

Al termine del corso lo studente sarà in grado di:

- Progettare opportunamente una base di dati non relazionale, sulla base dei requistiti (funzionali e non) di una specifica applicazione.

- Utilizzare moderne infrastrutture tecnologiche per la gestione di basi di dati non relazionali (MongoDB, Neo4j, etc)

 

 

Skills

At the end of the course the student will be able to:

- Design a non-relational database based on the requirements (functional and non-functional) of a specific application.

- Use modern technological infrastructures for the management of non-relational databases (LevelDB, MongoDB, Neo4j, etc.)

Modalità di verifica delle capacità

Durante le lezioni di laboratorio:

-Sarà mostrato allo studente come installare e configurare alcune fra le moderne infrastrutture tecnologiche per la gestione di basi di dati non relazionali 

-Saranno proposte attività pratiche per la creazione, la gestione e l'interrogazione di diverse basi di dati non relazionali

- Saranno proposte attività di gruppo per l'approfondimento di questioni tecniche e per la realizzazione di progetti didattici

- I gruppi di lavoro dovranno presentare relazioni scritte relative alle attività svolte 

Assessment criteria of skills

During lab class:

The student will be shown how to install and configure some of the modern technological infrastructures for the management of non-relational databases.

Practical activities will be proposed for the creation, management and querying of different non-relational databases.

- Group activities will be proposed for the in-depth study of technical issues and for the implementation of educational projects.

- The working groups must submit written reports on their activities

Comportamenti

Gli studenti acquisiranno accuratezza e precisione nella progettazione e risoluzione dei problemi relativi alla progettazione di basi di dati non relazionali.

Gli studenti saranno in grado di collaborare con i propri colleghi e svolgere un lavoro di gruppo in modo efficace.

Behaviors

Students will acquire accuracy and precision in the design and resolution of problems related to the design of non-relational databases.

Students will be able to collaborate with their colleagues and do teamwork effectively.

Prerequisiti (conoscenze iniziali)

- Programmazione in JAVA (incluso l'utilizzo di un IDE)

- Progettazione ed interrogazione di basi di dati relazionali

- Nozioni di base di Ingegneria del Software (incluso realizzazione di Diagrammi UML)

- Nozioni di base di Sistemi Operativi Unix-Based

Prerequisites

- Programming in JAVA (including the use of an IDE)

- Design and query of relational databases

- Basics of Software Engineering (including realization of UML Diagrams)

- Basics of Unix-Based Operating Systems

Indicazioni metodologiche

Per l'anno accademico 2022/2023, tenere sotto controllo le indicazioni dell'ateneo riguardo lo svolgimento delle attività didattiche in base all'andamento dell'emergenza COVID-19.

Sono previste lezioni teoriche ed esercitazioni pratiche. Si organizzeranno gruppi di lavoro per svolgere le esercitazioni. Le attività relative al progetto partiranno dalla seconda metà di Novembre.

Sarà utlizzata la piattaforma teams per la gestione di eventuali attività da svolgere in modalità a distanza (iscrizione necessaria).

Ciascuno studente dovrebbe essere dotato di PC personale.

Si utilizzerà la piattaforma di e-learning Google Classroom per fornire il materiale di studio e per il caricamento da parte degli studenti di artefatti (codici, relazioni, presentazioni). Gli studenti potranno accedere a tale piattaforma solo ed esclusivamente utilizzando le credenziali di ateneo.

Il corso sarà svolto interamente in lingua Inglese.

Saranno previsti orari di ricevimento (due ore alla settimana).

 

Teaching methods

For the academic year 2022/2023, keep an eye on the university's indications regarding the conduct of teaching activities according to the COVID-19 emergency.

Theoretical lectures and practical exercises are planned. Working groups will be organised to carry out the exercises. The project activities will start in the second half of November.

The teams platform will be used for the management of any activities to be carried out remotely (registration required).

Each student should be equipped with a his/her own PC.

The Google Classroom s e-learning platform will be used to provide study material and for students to upload artifacts (codes, reports, presentations).

The course will be held entirely in English.

Tutoring hours (two hours per week) will be provided.

Programma (contenuti dell'insegnamento)

- Introduzione e motivazioni: Introduzione al corso, L'era dei Big Data, Le rivoluzioni delle Basi di Dati

- Fondamenti e proprietà dei database NoSQL: Proprietà ACID vs proprietà BASE, il teorema del CAP, Scalabilità, Sharding, Replicazione, Coerenza.

- Architetture di database NOSQL: Document Databases, Key-values Databases, Column Databases, Graph Databases

- Ripasso di Java, SQL e strumenti per la persistenza dei dati

- Infrastrutture moderne per basi di dati NoSQL: LevelDB, MongoDB, Neo4J (installazione, configurazione, operazioni CRUD, query principali)

Syllabus

- Introduction and Motivations: Introduction to the Course, The Big Data Era, The Database Revolutions Fundamentals and properties of the NoSQL databases: ACID vs BASE properties, The Cap Theorem, Scalability, Sharding, Replication, Consistency

- Architectures of NOSQL databases: Document Databases, Key-values Databases, Column Databases, Graph Databases

- Recap of Java, SQL and tools for data persistency

- Modern Infrastructures for NoSQL Databases: LevelDB, MongoDB, Neo4J (Installation, configuration, CRUD operations, main queries)

Bibliografia e materiale didattico

Slide fornite dal docente

Articoli scientifici forniti dal docente

 

Libri Consigliati:


“Guy Harrison, Next Generation Databases, Apress, 2015”


“Dan Sullivan, NoSQL For Mere Mortals, Addison-Wesley, 2015”

"Andreas Meier, Michael Kaufmann, SQL & NoSQL Databases: models, languages, consistency options and architectures for big data management, 2019"

Bibliography

Slides provided by the teacher

Scientific articles provided by the teacher

Recommended Books:

 

“Guy Harrison, Next Generation Databases, Apress, 2015”


“Dan Sullivan, NoSQL For Mere Mortals, Addison-Wesley, 2015”

"Andreas Meier, Michael Kaufmann, SQL & NoSQL Databases: models, languages, consistency options and architectures for big data management, 2019"

Indicazioni per non frequentanti

Gli studenti che non frequenteranno il laboratorio, dovranno contattare il docente per stabilire le attività pratiche da svolgere in alternativa.

Non-attending students info

Students who do not attend the laboratory classes must to contact the teacher to establish the practical activities to be carried out as an alternative.

Modalità d'esame

Discussione progetto di gruppo (in unica volta) e test scritto.

Progettazione e sviluppo in gruppo di una applicazione che utilizzi le tecnologie discusse a lezione (maggiori dettagli forniti durante le lezioni). Gli studenti devono fornire al docente opportuna documentazione e presentare il progetto svolto prima della prova orale. Sarà fissato un caledario per la discussione finale delle progetto di gruppo.

Test scritto per la discussione degli argomenti teorici. 

Il test scritto e la realizzazione delle attività di gruppo contribuiscono ciascuno al 50% sulla votazione finale.

Assessment methods

Written test and  workgroup projects.

Design and development of an Appliation adopting the technolgies developed during the course. (more details provided during lectures). Students must provide the lecturer with appropriate documentation and present their project before the oral test. A timetable will be set for the final discussion of the group project.

Written test for the discussion of theoretical topics. 

The written test and the group activities each contribute 50% to the final grade

Updated: 22/09/2022 15:48