DATABASES & BIG DATA

DATABASES & BIG DATA

Blerina Sinaimeri

Obiettivi formativi

The Database & Big Data course aims at providing the students with a solid understanding of classical notions of data management as well as modern concepts related to the so called 'Big Data'. All these notions will be analyzed both formally and using practical application scenarios. Furthermore, the course will present several technologies to access, store, and manage large sets of data.

Risultati di apprendimento attesi

Knowledge and understanding. The course offers several conceptual tools to solve data-related problems in an effective way. At the end of the of course, students will posses a solid understanding of the issues related to managing large volumes of data as well as theoretical and practical solutions to these issues. Applying knowledge and understanding. Successful students will be able to: - Apply the conceptual tools of data management to real-world scenarios; - Extract information from data sets using both conceptual and practical tools; - Understand the key differences underlying different data management technologies; - Interact with and understand data-oriented technologies. Making judgements. The course will foster the development of critical thinking related to data-oriented applications. Successful students will be able to analyse real-world problems involving data and choose the right conceptual and technological solutions to solve them. Communications Skills. The course will provide the students with an understanding of the standard terms and concepts of classical data management as well as notions related to the so called Big Data. This will allow the students to effectively communicate their ideas, proposals, and analyses. Learning skills. This introductory course provides a solid background of knowledge on the basics of data management. Successful students will posses the skills required to study and understand intermediate concepts related to data management and big data.

Contenuti Del Corso

Contenuti Del Corso / Course Contents The course covers several topics related to classical data management and the so called Big Data. Topics include: - Conceptual database design, the relational model and algebra; - Relational design principles based on dependencies and normal forms; - Concurrency control, storage, and indexing; - Database design and the use of databases in applications; - SQL databases and query language; - NoSQL databases

Testi Di Riferimento

Lecture notes (slides) and course material will be made available on the e-learning platform. There is no mandatory textbook for the course. However, for students who want additional resources, we recommend: - Ramakrishnan and Gehrke. Database Management Systems. 3rd Edition. - Garcia-Molina, Ullmann. Database Systems 2nd Edition. Prentice Hall - Karau, Konwinski, Wendell, Zaharia: Learning Spark: Lightning-Fast Big Data Analysis. O'Reilly Media

Metodologie Didattiche

Online lectures and lab and exercise sessions. The use of a laptop is recommended.

Modalità di verifica dell'apprendimento

- Mid-term written exam - Final written exam - Group Project

Criteri per l’assegnazione dell’elaborato finale

To be discussed with the instructor.

Settimana 1

On Campus Session. Course introduction and organization. Introduction to data management. Online Session. The Relational Model (1). On Campus Session. The Relational Model (2) On Campus Session. The Relational Model : exercises

Settimana 2

On Campus Session. The Relational Model (3). Online Session. Lab and Exercises. On Campus Session. SQL (1). On Campus Session: exercises SQL (1).

Settimana 3

On Campus Session. SQL (2). Online Session. Lab and Exercises. On Campus Session. SQL (3) On Campus Session: Lab and Exercises SQL (3)

Settimana 4

On Campus Session. SQL 4. Online Session. Lab and Exercises. On Campus Session. Database Design (1). On Campus Session. Lab and Exercises

Settimana 5

On Campus Session. Database Design (2). Online Session. Lab and Exercise. On Campus Session. Database Design (3). On Campus Session. Lab and Exercises (II)

Settimana 6

On Campus Session. Database Design (4). Online Session. Lab and Exercises. On Campus Session. Access Data Programmatically and Projects. On Campus Session. Lab and Exercises (II)

Settimana 7

On Campus Session. Database Design (5). Online Session. Lab and Exercises. Midterm On Campus Session. Database Design (6).

Settimana 8

On Campus Session. Database Design (5). Online Session. Lab and Exercises. On Campus Session. Database Design (6).

Settimana 9

On Campus Session. Advanced Topics (1). Online Session. Lab and Exercise. On Campus Session. Advanced Topics (2). On Campus Session. Lab and Exercise II.

Settimana 10

On Campus Session. Advanced Topics (3). Online Session. Lab and Exercises. On Campus Session. Advanced Topics (4). On Campus Session. Lab and Exercise II.

Settimana 11

On Campus Session. NoSQL Databases (1). Online Session. Lab and Exercises. On Campus Session. NoSQL Databases (2)

Settimana 12

On Campus Session. Course Recap & Exercises. Online Session. On Campus Session. NoSQL Databases & Transactions. On Campus Session. Lab and Exercise II.