Modules | Area | Type | Hours | Teacher(s) | |
LARGE-SCALE AND MULTI-STRUCTURED DATABASES | ING-INF/05 | LEZIONI | 90 |
|
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
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.
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 orale, allo studente sarà data la possibilità di discutere problematiche teorico/pratiche relative agli argomenti trattati nel corso.
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.
- In the oral exam, the student will be given the opportunity to discuss theoretical/practical issues related to the topics covered in the course.
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, DinamoDB, Neo4j, etc)
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 (MongoDB, DinamoDB, Neo4j, etc.)
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
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
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.
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.
- 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
- 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
Le lezioni saranno svolte in modalità frontale, con l'ausilio di slide.
Le esercitazioni si svolgeranno in laboratorio informatico, si formeranno gruppi di lavoro che potranno utilizzare sia i PC delle aule informatiche sia i PC personali.
Sarà creata una piattaforma social per il supporto alle lezioni e alle esercitazioni.
Si utilizzerà la piattaforma di e-learning di Ateneo per fornire il materiale di studio e per il caricamento da parte degli studenti di artefatti (codici, relazioni, presentazioni).
Il corso sarà svolto interamente in lingua Inglese.
Saranno previsti orari di ricevimento (due ore alla settimana).
The lessons will be held in frontal mode, with the help of slides.
The exercises will take place in a computer lab, work groups will be formed that can use both the PCs of the classrooms and personal PCs.
A social platform will be created to support lessons and exercises.
The University'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.
- 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: MongoDB, DinamoDB, Neo4J (installazione, configurazione, operazioni CRUD, query principali)
- 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: MongoDB, DinamoDB, Neo4J (Installation, configuration, CRUD operations, main queries)
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”
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”
Gli studenti che non frequenteranno il laboratorio, dovranno contattare il docente per stabilire le attività pratiche da svolgere in alternativa.
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.
Realizzazione delle attività di gruppo (approfondimenti teorici e progetti didattici). Gli studenti devono fornire al docente opportuna documentazione e presentare i lavori svolti prima della prova orale. Sarà fissata di volta in volta la data per la discussione finale delle attività di gruppo.
Prova Orale per la discussione degli argomenti teorici. Nella sessione Estiva 2020 (Giugno e Luglio) sarà l'esame orale sarà svolto in modalità telematica sulla piattaforma Google Meet (il link dell'aula virtual per l'esame sarà specificato nella form di iscrizione all'esame).
La prova orale e la realizzazione delle attività di gruppo contribuiscono ciascuno al 50% sulla votazione finale.
Realization of group activities (theoretical insights and educational projects). Students must provide the teacher with appropriate documentation and present the work done before the oral exam.The date for the final discussion of group activities will be fixed from time to time.
Oral test for the discussion of theoretical topics. In the Summer 2020 session (June and July) the oral exam will be held in online mode on the Google Meet platform (the link to the virtual classroom for the exam will be specified in the exam registration form).
The oral test and the group activities each contribute 50% to the final grade