La durability. I dati modificati da una transazione che ha fatto il commit non devono mai essere persi. La durability consente di reagire a:



Documenti analoghi
Tecnologia di un DBMS

ARCHITETTURA DI UN B.D.M.S. Parte III Il Controllo di Affidabilità

Parte 3 Gestione del buffer e gestione del recovery

Le transazioni. Update CC set saldo = saldo + 25 where ccnum = Update CC set saldo = saldo 25 where ccnum = 26488

Tecnologia di un Database Server (centralizzato) Gestione dell affidabilità

Recovery manager Gestore della affidabilità

BASI DI DATI DISTRIBUITE. Esercizio n. 1 Si consideri la base dati:

Parte VII Gestione delle transazioni

Funzioni del DBMS. Transazioni. Transazioni: esempio. Parte VII. Gestione delle transazioni

Parte VII. Gestione delle transazioni

1- AFFIDABILITA. Esercizio n.1

Sistemi transazionali. sistemi transazionali 1

1. in alcuni sistemi si prende nota delle transazioni attive e si rifiutano (momentaneamente) nuovi commit

Basi di dati Architetture e linee di evoluzione. Gestione delle transazioni. Sistema di Gestione di Basi di Dati. Le Basi di Dati sono GRANDI

COMPITO DI SISTEMI INFORMATIVI/BASI DI DATI II 17 giugno 2008 Compito A (Tot. 16) Tempo: 2h

Capitolo 6. Esercizio 6.1

Cognome Nome Matricola Ordin.

Intoduzione alle transazioni e alle proprieta ACID delle transazioni

Gestione del Buffer. Gestione delle Transazioni. Il buffer. Il gestore del buffer 2. Il gestore del buffer 1

TRANSAZIONI TRANSAZIONI

GESTIONE DELLE TRANSAZIONI

Sistemi informativi e basi di dati. Il modello relazionale. SQL come DCL Utilizzo di un DBMS Reale. Forme normali. Basi di dati direzionali

Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo Torlone Basi Di Dati, Seconda Edizione McGraw-Hill Italia, 1999 Capitolo 9

Corso di Laurea in Ingegneria Informatica Fondamenti di Informatica II Modulo Basi di dati a.a

Basi di dati II Prova parziale 16 aprile 2014 Compito A Tempo a disposizione: un ora e quindici minuti.

Esempio di sistema informativo

COMPITO DI SISTEMI INFORMATIVI 1 febbraio 2016 (Tot. 16) Tempo: 2h

Indicare se i seguenti schedule possono produrre anomalie; i simboli ci e ai indicano l esito (commit o abort) della transazione.

SQL Transazioni. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni

Esempio di sistema informativo

Basi di dati II. Gestione delle transazioni LE TRANSAZIONI. Definizione di transazione. Differenza fra applicazione e transazione

BASI DI DATI TECNOLOGIA DEI SERVER PER BASI DI DATI

Gestione delle transazioni: controllo di affidabilità: T03

Basi di Dati prof. A. Longheu. 5 Progettazione fisica

Sistemi mono o multiutente. Un criterio per classificare un sistema di basi di dati è il numero degli utenti che possono fruirne simultaneamente.

8 Tecniche di recovery

Il linguaggio SQL: transazioni

BASI DI DATI: Aspetti gestionali e sviluppi evolutivi dei DBMS info@vittorioprisco.com

Basi di Dati: Complementi Docente: Prof. Pierangela Samarati

Organizzazione fisica dei dati: Introduzione

ESERCIZIO 1 (12 punti) Dato il seguente schema relazionale, che modella le informazioni relative ai conti correnti ed ai clienti di una banca:

Basi di dati II, primo modulo 24 giugno 2011 Compito breve Cenni sulle soluzioni

6.6 Regioni Critiche Condizionali. 6.9 Transazioni Atomiche Modello del Sistema Transazionale

Basi di Dati e Sistemi Informativi. Le Transazioni. Corso di Laurea in Ing. Informatica Ing. Gestionale Magistrale

Basi di Dati e Sistemi Informativi. Architetture Distribuite per Basi di Dati. Corso di Laurea in Ing. Informatica Ing. Gestionale Magistrale

Gestione delle transazioni

Basi di dati II, primo modulo 24 giugno 2011 Compito breve

Gestione delle transazioni

Basi di Dati Parallele

Esercizio. 11. U(T4,O6,B4,A5) 12. I(T4,O7,A6) 13. U(T4,O2,B5,A7) 14. C(T3) 15. I(T2,O8,A9) 16. A(T1) 17. U(T4,O3,B7,A10) 18.

Transazioni. Transazioni. Transazioni. Definizione di una transazione. Transazione

Tecnologia delle Basi di Dati

Controllo di concorrenza. concorrenza 1

Esecuzione concorrente di transazioni

ESERCIZIO 1 (12 punti) Dato il seguente schema relazionale, che modella i dati di un sistema di gestione di campionati di basket.

Esempio di sistema informativo

Basi di dati vol.2 Capitolo 2 Gestione delle transazioni 20/05/2007

Basi di Dati Complementi. 2. Tecnologie per DBMS -2.4 Introduzione alle Transazioni e Buffer Manager

Gestione delle transazioni

Esempio di sistema informativo

Capitolo 9. Sistemi di basi di dati Pearson Addison-Wesley. All rights reserved

Organizzazione fisica dei dati

ESERCIZIO 1 (12 punti) Dato il seguente schema relazionale, che modella le informazioni relative ad una piattaforma di gestione di gare podistiche:

Gestione delle transazioni. Basi di dati. Elena Baralis 2007 Politecnico di Torino 1 D B M G D B M G 2. Linguaggio SQL: costrutti avanzati

ESERCIZIO 1 (12 punti) Dato il seguente schema relazionale, che modella i dati di una videoteca:

Architetture Evolute nei Sistemi Informativi. architetture evolute 1

Le Basi di Dati Attive

Gestione delle transazioni. Concetto di transazione

La tolleranza ai guasti. Software tollerante ai guasti

Gestione delle transazioni

File: definizione. Il file è la più piccola unità logica manipolabie Un file è caratterizzato principalmente da:

Componenti di un DBMS

Transazioni. Transazioni. Stati di una transazione. Transazioni

Basi di dati Architetture e linee di evoluzione

Sistemi di Elaborazione dell Informazione

Sistemi Operativi. Lez. 14 File System: aspetti implementativi

Basi di dati II Esame 26 febbraio 2013 Rispondere su questo fascicolo. Tempo a disposizione: due ore e trenta minuti.

Indice Prefazione Funzionalit `a e architettura dei DBMS La gestione della memoria permanente e del buffer Organizzazioni seriale e sequenziale

Gestione delle transazioni. Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 1

SQl come DML: Esercitazione

Basi di dati II Esame 20 settembre 2013 Compito A

Comunicazione tra Computer. Protocolli. Astrazione di Sottosistema di Comunicazione. Modello di un Sottosistema di Comunicazione

CREATE VIEW. CREATE VIEW <nome_vista> AS (SELECT <lista_campi> FROM <lista_tabelle> WHERE <condizione>);

Transazioni. Antonella Poggi. Dipartimento di informatica e Sistemistica Università di Roma La Sapienza

Capitolo 20. I Sistemi Informativi

Basi di Dati e Sistemi Informativi. Organizzazione fisica dei dati. Corso di Laurea in Ing. Informatica Ing. Gestionale Magistrale

Organizzazione Fisica dei Dati (Parte II)

Sistemi Operativi 1. Mattia Monga. a.a. 2008/09. Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia

Sistemi Operativi. Bruschi Martignoni Monga

Architettura degli elaboratori Docente:

17. ARCHITETTURA DI UN DBMS

Basi di dati II Esame 21 giugno 2018 Compito A Tempo a disposizione: 1h15 per la prova breve e 2h45 per la prova completa.

TRANSAZIONI DISTRIBUITE TRANSAZIONI

Lezione 1. Introduzione ai sistemi di basi di dati

SISTEMI OPERATIVI DISTRIBUITI

Basi di dati attive. Paolo Atzeni Stefano Ceri. Basi di dati attive

Tecnologia di un database server

Tecnologia di un Database Server (centralizzato) Gestione del buffer

Transcript:

La durability Basi di dati: Architetture e linee di evoluzione - Seconda edizione Capitolo 2 Appunti dalle lezioni Durability (Persistenza) I dati modificati da una transazione che ha fatto il commit non devono mai essere persi. La durability consente di reagire a: Guasti di Dispositivo Il dispositivo su cui è memorizzato il DB si è danneggiato. Abort di transazione Guasti di Sistema Il server ha subito un guasto/malfunzionamento che non ha danneggiato il dispositivo su cui è memorizzato il DB. Basi di Dati 2 Prof. Antonio d Acierno Durability 2

Durability Lasciamo un attimo da parte i guasti di dispositivo. Perché I guasti di sistema Gli errori di transazioni? creano problemi? Ricordiamoci del buffer manager: Le modifiche apportate dalle transazioni non sempre sono immediatamente riportate sul disco Anzi: Il buffer manager può scrivere le pagine in maniera asincrona rispetto alle transazioni. Basi di Dati 2 Prof. Antonio d Acierno Durability 3 Buffer manager Steal Una pagina assegnata a una transazione ancora attiva può essere assegnata ad un altra transazione. Ciò significa che una pagina modificata da una transazione che non ha ancora fatto il commit viene scritta sul disco No-Steal Una pagina assegnata ad una transazione che non ha ancora finito non può essere assegnata ad un altra transazione. Basi di Dati 2 Prof. Antonio d Acierno Durability 4

Buffer manager Force Al commit di una transazione le pagine modificate sono scritte sul disco. No-Force La scrittura è ritardata a dopo il commit Non significa immediatamente dopo La politica steal/no-steal definisce l istante minimo di scrittura di una pagina su disco La politica force/no-force definisce se esiste un momento preciso Basi di Dati 2 Prof. Antonio d Acierno Durability 5 4 situazioni possibili Steal/No-Force Undo/Redo Steal/Force Undo/No-redo No-Steal/No-Force No-undo/Redo No-Steal/Force No-undo/No-redo Basi di Dati 2 Prof. Antonio d Acierno Durability 6

Log File La persistenza è assicurata tramite il file di Log. Il Log file è un file sequenziale memorizzato su memoria stabile. Deve essere memorizzato su un dispositivo diverso rispetto al DB. In esso esistono due tipi di di record: Record di Transazione. Record di Sistema. Basi di Dati 2 Prof. Antonio d Acierno Durability 7 Record di transazione Registrano le attività di ogni transazione, nell ordine in cui dette attività sono eseguite. Ad ogni transazione è allora assegnato un identificativo. Record di Begin, Commit, Abort: Contengono l identificativo della transazione ed il tipo di operazione. Basi di Dati 2 Prof. Antonio d Acierno Durability 8

Record di transazione Record di Update: L identificativo della transazione l identificativo dell oggetto su cui si effettua l update lo stato prima dell update (BS) lo stato dopo l update (AS). Record di Insert Non hanno la parte BS. Record di Delete Non hanno la parte AS Basi di Dati 2 Prof. Antonio d Acierno Durability 9 UNDO/REDO UNDO Update X=BS Insert Delete X Delete Insert X con valore BS Basi di Dati 2 Prof. Antonio d Acierno Durability 10

UNDO/REDO REDO Update X=AS Insert Insert X al valore AS Delete Delete X Basi di Dati 2 Prof. Antonio d Acierno Durability 11 UNDO/REDO R i = (T,X,U,BS,AS) Idempotenza di UNDO: Undo(R i ) = Undo(Undo(R i )) Idempotenza di REDO: Redo(R i ) = Redo(Redo(R i )) Analogamente per Delete e Insert Basi di Dati 2 Prof. Antonio d Acierno Durability 12

Record di Sistema Record di dump: Segnale che è stato effettuato un dump (copia di sicurezza su memoria stabile) del DB. Record di checkpoint: Il checkpoint è una operazione che viene effettuata con una certa frequenza da un DBMS. Basi di Dati 2 Prof. Antonio d Acierno Durability 13 Checkpoint E una operazione che serve a fare il punto della situazione a chiudere i conti Le pagine nel buffer e i blocchi sono allineati in maniera intelligente Pagine su cui hanno lavorato solo transazioni andate in abort vengono scartate Pagine su cui hanno lavorato solo transazioni che hanno fatto il commit sono scritte Alla fine viene scritto il record di checkpoint in cui si riportano le transazioni attive a quell istante. Basi di Dati 2 Prof. Antonio d Acierno Durability 14

File log generico dump B(T1) B(T2) CK C(T2) B(T3) CK Crash U(T2, ) U(T2, ) U(T1, ) U(T1, ) U(T3, ) U(T3, ) Basi di Dati 2 Prof. Antonio d Acierno Durability 15 Ripresa a Caldo Viene effettuato, ad esempio, in risposta ad un guasto di sistema. 1. Si accede all ultimo blocco del log e si ripercorre il file all indietro fino all ultimo record di checkpoint. Al record di checkpoint le pagine modificate sono state portate sul disco. Basi di Dati 2 Prof. Antonio d Acierno Durability 16

Ripresa a Caldo Si costruiscono due insiemi: Undo e Redo. L insieme di Redo è inizialmente vuoto. L insieme di Undo contiene le transazioni presenti nel record di checkpoint. 2 Si ripercorre il log in avanti: Se si incontra un Commit, la transazione corrispondente viene spostata da Undo in Redo. Se si incontra un Begin, la transazione corrispondente viene inserita nell insieme di Undo. Quando arriviamo all ultimo record scritto sappiamo quello che deve essere disfatto e quello che deve essere rifatto. Basi di Dati 2 Prof. Antonio d Acierno Durability 17 Ripresa a Caldo 3 Si ripercorre il Log all indietro Disfacendo le operazione delle transazioni in UNDO Fino al Begin della transazione più vecchia fra tutte quelle presenti nei 2 insiemi 4 Si ripercorre il Log in avanti rifacendo le operazioni delle transazioni in Redo Basi di Dati 2 Prof. Antonio d Acierno Durability 18

Esempio di ripresa a caldo B(T1) B(T2) U(T2, O1, B1, A1) I(T1, O2, A2) B(T3) C(T1) B(T4) U(T3,O2,B3,A3) U(T4,O3,B4,A4) CK(T2,T3,T4) C(T4) B(T5) U(T3,O3,B5,A5) U(T5,O4,B6,A6) D(T3,O5,B7) A(T3) C(T5) I(T2,O6,A8) T1 T2 T3 T4 T5 C CK UNDO = {T2,T3,T4} C A Crash Basi di Dati 2 Prof. Antonio d Acierno Durability 19 Esempio di ripresa a caldo: fase 1 B(T1) B(T2) U(T2, O1, B1, A1) I(T1, O2, A2) B(T3) C(T1) B(T4) U(T3,O2,B3,A3) U(T4,O3,B4,A4) CK(T2,T3,T4) C(T4) B(T5) U(T3,O3,B5,A5) U(T5,O4,B6,A6) D(T3,O5,B7) A(T3) C(T5) I(T2,O6,A8) UNDO = {T2,T3,T4} REDO = {} Basi di Dati 2 Prof. Antonio d Acierno Durability 20

Esempio di ripresa a caldo: fase 2 B(T1) B(T2) U(T2, O1, B1, A1) I(T1, O2, A2) B(T3) C(T1) B(T4) U(T3,O2,B3,A3) U(T4,O3,B4,A4) CK(T2,T3,T4) C(T4) B(T5) U(T3,O3,B5,A5) U(T5,O4,B6,A6) D(T3,O5,B7) A(T3) C(T5) I(T2,O6,A8) UNDO = {T2,T3,T4} REDO = {} C(T4) UNDO = {T2,T3} REDO = {T4} B(T5) UNDO = {T2,T3,T5} REDO = {T4} C(T5) UNDO = {T2,T3} REDO = {T4, T5} Basi di Dati 2 Prof. Antonio d Acierno Durability 21 Esempio di ripresa a caldo: fase 3 B(T1) B(T2) U(T2, O1, B1, A1) I(T1, O2, A2) B(T3) C(T1) B(T4) U(T3,O2,B3,A3) U(T4,O3,B4,A4) CK(T2,T3,T4) C(T4) B(T5) U(T3,O3,B5,A5) U(T5,O4,B6,A6) D(T3,O5,B7) A(T3) C(T5) I(T2,O6,A8) UNDO = {T2,T3} REDO = {T4, T5} D(O6) I(O5 =B7) O3 = B5 O2 =B3 O1=B1 Basi di Dati 2 Prof. Antonio d Acierno Durability 22

Esempio di ripresa a caldo: fase 4 B(T1) B(T2) U(T2, O1, B1, A1) I(T1, O2, A2) B(T3) C(T1) B(T4) U(T3,O2,B3,A3) U(T4,O3,B4,A4) CK(T2,T3,T4) C(T4) B(T5) U(T3,O3,B5,A5) U(T5,O4,B6,A6) D(T3,O5,B7) A(T3) C(T5) I(T2,O6,A8) UNDO = {T2,T3} REDO = {T4, T5} O3 = A4 O4 = A6 Basi di Dati 2 Prof. Antonio d Acierno Durability 23 Ripresa a Freddo Viene effettuato in risposta ad un guasto di dispositivo. Si ripristina il DB con l ultima copia. Si percorre il log in avanti, dall ultimo dump, rifacendo tutte le operazioni riportate. Si effettua una ripresa a caldo. Basi di Dati 2 Prof. Antonio d Acierno Durability 24

Durability Guasto Funzionamento Normale Stop Ripresa KO Ripresa OK Boot Ripristino E quindi essenziale l idempotenza delle operazioni di ripristino Basi di Dati 2 Prof. Antonio d Acierno Durability 25 WAL e Commit Precedenza Il corretto funzionamento del meccanismo presuppone che: La parte BS sia scritta nel Log prima di effettuare modifiche (WAL-Write Ahead Log). La parte AS sia scritta prima del Commit (Commit Precedenza) In genere il record è scritto in un colpo solo prima di effettuare modifiche sulla Base Dati (WAL semplificata) e prima del Commit (Commit Precedenza semplificata). Basi di Dati 2 Prof. Antonio d Acierno Durability 26

Tempificazione delle scritture B(T) U(T,X,BS,AS) U(T,Y,BS,AS) C Scritture nel log t w(x) w(y) Scritture nella base di dati (a) B(T) U(T,X,BS,AS) U(T,Y,BS,AS) C t w(y) w(x) (b) B(T) U(T,X,BS,AS) U(T,Y,BS,AS) C t w(x) w(y) (c) Basi di Dati 2 Prof. Antonio d Acierno Durability 27