Post on 15-Mar-2020
transcript
1
Sistemi di Elaborazione dell’Informazione
Economia del Commercio Internazionale - Economia e Amministrazione delle Imprese
Hadley C. Taylor
Componenti di un DBMS
• Come fa un DBMS a garantire le proprietàACIDe di una transazione?
• Vediamo i componenti principali dal piùinterno a quello di più alto livello:
– Controllore di Concorrenza
– Gestore del Buffer
– Controllore di Affidabilità
– Gestore degli Accessi (RSS)
– Ottimizzatore (incluso Compilatore)
Sistemi di Elaborazione dell’Informazione
Economia del Commercio Internazionale - Economia e Amministrazione delle Imprese
Hadley C. Taylor
Componenti di un DBMS
Gestore del Buffer
Controllo Affidabilità
Gestore degli Accessi
Ottimizzatore
Controllo Concorrenza
2
Sistemi di Elaborazione dell’Informazione
Economia del Commercio Internazionale - Economia e Amministrazione delle Imprese
Hadley C. Taylor
Componenti di un DBMS
• Controllore di Concorrenza
– Problemi da risolvere per transazioni concorrenti:• Caso A:
– Transazione1 legge un campo e lo ricalcola senza aggiornarlo
» Transazione2 legge, ricalcola e aggiorna il campo e commit
– Transazione1 aggiorna il campo e commit
• Caso B:
– Transazione1 legge, ricalcola e aggiorna un campo
» Transazione2 legge, ricalcola e aggiorna il campo e commit
– Transazione1 rollback
• Ecc…
Sistemi di Elaborazione dell’Informazione
Economia del Commercio Internazionale - Economia e Amministrazione delle Imprese
Hadley C. Taylor
Componenti di un DBMS
• Controllore di Concorrenza– Caso A: Perdita di aggiornamento
Transazione1 Transazione2
Read1 (x)
x = x+1
Read2 (x)
x=x+1
Write2 (x)
Commit2
Write1 (x)
Commit1
3
Sistemi di Elaborazione dell’Informazione
Economia del Commercio Internazionale - Economia e Amministrazione delle Imprese
Hadley C. Taylor
Componenti di un DBMS
• Controllore di Concorrenza– Caso A: Perdita di aggiornamento
• Transazione1 legge un campo e lo ricalcola senza aggiornarlo
– Transazione2 legge, ricalcola e aggiorna il campo e commit
• Transazione1 aggiorna il campo e commit
Transazione1 Transazione2 Risultato
Read1 (x) 10
x = x+1 11
Read2 (x) 10
x=x+1 11
Write2 (x) 11
Commit2 11
Write1 (x) 11
Commit1 11
L’aggiornamento della transazione2 è andato perduto!
Problema
Sistemi di Elaborazione dell’Informazione
Economia del Commercio Internazionale - Economia e Amministrazione delle Imprese
Hadley C. Taylor
Componenti di un DBMS
• Controllore di Concorrenza– Caso B: Lettura sporca:
Transazione1 Transazione2
Read1 (x)
x = x+1
Write1 (x)
Read2 (x)
x=x+1
Write2 (x)
Commit2
Rollback1
4
Sistemi di Elaborazione dell’Informazione
Economia del Commercio Internazionale - Economia e Amministrazione delle Imprese
Hadley C. Taylor
Componenti di un DBMS
• Controllore di Concorrenza– Caso B: Lettura sporca:
• Transazione1 legge, ricalcola e aggiorna un campo
– Transazione2 legge, ricalcola e aggiorna il campo e commit
• Transazione1 rollback
Transazione1 Transazione2 Risultato
Read1 (x) 10
x = x+1 11
Write1 (x) 11
Read2 (x) 11
x=x+1 12
Write2 (x) 12
Commit2 12
Rollback1 12
Problema
Il valore di partenza per Transazione2 era un valore sbagliato!
Sistemi di Elaborazione dell’Informazione
Economia del Commercio Internazionale - Economia e Amministrazione delle Imprese
Hadley C. Taylor
Componenti di un DBMS
• Controllore di Concorrenza
– Problemi da risolvere per transazioni concorrenti:• Caso A: Perdita di aggiornamento
– Transazione1 legge un campo e lo ricalcola senza aggiornarlo
» Transazione2 legge, ricalcola e aggiorna il campo e commit
– Transazione1 aggiorna il campo e commit
L’aggiornamento della transazione2 è andato perduto!
• Caso B: Letture sporche
– Transazione1 legge, ricalcola e aggiorna un campo
» Transazione2 legge, ricalcola e aggiorna il campo e commit
– Transazione1 rollback
Il valore di partenza per Transazione2 era un valore sbagliato!
Soluzione può sembrare ‘causare rollback anche di T2’���� no:
si vuole evitare l’effetto domino.
• Ecc…
5
Sistemi di Elaborazione dell’Informazione
Economia del Commercio Internazionale - Economia e Amministrazione delle Imprese
Hadley C. Taylor
• Soluzione, vari metodi:
– Timeout: blocco possibile solo temporaneamente poi scade
– Anzianità: non consentire attesa per transazione più giovane
– Rilevazione di blocco: causare rollback
• Problema: due transazioni possono bloccarsi a vicenda su campi diversi: DEADLOCK!
Componenti di un DBMS
• Controllore di Concorrenza
– Soluzione
• Il controllore di concorrenza sequenzializza le operazioni di
lettura e scrittura bloccando l’accesso in scrittura per le
transazioni seguenti
Sistemi di Elaborazione dell’Informazione
Economia del Commercio Internazionale - Economia e Amministrazione delle Imprese
Hadley C. Taylor
Componenti di un DBMS
• Gestore del Buffer Manager
– Il Buffer è l’area di memoria centrale allocata al DBMS
– Problema• La memoria Centrale di solito non contiene tutto il database
perciò l’utilizzo dell’area deve essere condiviso alternando le pagine dalla Memoria Centrale alla Memoria di Massa
– Soluzione• Politiche di ‘swapping’ analoghe a Sistemi Operativi.
• Esempio:
– Togli dal buffer le pagine meno utilizzate ( 20% dei dati èacceduto dall’80% delle applicazioni)
– Tieni pagine con accessi pù recenti
– Ecc…
6
Sistemi di Elaborazione dell’Informazione
Economia del Commercio Internazionale - Economia e Amministrazione delle Imprese
Hadley C. Taylor
Componenti di un DBMS
• Controllore di Affidabilità
– Problema
• Se avviene un guasto i dati in Memoria Centrale vanno perduti!
– Soluzione
• Archiviare su memoria ‘stabile’ (es.:RAID) in un file (LOG) le
sequenze di modifica, in modo che possano essere rieseguite
• Archiviare su backup, periodicamente, tutto il database (DUMP)
• Se avviene
– Guasto di sistema (SW) � ripartire da LOG (warm boot)
– Guasto di Memoria di Massa (HW) � ripartire da DUMP (cold
boot) e poi da LOG
Sistemi di Elaborazione dell’Informazione
Economia del Commercio Internazionale - Economia e Amministrazione delle Imprese
Hadley C. Taylor
Componenti di un DBMS
• Gestore degli Accessi (Relational StorageSystem)
– Problema
• Accedere alla memoria fisica in modo efficiente
– Soluzione
• Metodi a seconda della struttura dei record nelle pagine– Sequenziale � ricerca sequenziale o dicotomica (se ordinata)
– Hashing � ricerca in base ad un calcolo (Hash)
– Albero � ricerca in base ad Indicizzazione della chiave: viene costruita una struttura di puntatori aggiuntiva alla struttura dati per consentire una ricerca efficiente dei record
7
Sistemi di Elaborazione dell’Informazione
Economia del Commercio Internazionale - Economia e Amministrazione delle Imprese
Hadley C. Taylor
Componenti di un DBMS
• Ottimizzatore
– Problema
• Scegliere i metodi di esecuzione delle operazioni e l’ordine
migliore in cui eseguirli per minimizzare i tempi
– Soluzione
1. Analisi delle dimensioni tabelle e attributi (Dizionario Dati)
2. Analisi dei costi dei metodi in base a struttura fisica
3. Costruzione di albero delle alternative con costi
4. Ricerca di una alternativa buona (non ottima)
5. Produzione del codice sorgente e compilazione
Sistemi di Elaborazione dell’Informazione
Economia del Commercio Internazionale - Economia e Amministrazione delle Imprese
Hadley C. Taylor
DBMS: Ottimizzazione
Esempio: Quanti impiegati lavorano a Milano? Diverse soluzioni…
Dipartimento
Impiegati
8
Sistemi di Elaborazione dell’Informazione
Economia del Commercio Internazionale - Economia e Amministrazione delle Imprese
Hadley C. Taylor
Accesso al DBMS
Gestore del Buffer
Controllo Affidabilità
Gestore degli Accessi
Ottimizzatore
Controllo Concorrenza
Sistemi di Elaborazione dell’Informazione
Economia del Commercio Internazionale - Economia e Amministrazione delle Imprese
Hadley C. Taylor
Accesso al DBMS
• L’accesso ai dati può avvenire:
1. con linguaggi testuali interattivi (es. SQL) utilizzati come comandi da una interfaccia testuale
2. con interfacce amichevoli interattive non testuali (es. ACCESS)
3. con linguaggi della quarta generazione (4GL) specifici del DBMS, che permettono di sviluppare complete applicazioni
4. con comandi (del linguaggio interattivo) immersi in un linguaggio ospite di alto livello (Pascal, C, Cobol, Java, etc.)
Program
mazione
9
Sistemi di Elaborazione dell’Informazione
Economia del Commercio Internazionale - Economia e Amministrazione delle Imprese
Hadley C. Taylor
Linguaggi per DBMS
Introduzione ai Linguaggi per DBMS:
• Schemi e Istanze
– In ogni base di dati esistono:
• lo Schema: che ne descrive la struttura
– le intestazioni delle tabelle, i legami
• l’Istanza, costituita dai valori
– il “corpo” di ciascuna tabella
Sistemi di Elaborazione dell’Informazione
Economia del Commercio Internazionale - Economia e Amministrazione delle Imprese
Hadley C. Taylor
Linguaggi per DBMS
• Nei DBMS esistono linguaggi separati per
la definizione e per la manipolazione delle
strutture:
– Data Definition Language (DDL)
• per la definizione di Schemi (la struttura):
– le intestazioni delle tabelle, i legami
– Data Manipulation Language (DML) :
• per l’interrogazione e l’aggiornamento di Istanze
(valori):
– il “corpo” di ciascuna tabella
10
Sistemi di Elaborazione dell’Informazione
Economia del Commercio Internazionale - Economia e Amministrazione delle Imprese
Hadley C. Taylor
SQL (’74)
• SQL è un linguaggio sia DDL che DML
– Data Definition Language (DDL) :
• per la definizione di schemi
– Data Manipulation Language (DML) :
• per l’interrogazione e l’aggiornamento di istanze
Sistemi di Elaborazione dell’Informazione
Economia del Commercio Internazionale - Economia e Amministrazione delle Imprese
Hadley C. Taylor
SQL
• Primitive DDL:
– Create, Alter, Drop
• Domain (tipo di dato) utente
• Table con
– Attributi
– Vincoli
• Index (campi indicizzati)
• Assertion (vincoli generici)
• View (viste�tabelle temporanee)
11
Sistemi di Elaborazione dell’Informazione
Economia del Commercio Internazionale - Economia e Amministrazione delle Imprese
Hadley C. Taylor
SQL
• Primitive DML principali di interrogazione:
– Select EspressioneAttributi
From tabelle
Where condizioni
Group by attributi
Order by attributi
– Union, Intersect,Except
Sistemi di Elaborazione dell’Informazione
Economia del Commercio Internazionale - Economia e Amministrazione delle Imprese
Hadley C. Taylor
SQL
• Primitive DML principali di manipolazione:
– Insert (valori nei campi o righe nella tabella)
– Delete (righe nella tabella)
– Update (valori nei campi)
12
Sistemi di Elaborazione dell’Informazione
Economia del Commercio Internazionale - Economia e Amministrazione delle Imprese
Hadley C. Taylor
SQL
• Primitive DML principali di manipolazione:Sintassi:
– Inserimento
• Di valori nei campi:
• insert into tabella (attributi) values (valori)
• Di righe nella tabella
• insert into tabella SelectSQL
– Cancellazione
• Di righe dalla tabella:
• delete from tabella where (condizione)
– Modifica
• Di valori nei campi :
• update tabella set attributo =
<espressione | SelectSQL |null | default >
[where condizione]
Sistemi di Elaborazione dell’Informazione
Economia del Commercio Internazionale - Economia e Amministrazione delle Imprese
Hadley C. Taylor
Accesso al DBMS
13
Sistemi di Elaborazione dell’Informazione
Economia del Commercio Internazionale - Economia e Amministrazione delle Imprese
Hadley C. Taylor
Interfaccia di Accesso ai Dati
Applicazione
DB
appl
Fonte dati propria dell’applicazione
Sistemi di Elaborazione dell’Informazione
Economia del Commercio Internazionale - Economia e Amministrazione delle Imprese
Hadley C. Taylor
Interfaccia di Accesso ai Dati
Applicazione
DB
appl
Leggenda:
Data Source
Applicazione
Elaboratore
Fonti dati diverse su vari elaboratori:
File System
Elaboratore B
DBDB
Elaboratore C
DBemails
Elaboratore C
Elaboratore A
molte interfacce!
14
Sistemi di Elaborazione dell’Informazione
Economia del Commercio Internazionale - Economia e Amministrazione delle Imprese
Hadley C. Taylor
Interfaccia di Accesso ai Dati
E’ necessaria una libreria (Driver) per ogni
specifica tripla:• DBMS
• Sistema Operativo
• Protocollo di Rete
ODBC: Open Database Connectivity (’91)
– Supporta un SQL ristretto definito da c.a 50 grandi
utenti (aziende, enti, …)
Sistemi di Elaborazione dell’Informazione
Economia del Commercio Internazionale - Economia e Amministrazione delle Imprese
Hadley C. Taylor
Interfaccia di Accesso ai Dati
Applicazione
Driver
Manager
DB
appl
DB
DB
File System
emails
DB
Driver 1
Driver 2Driver 4
Driver 3
Driver 5
Elaboratore B
Elaboratore C
Elaboratore C
Elaboratore A
Fonti dati diverse su vari elaboratori:
una sola interfaccia – ODBC…
Leggenda:
Data Source
Applicazione
Elaboratore
15
Sistemi di Elaborazione dell’Informazione
Economia del Commercio Internazionale - Economia e Amministrazione delle Imprese
Hadley C. Taylor
Interfaccia di Accesso ai Dati
E’ necessaria una libreria (Driver) per ogni specifica tripla:
• DBMS
• Sistema Operativo
• Protocollo di Rete
ODBC: Open Database Connectivity (’91)– Supporta un SQL ristretto definito da c.a 50 grandi
utenti (aziende, enti, …)
• Problema:
– Interfaccia solo verso Database (relazionali):• di DBMS diversi
• su Sistemi Operativi diversi
• con Protocolli di Rete diversi
Sistemi di Elaborazione dell’Informazione
Economia del Commercio Internazionale - Economia e Amministrazione delle Imprese
Hadley C. Taylor
Interfaccia di Accesso ai Dati
• Evoluzione verso
• fonti eterogenee (non solo DB)
• fonti non connesse (tecnologia Web Services)
– Microsoft:
• ODBC�DAO�RDO�OLE DB�
ADO�ADO.NET
– Java
• JDBC
– XML
16
Sistemi di Elaborazione dell’Informazione
Economia del Commercio Internazionale - Economia e Amministrazione delle Imprese
Hadley C. Taylor
Progettazione di Basi di Dati
• La progettazione di una base di Dati si
divide in tre fasi:
1. Progettazione Concettuale
2. Progettazione Logica
3. Progettazione Fisica
Sistemi di Elaborazione dell’Informazione
Economia del Commercio Internazionale - Economia e Amministrazione delle Imprese
Hadley C. Taylor
Progettazione di Basi di Dati
• Schemi nell’architettura del DBMS
SchemaFisico
17
Sistemi di Elaborazione dell’Informazione
Economia del Commercio Internazionale - Economia e Amministrazione delle Imprese
Hadley C. Taylor
Progettazione di Basi di Dati
Progettazione Concettuale
– Utilizza un modello concettuale per
rappresentare i dati in modo indipendente da
ogni sistema, cercando di descrivere i concetti
del mondo reale
• il più noto è il modello Entity-Relationship
– Produce lo Schema Concettuale
Sistemi di Elaborazione dell’Informazione
Economia del Commercio Internazionale - Economia e Amministrazione delle Imprese
Hadley C. Taylor
Progettazione di Basi di Dati
Progettazione Concettuale
– Modello Entity-Relationship
• Entity: concetto che descrive una classe di oggetti che ha proprietà comuni ed esistenza autonoma
– Es.: Impiegato, Dipartimento, Progetto
• Relationship: concetto che associa due o più Entity
– Es.: Direzione (tra Impiegato e Dipartimento), Appartenenza (tra Impiegato e Dipartimento), Partecipazione (tra Impiegato e Progetto)
• Attribute: concetto con struttura semplice rappresentabile come attributo di un altro concetto
– Es.: Cognome di un Impiegato, Budget di un Progetto
18
Sistemi di Elaborazione dell’Informazione
Economia del Commercio Internazionale - Economia e Amministrazione delle Imprese
Hadley C. Taylor
Progettazione di Basi di Dati
Progettazione Concettuale � Modello Entity-Relationship
Impiegato Appartenenza
Partecipazione
Dipartimento
Progetto
Direzione
Nome
Cognome
Stpendio
Nome
Budget
Data consegna
Data inizio
Data appartenenza
Nome
Città
Entità, Relazioni e
Attributi
Sistemi di Elaborazione dell’Informazione
Economia del Commercio Internazionale - Economia e Amministrazione delle Imprese
Hadley C. Taylor
Progettazione di Basi di Dati
Progettazione Concettuale � Modello Entity-Relationship
Impiegato Appartenenza
Partecipazione
Dipartimento
Progetto
Direzione
Nome
Cognome
Stpendio
Nome
Budget
Data consegna
Data inizio
Data appartenenza
Nome
Città
Cardinalità delle relazioni:Quante volte una occorrenza di una relazione
può essere legata a occorrenze di un’altra relazione
1 1
Massima
Relazione 1 a 1
19
Sistemi di Elaborazione dell’Informazione
Economia del Commercio Internazionale - Economia e Amministrazione delle Imprese
Hadley C. Taylor
Progettazione di Basi di Dati
Progettazione Concettuale � Modello Entity-Relationship
Impiegato Appartenenza
Partecipazione
Dipartimento
Progetto
Direzione
Nome
Cognome
Stpendio
Nome
Budget
Data consegna
Data inizio
Data appartenenza
Nome
Città
Cardinalità delle relazioni:Quante volte una occorrenza di una relazione
può essere legata a occorrenze di un’altra relazione
1 1
Massima
1 N
Relazione 1 a N
Sistemi di Elaborazione dell’Informazione
Economia del Commercio Internazionale - Economia e Amministrazione delle Imprese
Hadley C. Taylor
Progettazione di Basi di Dati
Progettazione Concettuale � Modello Entity-Relationship
Impiegato Appartenenza
Partecipazione
Dipartimento
Progetto
Direzione
Nome
Cognome
Stpendio
Nome
Budget
Data consegna
Data inizio
Data appartenenza
Nome
Città
Cardinalità delle relazioni:Quante volte una occorrenza di una relazione
può essere legata a occorrenze di un’altra relazione
1 1
Massima
1 N
N
N
Relazione N a N
20
Sistemi di Elaborazione dell’Informazione
Economia del Commercio Internazionale - Economia e Amministrazione delle Imprese
Hadley C. Taylor
Progettazione di Basi di Dati
Progettazione Concettuale � Modello Entity-Relationship
Impiegato Appartenenza
Partecipazione
Dipartimento
Progetto
Direzione
Nome
Cognome
Stpendio
Nome
Budget
Data consegna
Data inizio
Data appartenenza
Nome
Città
Cardinalità delle relazioni:Quante volte una occorrenza di una relazione
può essere legata a occorrenze di un’altra relazione
1 1
1 N
N
N
Minima
( 0 , ) ( 1 , )
( 1 , )( 1 , )
( 0 , )
( 1 , )
Sistemi di Elaborazione dell’Informazione
Economia del Commercio Internazionale - Economia e Amministrazione delle Imprese
Hadley C. Taylor
Progettazione di Basi di Dati
Progettazione Concettuale � Modello Entity-Relationship
Impiegato Appartenenza
Partecipazione
Dipartimento
Progetto
Direzione
Nome
Cognome
Stpendio
Nome
Budget
Data consegna
Data inizio
Data appartenenza
Nome
Città
Identificatori delle entita:Concetto che permette di identificare
in maniera univoca una entità
1 1
1 N
N
N
( 0 , ) ( 1 , )
( 1 , )( 1 , )
( 0 , )
( 1 , )
21
Sistemi di Elaborazione dell’Informazione
Economia del Commercio Internazionale - Economia e Amministrazione delle Imprese
Hadley C. Taylor
Progettazione di Basi di Dati
Progettazione Logica
– Utilizza Schema Concettuale e lo traduce nel
Modello di Dati scelto
• esempi: relazionale, reticolare, gerarchico, a oggetti
– indipendente dalla struttura fisica dei dati
– produce uno Schema Logico
Sistemi di Elaborazione dell’Informazione
Economia del Commercio Internazionale - Economia e Amministrazione delle Imprese
Hadley C. Taylor
Progettazione di Basi di Dati
Progettazione Logica
• La Progettazione Logica avviene in due fasi
1. Ristrutturazione dello Schema Concettuale di Entity-
Relationship
• Analisi ed eliminazione delle ridondanze �
Normalizzazione
• Scelta Identificatori Principali � Chiavi Primarie
2. Traduzione verso il modello Logico
22
Sistemi di Elaborazione dell’Informazione
Economia del Commercio Internazionale - Economia e Amministrazione delle Imprese
Hadley C. Taylor
Progettazione di Basi di Dati
Normalizzazione
Informazione
Ridondante
Impiegati
Sistemi di Elaborazione dell’Informazione
Economia del Commercio Internazionale - Economia e Amministrazione delle Imprese
Hadley C. Taylor
Progettazione di Basi di Dati
Normalizzazione
Informazione
Ridondante
Impiegati
23
Sistemi di Elaborazione dell’Informazione
Economia del Commercio Internazionale - Economia e Amministrazione delle Imprese
Hadley C. Taylor
Progettazione di Basi di Dati
Normalizzazione
Informazione
Ridondante
Impiegati
Problemi:
1. aggiornamento
2. cancellazione
3. inserimento
Vantaggi: meno accessi
Sistemi di Elaborazione dell’Informazione
Economia del Commercio Internazionale - Economia e Amministrazione delle Imprese
Hadley C. Taylor
Progettazione di Basi di Dati
Normalizzazione
DB NormalizzatoDipartimento
Impiegati
24
Sistemi di Elaborazione dell’Informazione
Economia del Commercio Internazionale - Economia e Amministrazione delle Imprese
Hadley C. Taylor
Progettazione di Basi di Dati
Normalizzazione
• L’eliminazione delle ridondanze (dati derivabili) è una
scelta opzionale di progettazione
– Vantaggi
• Maggiore efficienza nel mantenere i dati aggiornati �
Consistenza
• Risparmio memoria
– Svantaggio
• Aumento degli accessi necessari per derivare il dato
• Si parla di 1ª (Boyce-Codd), 2ª e 3ª Forma Normale
Sistemi di Elaborazione dell’Informazione
Economia del Commercio Internazionale - Economia e Amministrazione delle Imprese
Hadley C. Taylor
Progettazione di Basi di Dati
Progettazione Fisica
– Utilizza Schema Logico per determinare
• parametri prestazionali del DBMS
– Dimensioni iniziali ed espansione dei file
– Contiguità di allocazione
– Dimensioni aree di swapping
– …
• e caratteristiche della tabelle
– Individuazione Indici da definire per ciascuna tabella
– Tipo e dimensione degli attributi
– Produce uno Schema Fisico