New Generation Data Models and Dbmss
A.Y. 2022/2023
Learning objectives
The aim of the course is to introduce students to new generation data models that are alternative or extend the relational model. Specifically, models will be presented that allow the representation of information with a complex structure, models that allow the representation of semi-structured data and models to manage an efficient and scalable recovery of large amounts of data. The Oracle extensions for managing these types of information and some systems that have been proposed by the NoSQL movement will also be presented.
Expected learning outcomes
The student will have to acquire the skills to design and build databases that require the management of these types of information. Furthermore, they must be able to develop queries that take advantage of the SQL language extensions to access this information and be able to decide which model and which system is best to use depending on the characteristics of the application domain.
Lesson period: First semester
Assessment methods: Esame
Assessment result: voto verbalizzato in trentesimi
Single course
This course cannot be attended as a single course. Please check our list of single courses to find the ones available for enrolment.
Course syllabus and organization
Single session
Responsible
Lesson period
First semester
Course syllabus
The subject deals with the following topics:
- The noSQL movement
o The characteristics of NoSQL systems(schema-less, data partitioning and sharding, data replication and eventual consistency)
o The NoSQL data models (key-value, document-oriented, column family, graph)
o How to chose a model relying on the applicative requirements
- MongoDB
o Architecture and functionalities of document-oriented noSQL systems
o The JSON format and query languages for JSON documents
o The MongoDB data model and query language
o Design of MongoDB databases
- Cassandra
o Architecture and functionalities of colum-family noSQL systems
o The Cassandra data model and query language
o Design of Cassandra databases
- neo4j
o Architecture and functionalities of graph noSQL systems
o The neo4j data model and cypher query language
o The PGQL standard (Property graph query language)
o Design of graph databases
- The noSQL movement
o The characteristics of NoSQL systems(schema-less, data partitioning and sharding, data replication and eventual consistency)
o The NoSQL data models (key-value, document-oriented, column family, graph)
o How to chose a model relying on the applicative requirements
- MongoDB
o Architecture and functionalities of document-oriented noSQL systems
o The JSON format and query languages for JSON documents
o The MongoDB data model and query language
o Design of MongoDB databases
- Cassandra
o Architecture and functionalities of colum-family noSQL systems
o The Cassandra data model and query language
o Design of Cassandra databases
- neo4j
o Architecture and functionalities of graph noSQL systems
o The neo4j data model and cypher query language
o The PGQL standard (Property graph query language)
o Design of graph databases
Prerequisites for admission
No specific prerequisite is required for this subject rather than interest in data management issues.
Teaching methods
The subject is held in computerized classrooms so that students can test the functionality of the languages proposed and verify the main characteristics of the data management systems and the query languages. Students can then follow the teacher in the design and creation of databases that exploit new generation models.
Teaching Resources
Website:
https://mmesitimddng.ariel.ctu.unimi.it/
A detailed list of the topics covered, lesson by lesson, is published and updated on the teaching website.
The subject topics are widely covered on the Web and a specific book is not adopted.
Additional supplementary material, exercises carried out and lecture notes, prepared by the teacher, is made available on the teaching website.
https://mmesitimddng.ariel.ctu.unimi.it/
A detailed list of the topics covered, lesson by lesson, is published and updated on the teaching website.
The subject topics are widely covered on the Web and a specific book is not adopted.
Additional supplementary material, exercises carried out and lecture notes, prepared by the teacher, is made available on the teaching website.
Assessment methods and Criteria
The exam consists of a practical exercise and a written test.
The practical exercise consists in the design and development of a database that follows one of the next-generation models presented during the course. The practical exercise can be substituted by an in-depth study of a new generation database system. The practical / in-depth exercise is given a score from -2 to +2 which is added to the written mark.
The written test focuses on verifying the student's ability to design and build a database using a new generation data model and carrying out operations with the language offered by these models. The written test can be replaced by two assignments that will be proposed during the course. A maximal mark of 30 points is assigned to the written test (and each assignment).
The exam ends by adding the increase obtained after the discussion of the project to the mark of the written test. Students interested in increasing the mark obtained can take an oral test (which is however optional).
The practical exercise consists in the design and development of a database that follows one of the next-generation models presented during the course. The practical exercise can be substituted by an in-depth study of a new generation database system. The practical / in-depth exercise is given a score from -2 to +2 which is added to the written mark.
The written test focuses on verifying the student's ability to design and build a database using a new generation data model and carrying out operations with the language offered by these models. The written test can be replaced by two assignments that will be proposed during the course. A maximal mark of 30 points is assigned to the written test (and each assignment).
The exam ends by adding the increase obtained after the discussion of the project to the mark of the written test. Students interested in increasing the mark obtained can take an oral test (which is however optional).
Professor(s)