Welcome to my webpage

Advanced Database Systems (ADBS, in English) – 48h, 6 CFU

2023-2024, 2nd period, Master degree in Artificial Intelligence & Cybersecurity, University of Udine

Teacher

Dario Della Monica

Exam modality

The exam consists of a written test that can assign a score up to 28/30.
The oral exam is optional; students can ask for it, if they wish so, after having passed the written test.
However, those aiming to a score higher than 28/30 must take an oral exam.
The final score after the oral exam can be lower than the score obtained with the written test.
Sometimes, on a case-by-case basis, the teacher may require students to integrate their written exam with an oral one.

Misc

Lectures

Youtube links to recordings of lectures
Lecture 1 (Thursday, March 7, 2024, 8:30-10:30):
Course introduction [.pdf] [embedded with marker]
Query processing (overview) [.ppt] [.pdf] [embedded with marker]
Lecture 2 (Friday, March 8, 2024, 16:30-18:30):
Query processing (cost model, selection algorithms without index)
Lecture 3 (Thursday, March 21, 2024, 8:30-10:30):
Query processing (B+-trees, selection algorithms for equality conditions)
Lecture 4 (Friday, March 22, 2024, 16:30-18:30)
Query processing (selection algorithm for non-equality conditions and complex conditions; the sort operation)
Lecture 5 (Thursday, April 4, 2024, 8:30-10:30)
Query processing (external sort-merge, nested-loop join, block nested-loop join)
Lecture 6 (Thursday, April 5, 2024, 10:30-12:30)
Query processing (indexed nested-loop join, materialization vs. pipelining)
Query optimization (overview) [.ppt] [.pdf] [embedded with marker]
Lecture 7 (Thursday, April 10, 2024, 8:30-10:30)
Query optimization (equivalence rules, generating equivalent relational algebra expressions)
Lecture 8 (Friday, April 12, 2024, 10:30-12:30)
Query optimization (the catalog, meta-information and statistical predictions, estimating the size of the output of an expression)
Lecture 9 (Thursday, April 18, 2024, 8:30-10:30)
Query optimization (estimating the number of different values for a set of attributes in the output of an expression, a dynamic programming algorithm to find the best join order for a set of relations)
Lecture 10 (Friday, April 19, 2024, 10:30-12:30)
Query optimization (generating QEP from relational algebra expressions)
Introduction to distributed DB (overview) [.pptx] [.pdf] [embedded with marker]
Lecture 11 (Thursday, May 2, 2024, 8:30-10:30)
Introduction to distributed DB (promises of distributed DBMS, design issues, architectures for distributed data management)
Lecture 12 (Friday, May 3, 2024, 10:30-12:30)
Distributed DB design (primary horizontal fragmentation) [.pptx] [.pdf] [embedded with marker]
Lecture 13 (Thursday, May 9, 2024, 8:30-10:30)
Distributed DB design (derived horizontal fragmentation, vertical fragmentation, hybrid fragmentation, allocation, distributed data directory)
Overview of distributed query processing (the general idea) [.pptx] [.pdf] [embedded with marker]
Lecture 14 (Friday, May 10, 2024, 10:30-12:30)
Overview of distributed query processing (the three optimization phases)
Query decomposition and data localization (reductions for primary horizontal fragmentation and vertical fragmentation) [.pptx] [.pdf] [embedded with marker]
Lecture 15 (Thursday, May 16, 2024, 8:30-10:30)
Query decomposition and data localization (reductions for derived horizontal fragmentation and hybrid fragmentation)
Distributed query optimization (overview, semi-join algorithm) [.pptx] [.pdf] [embedded with marker]
Lecture 16 (Friday, May 17, 2024, 10:30-12:30)
Distributed query optimization (bit-arrays for semi-join, strategy comparison, static vs. dynamic optimization, hybrid optimization)
Lecture 17 (Thursday, May 23, 2024, 8:30-10:30)
Introduction to distributed transaction management [.pptx] [.pdf] [embedded with marker]
Distributed concurrency control (transactions and concurrent transactions, aka histories) [.pptx] [.pdf] [embedded with marker]
Lecture 18 (Friday, May 24, 2024, 10:30-12:30)
Distributed concurrency control (two-phase locking, deadlock management)
Lecture 19 (Thursday, May 30, 2024, 8:30-10:30)
Distributed DBMS reliability (local abort, commit, and recovery protocols) [.pptx] [.pdf] [embedded with marker]
Lecture 20 (Friday, May 31, 2024, 10:30-12:30)
Distributed DBMS reliability (2 phase commit, more critical failures)
Lecture 21 (Thursday, June 6, 2024, 8:30-10:30)
Data warehousing (introduction, OLAP vs. OLTP) [.pdf] [embedded with marker]
*** slides gentilmente offerte dal prof. Andrea Brunello (Università di Udine) ***
Lecture 22 (Friday, June 7, 2024, 10:30-12:30)
Data Warehousing (evolution of data storage systems, architectures, ETL process) [.pptx] [.pdf] [embedded with marker]
*** slides gentilmente offerte dal prof. Adriano Peron (Università di Trieste) ***
Lecture 23 (Thursday, June 13, 2024, 8:30-10:30)
Data Warehousing (multidimensional data model)
Lecture 24 (Friday, June 14, 2024, 10:30-12:30)
Data Warehousing (MOLAP/ROLAP/HOLAP, conceptual design) [.pptx] [.pdf] [embedded with marker]
*** slides gentilmente offerte dal prof. Adriano Peron (Università di Trieste) ***
Data Warehousing (logical design and materialized queries) [.pptx] [.pdf] [embedded with marker]
*** slides gentilmente offerte dal prof. Adriano Peron (Università di Trieste) ***
Quick overview on NoSQL data models [roadmap_to_Big_Data.pdf]