SM/0168 - ADVANCED DATA MANAGEMENT
Academic Year 2019/2020
Free text for the University
DANIELE RIBONI (Tit.)
- Teaching style
- Lingua Insegnamento
|[60/73] INFORMATICS||[73/00 - Ord. 2017] PERCORSO COMUNE||6||48|
Knowledge and understanding: the student will acquire fundamental knowledge related to database system internals, physical organization and memory management, indexes, query and transaction management. Moreover, the student will be able to understand the characteristics of spatial databases, NoSQL and NewSQL databases, sensor data management, PostGIS and MongoDB database systems.
Applying knowledge and understanding: the student will be able to apply the acquired knowledge to understand the most appropriate DBMS according to the characteristics of the data. The student will be able to create, evaluate and manage advanced database schemas using PostGIS and MongoDB database systems. The student will be also able to implement a simple program using the Map-Reduce framework, and to work autonomously, also in the development of an advanced data management project.
Making judgements: the student will be able to autonomously evaluate the conceptual requirements of a domain of data, and to evaluate the effectiveness and correctness of its implementation in an advanced database system.
Communication skills: the student will be able to explain the methodologies for conceptually designing an advanced database system, and the most adequate choices to implement the conceptual model in a real-world database management system, according to the requirements of effectiveness and correctness, using communication skills related to the specific vocabulary of the subject, also using the English language.
Learning skills: the student will acquire the capability of designing and implementing advanced databases based on the specifications and requirements of the data domain.
Relational databases, programming
- Transaction management
- Parallel and distributed DBMS
- Spatial databases
- NoSQL and NewSQL databases
- Main memory databases
- Sensor data and stream databases
- Asynchronous data transfer
- Apache Kafka
- MongoDB Change Streams
Lectures and laboratory activities (48 hours in total).
Verification of learning
Students are evaluated through a written test related to the main notions taught in the course (theory test), and by a practice test to verify the ability to use the explained notions ( hackathon or project development test). The theory and practice tests can be done either in the same exam date or in different dates. The hackathon is held just one time and cannot be recovered. The theory test gives up to 18 points. There is one point for a lab test on MongoDB and one point for PostGIS. The practice test gives up to 9 points. There is one bonus point for active participation to the classes, and two bonus points for those who pass all the exams at the first attempt by the winter exam session doing the hackathon. Students who receive a positive grade cannot repeat the test. Students who do not hand in a test lose the two-points bonus.
The theory test includes both exercises, multiple-choice and open questions. The student can choose whether to do (i) a single full test (after the end of the course) on the whole program, or (ii) two partial tests (midterm at the mid of the course, and final test at the end) on the notions taught in the first and second half of the course, respectively. Students that will not pass the midterm test must do the full test.
Students must either participate to the course hackathon or develop a project, choosing one of the topics addressed in the laboratory classes. The project must be developed individually. The student must prepare a short project proposal (two or three pages) stating the precise objectives of the project and functionalities of the system they want to develop. The proposal must be approved by the instructor beforehand. The project code must be uploaded on Moodle at least two days before the exam date, together with a brief documentation (3 to 5 pages) of the system structure and project choice (instructions will follow). The student must illustrate his project on his personal computer, being able to explain the structure and functioning of every part of the code. The project will be evaluated considering correctness, completeness, conformance to the specifics, and ability to explain the project choices and the code. Serious measures are taken if a student is found to copy relevant parts or the entire project.
In order to take the test (theory, practice, or both), students must enroll in an exam through the ESSE3 platform. Students who cannot use ESSE3 must send an email to the teacher at least four days before the exam date.
- Atzeni, Ceri, Fraternali, Paraboschi, Torlone. Basi di dati. Quarta edizione. McGraw-Hill, 2014
- Garcia-Molina, Ullman, Widom. Database Systems: The Complete Book. 2/E. Pearson, 2009
Auxiliary learning materials:
- Course Website (on Moodle)
- Exercises and solutions
- Scientific papers
- Pointers to Web resources