Tecnologie delle Basi di Dati M


Programma

Architettura di un DBMS

  • Principali moduli e loro ruolo

Il Data Base fisico

  • Gestione della memoria: dispositivi, pagine e file
  • Rappresentazione di attributi e tuple
  • Lettura e scrittura di pagine: il buffer manager
  • Tipi di file
  • Valutazione dei costi di alcune operazioni di base sui file

Indici mono-dimensionali

  • Tipi di indici
  • Indici ad albero: il B-tree e il B+-tree
  • Indici hash: hash statico, hash dinamico

Gestione delle transazioni

  • Controllo della concorrenza: tipi di problemi, lock e protocollo Strict 2PL
  • Protezione dai guasti: log file, protocollo WAL, gestione del buffer e del commit, checkpoint e DB dump

Implementazione degli operatori relazionali

  • Sort (sort-merge esterno a Z vie)
  • Selezione (sequenziale, con indice, con più indici)
  • Proiezione (sort-based, hash-based, con indice)
  • Join (nested loops, block nested loops, merge scan, hash join)
  • Operatori insiemistici (unione e differenza)
  • Operatori di aggregazione

Elaborazione di interrogazioni

  • Passi del processo di elaborazione
  • Check semantici e uso dei cataloghi
  • Riscrittura di interrogazioni SQL
  • Profili statistici: valori medi e istogrammi
  • Stima dei costi e della dimensione dei risultati
  • Piani di accesso: valutazione per materializzazione e in pipeline
  • Il processo di ottimizzazione: enumerazione dei piani di accesso e regole di dominazione
  • Determinazione del piano ottimale mediante programmazione dinamica

Progettazione fisica di Basi di Dati

  • Carico di lavoro, selezione degli indici
  • Tuning delle prestazioni (indici, schema e interrogazioni)

Dati e indici multi-dimensionali (spaziali)

  • Interrogazioni spaziali: range, k-nearest neighbor, join spaziali
  • Indici per punti (k-D e k-D-B-tree, hB-tree, Grid file)
  • Indici per oggetti estesi (R-tree)
  • GiST
  • Tecniche di trasformazione dello spazio

Interrogazioni Top-k

  • Estensione di SQL per il ranking dei risultati
  • Interrogazioni Top-k mono- e multi-dimensionali: spazio degli attributi, pesatura degli attributi, funzioni distanza
  • Valutazione mediante R-tree: interrogazioni di range, k nearest neighbor e distance browsing
  • Interrogazioni Top-k di join: accessi sorted e random, funzioni di scoring. Algoritmi B0, FA, TA, CA e NRA
  • L'approccio "ranked relations"

Interrogazioni Skyline

  • Il concetto di dominazione e la relazione con le funzioni di scoring, definizione di Skyline
  • Algoritmi senza indice (NL, BNL, SFS, SaLSa) e con indice (BBS)

Big Data e Sistemi NoSQL

  • Definizioni e caratteristiche dei big data
  • Sistemi per la memorizzazione di big data

Obiettivi

Conoscenza dei principi realizzativi dei Sistemi di Gestione di Basi di Dati. Capacità di progettazione di data base fisici.

Orario delle Lezioni

  • Mercoledì, 14-17, Aula 5.7
  • Venerdì, 14-16, Aula 5.5