G. Mecca – – Università della Basilicata Basi di Dati Tecnologia di un DBMS: Concorrenza e Affidabilità Concetti Avanzati versione 2.0.

Slides:



Advertisements
Presentazioni simili
Algoritmi e Strutture Dati
Advertisements

Architettura MySQL E Motori MySQL L. Vigliano.
Capitolo 3 Risorse e Stallo 3.1. Risorse 3.2. Introduzione
Database MySql.
Sicurezza e concorrenza nelle basi di dati
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità D3 Sicurezza e concorrenza nelle basi di dati.
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità C1 Il linguaggio SQL.
File System Cos’è un File System File e Directory
G. Mecca – – Università della Basilicata Basi di Dati Progettazione di Basi di Dati: Introduzione versione 2.0 Questo lavoro è concesso.
G. Mecca – – Università della Basilicata Tecnologie di Sviluppo per il Web Valutazione della Qualità del Codice HTML versione 2.0 Questo.
G. Mecca – – Università della Basilicata Basi di Dati Sistemi per Basi di Dati Relazionali: Modello Logico Concetti Fondamentali versione.
G. Mecca – – Università della Basilicata Tecnologie di Sviluppo per il Web Cascading Style Sheets (CSS): Introduzione versione 2.0 Questo.
G. Mecca – – Università della Basilicata Basi di Dati Sistemi per BD Relazionali: Modello Fisico Concetti Fondamentali versione 2.0 Questo.
G. Mecca – – Università della Basilicata Tecnologie di Sviluppo per il Web Cascading Style Sheets (CSS): Dettagli e Approfondimenti versione.
SQL-92 Concetti Fondamentali
Tecnologie di Sviluppo per il Web
Modello Concettuale Dettagli e Approfondimenti
G. Mecca – – Università della Basilicata Basi di Dati SQL-92 Concetti Avanzati versione 2.0 Questo lavoro è concesso in uso secondo i termini.
G. Mecca – – Università della Basilicata Tecnologie di Sviluppo per il Web XML: Dettagli e Approfondimenti versione 2.0 Questo lavoro è
Progettazione e Forme Normali
G. Mecca – – Università della Basilicata Basi di Dati Sistemi per BD Relazionali: Modello Fisico Dettagli e Approfondimenti versione 2.0.
G. Mecca – – Università della Basilicata Basi di Dati SQL-92 Dettagli e Approfondimenti versione 2.0 Questo lavoro è concesso in uso secondo.
G. Mecca – – Università della Basilicata Basi di Dati Progettazione Fisica e Tuning: Concetti Avanzati versione 2.0 Questo lavoro è concesso.
Programmazione Procedurale in Linguaggio C++
Programmazione Procedurale in Linguaggio C++
La Modifica dei Dati in una Base Dati La modifica dei dati contenuti allinterno di una base dati è unoperazione delicata Infatti, ogni potenziale problema.
SCHEDA INFORMATIVA DI UNITÀ
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Puntatori Marco D. Santambrogio – Ver. aggiornata al 21 Marzo 2013.
1 Il servizio di prestito e fornitura documenti ILL-SBN una visione di insieme caratteristiche della procedura illustrazione delle funzionalità
Corso di Informatica (Basi di Dati)
1 Corso di Informatica (Programmazione) Lezione 4 (24 ottobre 2008) Architettura del calcolatore: la macchina di Von Neumann.
eliana minicozzi linguaggi1a.a lezione2
Risorse e Stallo.
Basi di dati attive Paolo Atzeni.
Algoritmi e Strutture Dati
Algoritmi e Strutture Dati
1 © Alberto Montresor Algoritmi e Strutture Dati Capitolo 7 - Tabelle hash Alberto Montresor Università di Trento This work is licensed under the Creative.
Algoritmi e Strutture Dati
Algoritmi e Strutture Dati
Algoritmi e Strutture Dati
Algoritmi e Strutture Dati
Algoritmi e Strutture Dati
Aspetti sistemistici dellSQL. SQL environment Un SQL environment è un framework dove esistono dati e possono aversi istruzioni SQL eseguite su questi.
SIMULAZIONE RETE INTERNET INTERNET SERVICE PROVIDER GRUPPO 2 COMMESSA – INFORMATICA GRANATA Corso Sicurezza su Reti II Prof. A. De Santis Anno Accademico.
G. Mecca – – Università della Basilicata Basi di Dati Sistemi per Basi di Dati Relazionali: Modello Logico Dettagli e Approfondimenti versione.
Le transazioni Itis Max Planck.
Manipolazione dei dati I comandi SQL che permettono di modificare il contenuto di una base di dati sono insertdeleteupdate insert ha la seguente sintassi:
Transazioni.
RICERCA DI MERCATO PER NON ADDETTI
Cos’è una transazione? Una transazione è un’unità logica di elaborazione richiesta da un’applicazione che dà luogo a una serie di operazioni fisiche elementari.
AICA Corso IT Administrator: modulo 4 AICA © EUCIP IT Administrator Modulo 4 - Uso Esperto della Rete Risoluzione dei Problemi e Analisi del Traffico.
Basi di Dati e Sistemi Informativi
sql: esempi di linguaggio sql nell'implementazione mysql
Riconfigurare il diritto dautore. Lipertesto, una necessità di riconfigurazione. Secondo G. P. Landow, lavvento dellipertesto implica la necessità di.
File system distribuito transazionale con replicazione
CORSI DI FORMAZIONE - Basi di Dati: MySql - Parte 4 - Dicembre Utenti e privilegi del database - 1 Root è lutente amministratore predefinito, ma.
Architettura Centralizzata di un DBMS Relazionale
Programmazione Procedurale in Linguaggio C++
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità D3 Sicurezza e concorrenza nelle basi di dati.
Architetture a componenti Java per la realizzazione di DSS distribuiti Giordano Vicoli - ENEA 28 Ottobre 2003.
ATOMICITÀ Il tipo di atomicità di un programma PL/SQL è stabilito dall’ambiente chiamante oppure dal programma Gestione atomicità: –COMMIT –SAVEPOINT nome_punto.
Interazione col DB Per interagire con una base dati da una pagina PHP occorre procedere come segue: Eseguire la connessione al DBMS MySQL in ascolto;
Database Elaborato da: Claudio Ciavarella & Marco Salvati.
Tipo Documento: unità didattica 4 Modulo 14 Compilatore: Antonella Bolzoni Supervisore: Data emissione: Release: Indice: A.Scheda informativa B.Introduzione.
Transazioni in MySQL 4 Transazioni in MySQL 4
Alex Marchetti Infrastruttura di supporto per l’accesso a un disco remoto Presentazione del progetto di: Reti di calcolatori L-S.
Basi di dati Funzionalità e Progettazione Giorgio Ghelli.
Anno Architetture dati DBMS Centralizzati Controllo di concorrenza Carlo Batini.
Linguaggio SQL. Linguaggi per database La diffusione del modello relazionale ha favorito l’uso prevalente di linguaggi non procedurali: in questo modo.
Anno Architetture dati - DBMS Centralizzati Recovery management Carlo Batini.
Transcript della presentazione:

G. Mecca – – Università della Basilicata Basi di Dati Tecnologia di un DBMS: Concorrenza e Affidabilità Concetti Avanzati versione 2.0 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)

2 G. Mecca - - Basi di Dati Concetti Avanzati m Transazioni proprietà acide rapporto con il S. O. m Concorrenza consistenza isolamento m Affidabilità m Architettura di un DBMS Tecnologia DBMS >> Sommario

3 G. Mecca - - Basi di Dati Transazioni m Transazione sequenza di operazioni effettuate da una applicazione sulla base di dati m Transazioni semplici es: aggiungi un nuovo studente m Transazioni complesse es: bonifico bancario m Approccio alla descrizione: sviluppatori Tecnologia DBMS >> Concetti Avanzati >> Transazioni

4 G. Mecca - - Basi di Dati Transazioni m Normalmente: modalità non concatenata una transazione per operazione (autocommit) m Conseguenza il completamento di unoperazione della transazione non implica necessariamente il completamento delle successive possibilità di inconsistenze nella base di dati Tecnologia DBMS >> Concetti Avanzati >> Transazioni

5 G. Mecca - - Basi di Dati Transazioni m Modalità concatenata una transazione contiene più operazioni tutte le operazioni della transazione vengono eseguite oppure non ne viene eseguita nessuna (esecuzione atomica) m Inizio della transazione sintassi non standard SQL:1999: START TRANSACTION) in PgSQL: START TRANSACTION (>=7.3) oppure BEGIN TRANSACTION Tecnologia DBMS >> Concetti Avanzati >> Transazioni

6 G. Mecca - - Basi di Dati Transazioni m Fine della transazione istruzioni COMMIT e ROLLBACK (ABORT) (standard SQL-92) m Esito della transazione esecuzione come unità indivisibile COMMIT: rende permanenti le operazioni errore: operazioni annullate dal sistema ROLLBACK: annulla esplicitamente le operazioni Tecnologia DBMS >> Concetti Avanzati >> Transazioni >> esempio di transazione -commit con successo -commit dopo errore -rollback

7 G. Mecca - - Basi di Dati Transazioni: La Base di Dati dei Video Tecnologia DBMS >> Concetti Avanzati >> Transazioni CREATE TABLE Videoc ( cod integer PRIMARY KEY, titolo varchar(50) NOT NULL, regista varchar(20), quantita integer DEFAULT 1, prezzo numeric(4,2) ); CREATE TABLE Noleggi ( video integer NOT NULL REFERENCES Videoc(cod), tessera char(4) NOT NULL REFERENCES Tessere(cod), data date NOT NULL, PRIMARY KEY (video, tessera, data) ); CREATE TABLE Tessere ( cod char(4) PRIMARY KEY, nomeCliente varchar(50), indirizzo varchar(50), totalenoleggi integer DEFAULT 0 ); BEGIN TRANSACTION; INSERT INTO Noleggi VALUES (110, pp02, ); UPDATE Videoc SET quant.=quant.-1 WHERE cod=110; UPDATE Tessere SET totn.=totn.+1 WHERE cod=pp02; COMMIT; Esempio: noleggio di una videocassetta

8 G. Mecca - - Basi di Dati Proprietà ACIDE delle Transazioni m Atomicità tutte le operazioni oppure nessuna m Consistenza stati consistenti della base di dati m Isolamento correttezza dellaccesso concorrente m Durevolezza effetto persistente sulla base di dati (guasti) Tecnologia DBMS >> Concetti Avanzati >> Transazioni

9 G. Mecca - - Basi di Dati Gestione delle Transazioni in un DBMS m Due moduli fondamentali m Gestore della concorrenza garantisce isolamento e consistenza implementa tecniche più sofisticate di sincr. m Gestore dellaffidabilità garantisce atomicità e durevolezza utilizza un file di registrazioni (log) per consentire il recupero in caso di guasti Tecnologia DBMS >> Concetti Avanzati >> Transazioni

10 G. Mecca - - Basi di Dati Gestione della Concorrenza m Assume atomicità e durevolezza fornite dal gestore dellaffidabilità >> m Due obiettivi fondamentali garantire la consistenza della base di dati (partendo da uno stato consistente, la transazione genera uno stato consistente) garantire lisolamento delle transazioni (le transazioni devono essere eseguite come se fossero isolate) Tecnologia DBMS >> Concetti Avanzati >> Gestione della Concorrenza

11 G. Mecca - - Basi di Dati Consistenza m Impone i vincoli di integrità definiti nel DDL (più eventuali trigger) m Vincoli di riferimento la verifica può essere immediata o differita m Istruzione SET CONSTRAINTS SET CONSTRAINTS ALL DEFERRED; m Vincoli differibili (deferrable) i vincoli vengono verificati solo al COMMIT Tecnologia DBMS >> Concetti Avanzati >> Gestione della Concorrenza

12 G. Mecca - - Basi di Dati Consistenza m Esempio: in Noleggi video integer NOT NULL REFERENCES Videoc(cod) DEFERRABLE; Tecnologia DBMS >> Concetti Avanzati >> Gestione della Concorrenza BEGIN TRANSACTION; SET CONSTRAINTS ALL DEFERRED; INSERT INTO Noleggi VALUES (200, pp02, ); INSERT INTO Videoc VALUES (200, Clerks,...); UPDATE Videoc SET quantita=quantita-1 WHERE cod=200; COMMIT; Attenzione: parte dellintegrità è a carico del programmatore (in questo caso non viene aggiornato il totalenoleggi della tessera)

13 G. Mecca - - Basi di Dati Isolamento m Lesecuzione di una transazione deve essere indipendente da quella delle altre m Strategia di esecuzione (schedule) ordine di esecuzione delle operazioni m Correttezza di una strategia concorrente proprietà di serializzabilità il risultato è equivalente a quello di unesecuzione seriale (in ordine qualsiasi) evita vari problemi di esecuzione (>>) Tecnologia DBMS >> Concetti Avanzati >> Gestione della Concorrenza

14 G. Mecca - - Basi di Dati Gestione dellAffidabilità m Due obiettivi fondamentali garantire latomicità delle transazioni garantire la durevolezza degli effetti, anche in caso di guasti (recupero della base di dati) m Idee di base registrare tutte le azioni eseguite in un file di registro (log) mantenere copie dei dati e del log (mirror) strettamente legato alla gestione del buffer Tecnologia DBMS >> Concetti Avanzati >> Gestione dellAffidabilità

15 G. Mecca - - Basi di Dati Gestione dellAffidabilità m File di registro (log) si registrano tutte le istruzioni di aggiornamento tutte le istruzioni di start transaction tutte le istruzioni commit tutte le istruzioni rollback m Formato dei record del log ciascun record del log registra la modifica di un record della base di dati da parte di una transazione Tecnologia DBMS >> Concetti Avanzati >> Gestione dellAffidabilità

16 G. Mecca - - Basi di Dati Gestione dellAffidabilità m Protocollo di scrittura anticipata Write Ahead Logging (WAL) m Idea le informazioni vengono scritte secondo un ordine che garantisce la ripristinabilità in caso di guasti i record del log sono scritti prima dei record della base di dati (garantisce latomicità) i record del log di una transazione sono scritti tutti prima di effettuare il commit (garantisce la durevolezza) Tecnologia DBMS >> Concetti Avanzati >> Gestione dellAffidabilità

17 G. Mecca - - Basi di Dati Gestione dellAffidabilità m Attenzione in ogni istante parte delle pagine del disco sono nel buffer in memoria centrale se sono state modificate, in caso di guasto si perdono le modifiche m Punto di controllo (checkpoint) fotografia stabile della situazione della base di dati in un certo istante informazioni sulle transazioni attive in quel momento scrittura su disco delle pagine relative del buffer Tecnologia DBMS >> Concetti Avanzati >> Gestione dellAffidabilità

18 G. Mecca - - Basi di Dati Gestione dellAffidabilità m Situazione di guasto es: corrente, rottura disco, crash sistema m Problema: ripristinare la base di dati ripetere lesecuzione delle transazioni a partire dal contenuto del log attenzione alle transazioni interrotte a metà m Algoritmo ARIES sul log viene localizzato il primo checkpoint azione di ripetizione (in avanti) azione di annullamento (indietro) Tecnologia DBMS >> Concetti Avanzati >> Gestione dellAffidabilità

19 G. Mecca - - Basi di Dati Gestione dellAffidabilità Tecnologia DBMS >> Concetti Avanzati >> Gestione dellAffidabilità m Localizzazione del checkp. Checkpoint A Punto di inizio della transazione più antica tra quelle fallite U R Punto di inizio della transazione più antica tra quelle concluse Guasto log m Fase 1: Analisi ricerca di transazioni concluse e fallite dal checkpoint m Fase 2: REDO ripetizione di tutte le azioni delle transazioni attive m Fase 3: UNDO annullamento di tutte le azioni delle transazioni interrotte

20 G. Mecca - - Basi di Dati Gestione dellAffidabilità m Descrizione semplificata m Tipicamente in caso di interruzione improvvisa, il recupero è completamente automatico supponendo di avere a disposizione log e checkpoint es: PostgreSQL /var/lib/pgsql/data al riavvio la base di dati viene ripristinata Tecnologia DBMS >> Concetti Avanzati >> Gestione dellAffidabilità

21 G. Mecca - - Basi di Dati Gestione dellAffidabilità m Tecniche per laffidabilità mantenere copie del log; es: mirror mantenere copie di backup della base di dati m Copie della base di dati (dump) copia di /var/lib/pgsql/data (a DBMS fermo) pg_dump: estrae un file di comandi esempio: pg_dump –U pguser deputati > deputati.sql psql –d deputati –f deputati.sql Tecnologia DBMS >> Concetti Avanzati >> Gestione dellAffidabilità

22 G. Mecca - - Basi di Dati Architettura di un DBMS Tecnologia DBMS >> Concetti Avanzati >> Architettura di un DBMS Algebra (Operatori) Gestione dei Metodi di acc. Gestione del buffer Gestione del disco DB Connessioni (TCP/IP) Sicurezza e Autorizzazioni Concorrenza Affidabilità Esecuzione interrogazioni Ottimizzazione

23 G. Mecca - - Basi di Dati Architettura di un DBMS Tecnologia DBMS >> Concetti Avanzati >> Architettura di un DBMS m PostgreSQL piattaforma Linux transazionale SQL-92 intermediate estensioni SQL:1999 sicurezza (connessioni in chiaro e cifrate) multi-version concurrency control WAL

24 G. Mecca - - Basi di Dati Architettura di un DBMS Tecnologia DBMS >> Concetti Avanzati >> Architettura di un DBMS m MySQL (3.xx) piattaforma Linux e Windows non transazionale (componenti esterni) sottoinsieme di SQL-92 intermediate mancano i vincoli di riferimento mancano le viste mancano intersezione e differenza mancano le query nidificate enfasi sulle prestazioni

25 G. Mecca - - Basi di Dati Architettura di un DBMS Tecnologia DBMS >> Concetti Avanzati >> Architettura di un DBMS m Access piattaforma Windows non transazionale sottoinsieme di SQL-92 intermediate no intersezione e differenza limitate autenticazioni limitato controllo di concorrenza enfasi sullinterfaccia utente client grafico o SQL per DBMS di fascia alta

26 G. Mecca - - Basi di Dati Concetti Avanzati m Transazioni proprietà acide rapporto con il S. O. m Concorrenza consistenza isolamento m Affidabilità m Architettura di un DBMS Tecnologia DBMS >> Sommario

27 G. Mecca - - Basi di Dati Transazioni: La Base di Dati dei Video Tecnologia DBMS >> Concetti Avanzati >> Transazioni CREATE TABLE Videoc ( cod integer PRIMARY KEY, titolo varchar(50) NOT NULL, regista varchar(20), quantita integer DEFAULT 1, prezzo numeric(4,2) ); CREATE TABLE Noleggi ( video integer NOT NULL REFERENCES Videoc(cod), tessera char(4) NOT NULL REFERENCES Tessere(cod), data date NOT NULL, PRIMARY KEY (video, tessera, data) ); CREATE TABLE Tessere ( cod char(4) PRIMARY KEY, nomeCliente varchar(50), indirizzo varchar(50), totalenoleggi integer DEFAULT 0 );

28 G. Mecca - - Basi di Dati Termini della Licenza m This work is licensed under the Creative Commons Attribution- ShareAlike License. To view a copy of this license, visit or send a letter to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA. m Questo lavoro viene concesso in uso secondo i termini della licenza Attribution-ShareAlike di Creative Commons. Per ottenere una copia della licenza, è possibile visitare oppure inviare una lettera allindirizzo Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.