SlideShare a Scribd company logo
A)
Introduzione

                                            1
    2


     B)
Prog.
ConceGuale
(ER)
                            
                          C)
Modello
Relazionale,

                                                       Algebra
relazionale,
SQL
                                                                              


     1
   2
    3
    4
    5
    6
   7
              1
       2
    3
    4
    5
    6
    7


          D)
Prog.
Logica
e
                           E)
Tecnologia
di
un
DBMS

          Normalizzazione  


           1
    2
    3
    4
                            1
    2
    3
    4
    5
    6



                                   F)
Programmazione
DB



                                             1
   2


2
                                                                     Basi
di
Da(
‐
Sistemi
transazionali

Ricordiamo
le
principali
caraGerisNche
dei
DBMS

  condivisione
dei
daN

     concorrenza

  qualità
dei
daN

     integrità


  efficienza

     caricamento,
query,
sort




  controllo
dell'accesso

                                   fuoco


     privatezza

                                   su
integrità,

  robustezza
                     concorrenza,

                                   robustezza,
efficienza

3
                                     Basi
di
Da(
‐
Sistemi
transazionali

Il
conceGo
di
transazione


TRANSAZIONE
(transacNon):
Complesso
di

 OPERAZIONI
tendenN
a
portare
il
DB
da
uno
stato

 correGo
ad
un
altro
stato
correGo.


La
transazione
è
un’unità
di
elaborazione
che
gode

 di
4
proprietà
(ACID):

  •  Atomicità

  •  Consistenza

  •  Isolamento

  •  Durata
(persistenza)




4
                                   Basi
di
Da(
‐
Sistemi
transazionali

Atomicità

ATOMICITÀ
(atomicity)
delle
transazioni:
le
operazioni

  previste
cosNtuiscono
un
tuGo
unico,
devono

  pertanto
essere
eseguite
nella
loro
interezza
o
non

  essere
eseguite
per
niente.

SERIALIZZAZIONE
DELLE
OPERAZIONI:
Le
operazioni

  eventualmente
svolte
in
parallelo
devono
portare
il

  DB
ad
uno
stato
equivalente
all'esecuzione
seriale

  delle
medesime
operazioni.

La
transazione
è
quindi
una
TRASFORMAZIONE

  ATOMICA
dallo
stato
iniziale
a
quello
finale.



5
                                    Basi
di
Da(
‐
Sistemi
transazionali

Atomicità

Una
TRANSAZIONE
cosNtuisce
un
BLOCCO
DI
RECOVERY

(riprisNno)
cioè:
un
insieme
di
operazioni
delimitate
da

istruzioni
al
fine
di
permeGere
le
operazioni
:


     UNDO(disfare):
in
caso
di
fallimento
della
transazione

     deve
essere
possibile
"disfare"
l'azione
svolta
sui
daN


     REDO(rifare):
se
la
transazione
ha
avuto
successo
ma
le

     modifiche
al
DB
non
sono
state
rese
permanenN,
le

     modifiche
vanno
ripetute.





6
                                            Basi
di
Da(
‐
Sistemi
transazionali

Transazione
"ben
formata"


BEGIN
TRANSACTION

codice
con
manipolazione
dei
daN


(leGure
e
scriGure)

COMMIT
WORK
/
ROLLBACK
WORK




codice
privo
di
manipolazione
di
daN

END
TRANSACTION







      Si
      
          S1
                 
            S2
                              
             S3
                                            
                         Sf
                                                                      

           W1
        W2
           W3
               W4



 7
                                       Basi
di
Da(
‐
Sistemi
transazionali

Atomicità


ComportamenN
possibili:

commit
work
:
successo


COMMIT:
fine
correGo
della
parte
di
modifica
della
transazione

  ("impegno"
del
DBMS
a
trasferire
i
daN
modificaN
in
memoria

  permanente)


 S0
 
             S1
               
            S2
                            
             S3
                                          
                         Sr
                                                                    


                                          COMMIT



8
                                       Basi
di
Da(
‐
Sistemi
transazionali

Recovery

In
caso
di
guasto
il
sistema
di

RECOVERY

è
incaricato
di
riportare
il

DataBase
ad
uno
stato
correGo
precedente
al
guasto.


STATO
CORRETTO
è
uno
stato
del
DB
che
non
rifleGe
i
cambiamenN

dovuN
a
transazioni
di
modifica
che
non
sono
state
terminate
con

successo.


CAUSE
DI
GUASTO:


     1)
guasto
all'interno
di
una
transazione

     2)
guasto
all'interno
del
sw
di
base

     3)
guasto
sulla
memoria
secondaria


     4)
guasto
sul
sistema
hardware



9
                                                Basi
di
Da(
‐
Sistemi
transazionali

Recovery

GUASTO
ALL'INTERNO
DI
UNA
TRANSAZIONE

a)
ABORT:
una
transazione
si
interrompe
per
un
errore

   sojware
e
quindi
il
DBMS
ne
esegue
il
ROLLBACK
(“ritorno

   indietro”
delle
modifiche
apportate
ai
daN)

b)
ROLLBACK
di
una
transazione:
una
transazione
può

   autonomamente
chiedere
il
rollback
se
scopre

   inconsistenza

nei
daN
o
la
non
fanbilità
delle
operazioni

c)
ABORT
FORZATO
di
una
transazione:
una
transazione

   “aborNta”
è
forzata
al
rollback
se
il
DBMS
scopre

   violazione
di
vincoli
o
di
autorizzazioni,
situazioni
di
stallo

   (deadlock),
fallimento
di
altre
transazioni
coordinate
in

   parallelo.

10
                                            Basi
di
Da(
‐
Sistemi
transazionali

Atomicità


ComportamenN
possibili:

commit
work
:
successo


COMMIT:
fine
correGo
della
parte
di
modifica
della
transazione

  ("impegno"
del
DBMS
a
trasferire
i
daN
modificaN
in
memoria

  permanente)


 S0
 
             S1
               
            S2
                            
             S3
                                          
                         Sr
                                                                    


                                          COMMIT



11
                                      Basi
di
Da(
‐
Sistemi
transazionali

Atomicità


ComportamenN
possibili:

rollback
work
(suicidio)

abort
forzato
(omicidio)
        guasto



S0

             S1
              
             S2
                            
        S3
                                     
                         Sr
                                                               


      UNDO
        UNDO





12
                                  Basi
di
Da(
‐
Sistemi
transazionali

Atomicità


ComportamenN
possibili:

commit
work
:
successo
della
transazione
ma
guasto

  dopo
il
commit
e
prima
della
conclusione



                                guasto



 S0
 
           S1
             
           S2
                         
           S3
                                     
                         Sr
                                                               

                       REDO




13
                                 Basi
di
Da(
‐
Sistemi
transazionali

Consistenza

La
transazione
rispeGa
i
vincoli
di
integrità,
come
conseguenza:

                                                                

       
se
lo
stato
iniziale
è
correGo
anche
lo
stato
finale
è

       
correGo

                        
Isolamento

La
transazione
è
isolata
dalle
altre
transazioni
concorrenN


(non
espone
i
suoi
staN
intermedi
prima
della
sua

conclusione).

Si
evita
l'
“effeGo
domino”

                         Persistenza

Gli
effen
di
un
commit
work
dureranno
“per
sempre”

(indipendentemente
dai
guasN
del
sistema)


 14
                                          Basi
di
Da(
‐
Sistemi
transazionali

Per
garanNre
le
proprietà
acid

•  controllo
di
affidabilita’
:



atomicità,
persistenza

•  controllo
di
concorrenza
:



isolamento

•  controllo
di
esecuzione
:



consistenza



•  Controllo
di
affidabilità
sul
database
server

•     gesNone
ingresso‐uscita

•     gesNone
memorie

•     gesNone
buffer

•     gesNone
commit
work
/
rollback
work

•     gesNone
giornale


15
                                            Basi
di
Da(
‐
Sistemi
transazionali

Persistenza
delle
memorie

•  memoria
centrale
:





non
è
persistente


•  memoria
di
massa
:




è
persistente
ma
può
danneggiarsi

•  memoria
stabile
:





memoria
che
anche
se
si
danneggia
non
perde
i

    daN
e
non
interrompe
il
servizio:

   
DISK
MIRRORING
e
RAID


16
                               Basi
di
Da(
‐
Sistemi
transazionali

Replicazione
on‐line:
mirroring

Le
informazioni
vengono
parallelemente
riportate
su
sistemi

di
dischi
diversi.

                                    BUS
1


                                                             CPU
1


DISK
1
                   DISK
2

          DISK
DRIVE
1

                                                               UNITA’
                                                                    

                                                     MULTIPROCESSORE

          DISK
DRIVE
2



                                                            CPU
2


                                    BUS
2


17
                                          Basi
di
Da(
‐
Sistemi
transazionali

Replicazione
off‐line
:
unità
di
backup

       BACKUP



                                      DATABASE

                                      SERVER



          DUMP

                                      DATABASE


Il
DBMS
Nene
sempre
una
vecchia
copia
del
DB
su
un


altro
disposiNvo
(nastro
o
disco)
aggiornata
periodicamente

(DUMP).



18
                                        Basi
di
Da(
‐
Sistemi
transazionali

GesNone
della
memoria
centrale

      disco



























buffer


                       i/o

      




































di
memoria


      




































centrale


razionale:


•  uso
frequente
dei
daN
già
nel
buffer

•  scriGura
differita
della
base
di
daN
onmizzando
le
scriGure
su

   disco





19
                                              Basi
di
Da(
‐
Sistemi
transazionali

Uso
della
memoria
centrale

                                                    memoria 

                                                    centrale


  pagina
x
                                x

                                                  y

  pagina
y



                                                 buffer
pool


Per
ogni
transazione
c’è
un
certo
numero
di
pagine
disponibili

nel
buffer
pool,
il
numero
dipende
dal
numero
di
transazioni
e

dalle
loro
richieste.

Le
pagine
contenenN
modifiche
devono
essere
riscriGe.

 20
                                        Basi
di
Da(
‐
Sistemi
transazionali

PoliNche
di
gesNone
del
buffer

a
STEAL
‐

         
pagine
con
daN
dirty,
cioè
modificaN
ma
 










 
          

ancora
senza
commit,
soGraGe
a
una


         








 

transazione
anva
e
riportate
su
disco




NO
STEAL


b
FORCE
‐
          
pagine
scriGe
al
commit‐work




NO
FORCE



Normalmente
:


NO‐STEAL,
NO‐FORCE

Le
transazioni
rilasciano
le
pagine
alla
fine,
quelle


modificate
verranno
riscriGe
in
memoria
permanente.

Se
necessario
le
pagine
delle
transazioni
vengono


rimpiazzate
con
la
poliNca
LRU
(Least
Recently
Used).

 21
                                            Basi
di
Da(
‐
Sistemi
transazionali

Giornale
di
transazione
(Log
file)

Il
LOG
registra
in
memoria
stabile
le
azioni
svolte
dalla

transazione
soGo
forma
di
coppie
di
valori:


UPDATE
(U)
trasforma
:
val1
⇒
val2







registrazione:
BEFORE‐STATE(U)
=
val1


























AFTER‐STATE(U)



=
val2

(chiamate
anche
before/ajer
image)


TIPI
DI
REGISTRAZIONI
NEL
GIORNALE:

1


BEGIN‐TRANSACTION

2


UPDATE
/
DELETE
/
INSERT

3


COMMIT
/
ABORT

4  CHECKPOINT

22
                                                  Basi
di
Da(
‐
Sistemi
transazionali

Il
giornale
è
sequenziale


       B(T1)
          U(T1)
        U(T1)
    C(T1)


                                                                              top
del

                record
della
transazioni
T1
                                 giornale


Le
informazioni
registrate
sono
del
Npo
:

       
1)
idenNficatore
della
transazione;

       
2)
codice
di
operazione;

       
3)
numero
di
sequenza
nel
log;


       
4)
puntatore
all'ulNmo
log
record
della
transazione;

       
5)
idenNficatore
del
file
ed
indirizzo
del
record
(Nd);

       
6)
vecchio
valore,
nuovo
valore;

 23
                                                Basi
di
Da(
‐
Sistemi
transazionali

Giornale

Per
il
LOG
(che
conNene
l'insieme
di
informazioni


necessarie
e
sufficienN
per
riportare
il
DB
in
uno


stato
correGo)
si
uNlizza
un
protocollo
di
Npo


WAP
(Write
Ahead
Protocol):

Si
scrive
un
record
di
BEGIN
sul
LOG
prima
di
iniziare

l'esecuzione
di
una
transazione

Le
modifiche
effeGuate
vengono
registrate
sul
disco


del
LOG
(chiamato
anche
audit
trail)
PRIMA
di
venire


estese
alla
memoria
secondaria

Il
LOG
è
presente
in
tun
i

DBMS
di
una
certa
importanza.

In
sistemi
che
eseguono
molte
transazioni
può
occupare

uno
spazio

molto
elevato
(LOG
di
cenNnaia
di
milioni
di


caraGeri
al
giorno
in
sistemi
commerciali)..

24
                                         Basi
di
Da(
‐
Sistemi
transazionali

ESEMPIO





T1
,
T2
e
T3
sono
OK.
Per
T4
e
T5
il
sistema
deve
riportare


i
daN
allo
stato
correGo
anteriore
al
loro
inizio.


 25
                                          Basi
di
Da(
‐
Sistemi
transazionali

METODI
PER
LA
GESTIONE
DELLE
TRANSAZIONI


1)
UNDO
/
REDO

2)
UNDO
/
NO
REDO

3)
NO
UNDO
/
REDO

4)
NO
UNDO
/
NO
REDO


a)
fare
o
non
fare
UNDO
dipende
dalla
poliNca
di


gesNone
delle
modifiche.

b)
fare
o
non
fare
REDO
dipende
dalla
gesNone
del


BUFFER
e
del
COMMIT.
Il
REDO
va
faGo
perché
anche


se
si
raggiunge
il
COMMIT
sul
LOG,
non
si
è
sicuri
che

le
pagine
siano
state
tuGe
scaricaN
dal
buffer.


 26
                                        Basi
di
Da(
‐
Sistemi
transazionali

PoliNca
di
undo
(gesNone
delle
modifiche)

POLITICA
a
1
FASE
:
(UNDO)
le
modifiche
vengono


portate
subito
sul
DB
durante
lo
svolgimento
della
transazione,

prima
della
terminazione

(STEAL).

                            t1
              t3

                                   DO

                 Stato

                                Stato


                                   (WAP)

                 vecchio
                               nuovo

                 dei
daN
    t2
                        dei
daN

                                      LOG
          t1<t2<t3


       Stato

                               Stato


                            UNDO

       nuovo
                                vecchio

        LOG

 27
                                           Basi
di
Da(
‐
Sistemi
transazionali

PoliNca
di
undo
(gesNone
delle
modifiche)

POLITICA

a
2
FASI
:
(NO
UNDO)
tuGe
le
modifiche
sono


registrate
sul
LOG
temporaneamente
e
non
sul
DB;


solo
se
la
transazione
termina
correGamente
allora
vengono

portate
sul
DB
stabile
(con
una
operazione
atomica)
(NO
STEAL).


                                   t1<t2<t3

                 t1

      Stato

                                  Stato


      vecchio

                             DO
               nuovo

      dei
daN
                                 dei
daN


                       t2
                                       t3

                                     LOG


28
                                         Basi
di
Da(
‐
Sistemi
transazionali

PoliNca
di
commit
(gesNone
del
buffer)

COMMIT
posNcipato:
(NO
REDO)
il
commit
è
definiNvo


solo
dopo
che
le
modifiche
sono
migrate
sul
DB
(prima
le

modifiche,
poi
il
commit
sul
log)

(FORCE)

COMMIT
anNcipato:
(REDO)
il
commit
è
registrato
subito
sul

LOG
prima
che
le
modifiche
siano
completate
sul
DB
(NO

FORCE).


                  t1
                t3

       Stato

                                 Stato


       incerto
           REDO
                nuovo

       dei
daN
                                dei
daN


                        t2

          LOG

 29
                                        Basi
di
Da(
‐
Sistemi
transazionali

PoliNche
di
recovery

 UNDO/REDO
richiede
before
and
ajer
image,

  • lascia
la
gesNone
delle
pagine
al
gestore
del
buffer


   
che
può
onmizzare
il
trasferimento
su
disco,

  • migliora
il
funzionamento
normale,


  • peggiora
il
funzionamento
sia
in
caso
di
guasN
di


   
sistema
al
RESTART
che
di
guasN
di
transazioni,

  • permeGe
un
più
sollecito
rilascio
dei
lock.


 UNDO/NO
REDO
richiede
ajer
image,

    • migliora
il
caso
di
RESTART
,

    • peggiora
il
caso
di
guasto
di
transazione,

    • peggiora
il
funzionamento
normale
del
buffer
poiché


 



forza
il
gestore
del
buffer
a
scaricare
le
pagine


 



per
terminare
la
transazione,

    • non
permeGe
un
sollecito
rilascio
dei
lock.

30
                                             Basi
di
Da(
‐
Sistemi
transazionali

PoliNche
di
recovery

NO
UNDO
/
REDO
non
richiede
before
image,

 • favorisce
i
casi
di
fallimenN
delle
transazioni.


NO
UNDO
/
NO
REDO

   • NO
REDO:
tuGe
le
modifiche
devono
essere
nel
DB
prima

     che
la
transazione
sia
considerata
terminata.

   • NO
UNDO:
nessuna
modifica
deve
essere
portata
sul


   

DB
prima
che
la
transazione
sia
considerata
terminata.

   • Perciò
una
operazione
atomica
deve
trasferire
i
daN
e






registrare
il
Commit.


Si
usa
la
tecnica
delle
pagine
ombra
(SHADOW
PAGES)
che
è

molto
veloce
ma
richiede
molta
memoria


31
                                            Basi
di
Da(
‐
Sistemi
transazionali

SHADOW
PAGES

                   po
          pn
            doppio
puntatore


                                               dell’applicazione


page
table

                                   alla
page
table





            p.
ombra
           p.
nuove


      po
          pn
                      po
                     pn





      commit
      (operazione
atomica)
        undo

32
                                         Basi
di
Da(
‐
Sistemi
transazionali

INCERTEZZA
DEL
RECOVERY
NEL
CASO
DI
SYSTEM
CRASH


Metodo
del
“CHECKPOINT”
nella
poliNca
UNDO/REDO

In
caso
di
system
crash
il
contenuto
della
memoria
principale

e
degli
I/O
buffers
è
perduto.






 33
                                        Basi
di
Da(
‐
Sistemi
transazionali

CHECKPOINT

T3
 e
 T5
 sicuramente
 non
 sono
 state
 completate
 e
 devono

essere
soGoposte
alla
procedura
di
UNDO.

Per
 T1,
 T2
 e
 T4,
 che
 sono
 terminate,
 non
 è
 sicuro
 se
 gli
                                                                   

aggiornamenN
sono
staN
definiNvamente
copiaN
su
memoria             

ausiliaria.

Bisogna
 quindi
 controllare
 sul
 LOG
 e
 se
 queste
 hanno 

raggiunto
il
COMMIT
(commit
record
nel
Log)

bisogna
farne

il
                                                             

REDO
.

Quanto
 indietro
 nel
 LOG
 bisogna
 andare,
 per
 essere
 sicuri
 di
                                                                    

eseguire
il
recovery
di
tuGe
le
transazioni
terminate
in
modo       

correGo
?


34
                                             Basi
di
Da(
‐
Sistemi
transazionali

CHECKPOINT

CHECKPOINT
SYSTEM

Periodicamente
il
sistema
esegue
il
check
del
DB:


metodo
1

fa
 terminare
 le
 transazioni
 non
 ancora
 terminate
 e
 ricopia

tuGo
il
contenuto
del
buffer
di
memoria
centrale
desNnato
al       

DB
sul
disco
ed
inserisce
un
"checkpoint
record"
nel
LOG.


Il
 sistema
 DBMS,
 dopo
 il
 restart
 del
 sistema
 di
 calcolo,
 cerca

nel
LOG
l'ulNmo
checkpoint
record
ed
esegue
la
sua
procedura            

di
 RECOVERY
 sulle
 transazioni
 iniziate
 dopo.
 Se
 il
 guasto       

avviene
 durante
 l’operazione
 di
 checkpoint
 è
 valido
 il           

checkpoint
precedente.


35
                                               Basi
di
Da(
‐
Sistemi
transazionali

CHECKPOINT

CHECKPOINT
SYSTEM

Periodicamente
il
sistema
esegue
il
check
del
DB:


metodo
2

ricopia
 tuGe
 le
 pagine
 di
 transazioni
 terminate
 sul
 disco
 ed

inserisce
 un
 "checkpoint
 record"
 nel
 LOG,
 registra
 nel        

checkpoint
 record
 gli
 idenNficatori
 delle
 transazioni
 non       

ancora
terminate.


Il
 sistema
 DBMS,
 dopo
 il
 restart
 del
 sistema
 di
 calcolo,
 cerca

nel
LOG
l'ulNmo
checkpoint
record
ed
esegue
la
sua
procedura            

di
 RECOVERY
 sulle
 transazioni
 iniziate
 dopo
 e
 su
 quelle         

registrate
nel
checkpoint
record.

36
                                               Basi
di
Da(
‐
Sistemi
transazionali

CHECKPOINT





      checkpoint


T1
è
ok,
per
T2
e
T4
si
fa
REDO
,
per
T3
e
T5
UNDO





37
                                        Basi
di
Da(
‐
Sistemi
transazionali

Funzionamento
del
recovery
manager

     Il
recovery
manager
,
al
restart
del
sistema,
esegue
un

      protocollo
del
Npo:

      1  Legge
su
un
file
di
RESTART
(sempre
contenuto
nel
LOG)

         l'indirizzo
dell'ulNmo
CHECKPOINT;
nel
record
di

         checkpoint
sono
contenuN
gli
idenNficatori
delle

         transazioni
anve
al
momento
del
checkpoint.

      2  Prepara
due
file:
UNDO
LIST
con
gli
idenNficatori
delle

         transazioni
anve,
REDO
LIST
vuoto.





38
                                          Basi
di
Da(
‐
Sistemi
transazionali

Funzionamento
del
recovery
manager

        3   Legge
il
LOG
partendo
dall'ulNmo
checkpoint:


           
se
trova
Begin
TransacNon
registra
la
transazione

            sulla
UNDO
LIST,


           
se
trova
Commit
la
porta
nella
REDO
LIST.

     Al
termine
la
UNDO
LIST
conNene
la
lista

delle

      transazioni
da
DISFARE,
la
REDO
LIST
quella
delle

      transazioni
da
rifare.

         4  Il
LOG
viene
rielaborato
all'indietro
per
compiere
gli

            UNDO
con
i
vecchi
valori


         5  Il
LOG
viene
rielaborato
in
avanN

per
rifare
(REDO)
le

            transazioni
da
rifare.

     Nessun
utente
è
anvo
durante
il
RESTART.


39
                                              Basi
di
Da(
‐
Sistemi
transazionali

Checkpoint

Al
momento
del
guasto
e
dopo:






             checkpoint
                                       top
del

                                  undo
list
                  giornale





                                  redo
list



  40
                              Basi
di
Da(
‐
Sistemi
transazionali

In
caso
di
guasto
di
sistema

a

guasto
soj
:





perdita
in
memoria
centrale
e


       
RIPRESA
(RESTART)
A
CALDO

       
procedura
di
recovery
undo/redo
                      

       
come
già
visto
o
altre
simili
nei
casi
               






       
no
undo/redo
ecc.



b

guasto
hard






danneggiamento
della
memoria
disco
e


     
RIPRESA
A
FREDDO

 41
                                    Basi
di
Da(
‐
Sistemi
transazionali

Ripresa
a
freddo

•  si
riprisNnano
i
daN
a
parNre
dall’ulNmo




backup


•  si
eseguono
le
operazioni
registrate
sul




log
fino
all'istante
del
guasto;


  
per
sicurezza
si
Nene
il
log
su
un
disco
diverso

   da
quello
dei
daN
(spesso
i
log
sono
2).


•  si
esegue
una
ripresa
a
caldo


 42
                                  Basi
di
Da(
‐
Sistemi
transazionali

Altre
tecniche
di

RECOVERY

COPIE
MULTIPLE:

 
 Si
 manNene
 un
 numero
 dispari
 di
 copie
 del
 DB.
 In
 caso
 di 

  guasto,
 facendo
 dei
 confronN
 fra
 le
 varie
 copie,
 in
 base
 ad

  un
protocollo
di
maggioranza
si
onene
la
copia
correGa.

 
Durante
una
modifica,
una
delle
copie
viene
uNlizzata
per

  scrivere
i
nuovi
valori.
Un
flag
viene
seGato
per
indicare
un

  "update
in
progress"
anche
per
le
altre
copie.

  Successivamente
la
modifica
viene
estesa
in
parallelo
(per

  quanto
possibile)
a
tuGe
le
altre
copie.
Esse
quindi
sono

  sempre
correGe
(ed
uguali),
esclusi
gli
istanN
in
cui
si

  esegue
la
scriGura.

 
Tecnica
molto
uNlizzata
nelle
applicazioni
avanzate
(spaziali,       

  militari,
etc....).


 43
                                               Basi
di
Da(
‐
Sistemi
transazionali

FORWARD
ERROR
RECOVERY

1)
BACKWARD
ERROR
RECOVERY:

  
 è
 quella
 già
 vista
 che
 stabilisce
 che
 il
 riprisNno
 del
 DB

   avvenga
ritornando
ad
uno
stato
passato
correGo.
(Se
non
è          

   possibile,
 si
 cerca
 di
 riportare
 il
 DB
 in
 uno
 stato
 almeno

   consistente).
Sono
le
tecniche
usate
dai
DBMS
per
i
sistemi         

   aziendali.


2)
FORWARD
ERROR
RECOVERY:


 
tecnica
che
prosegue
normalmente
l'esecuzione
(se

   possibile)
tentando
una
compensazione
degli
errori.
Non

   permeGe
l'uso
di
tecniche
generali
ma
solo
di
algoritmi

   specifici.
Usata
in
sistemi
strategici
o
in
casi
in
cui
non
c’è

   tempo
per
il
recovery
backward.

44
                                               Basi
di
Da(
‐
Sistemi
transazionali

Altre
tecniche
di

RECOVERY

HW
CRASH:



SISTEMI
 RESILIENTI:
 sistemi
 completamente
 duplicaN
 che   

   svolgono
esaGamente
lo
stesso
lavoro:


  
il
sistema
"slave"
sosNtuisce
immediatamente
il
"master"
in

   caso
di
roGura.


 
 In
 sistemi
 strategici
 i
 soGosistemi
 sono
 più
 di
 due:
 può

  sussistere
il
problema
(grave)
che
il
master
non
lavori
più
in    

  modo
correGo
e
consideri
guasN
gli
slave
che
a
loro
volta
lo      

  considerano
 guasto.
 Gli
 algoritmi
 per
 la
 gesNone
 di
 questa

  situazioni
sono
molto
complessi.


 45
                                            Basi
di
Da(
‐
Sistemi
transazionali

46
   Basi
di
Da(
‐
Sistemi
transazionali


More Related Content

Similar to E5 Transaz

2014.11.14 Implementare e mantenere un progetto Azure SQL Database
2014.11.14 Implementare e mantenere un progetto Azure SQL Database2014.11.14 Implementare e mantenere un progetto Azure SQL Database
2014.11.14 Implementare e mantenere un progetto Azure SQL Database
Emanuele Zanchettin
 
2014.11.14 Implementare e mantenere un progetto Azure SQL Database
2014.11.14 Implementare e mantenere un progetto Azure SQL Database2014.11.14 Implementare e mantenere un progetto Azure SQL Database
2014.11.14 Implementare e mantenere un progetto Azure SQL Database
Emanuele Zanchettin
 
Polyglot Persistance con PostgreSQL, CouchDB, MongoDB, Redis e OrientDB
Polyglot Persistance con PostgreSQL, CouchDB, MongoDB, Redis e OrientDBPolyglot Persistance con PostgreSQL, CouchDB, MongoDB, Redis e OrientDB
Polyglot Persistance con PostgreSQL, CouchDB, MongoDB, Redis e OrientDB
Steve Maraspin
 
Redis Cluster by S. Sanfilippo
Redis Cluster by S. SanfilippoRedis Cluster by S. Sanfilippo
Redis Cluster by S. Sanfilippo
Corley S.r.l.
 
MySQL 5
MySQL 5MySQL 5
MySQL 5
jekil
 
Cassandra DB - Linux Day 2019 - Catania - Italy
Cassandra DB - Linux Day 2019 - Catania - ItalyCassandra DB - Linux Day 2019 - Catania - Italy
Cassandra DB - Linux Day 2019 - Catania - Italy
Fabrizio Spataro
 
Seminario Basi di Dati - Architetture Distribuite - Università degli Studi di...
Seminario Basi di Dati - Architetture Distribuite - Università degli Studi di...Seminario Basi di Dati - Architetture Distribuite - Università degli Studi di...
Seminario Basi di Dati - Architetture Distribuite - Università degli Studi di...
Andrea Cannella
 
Architettura dei Calcolatori 06 Elementi Architetturali Di Base
Architettura dei Calcolatori 06 Elementi Architetturali Di BaseArchitettura dei Calcolatori 06 Elementi Architetturali Di Base
Architettura dei Calcolatori 06 Elementi Architetturali Di BaseMajong DevJfu
 
Presentazione mongo torino
Presentazione mongo torinoPresentazione mongo torino
Presentazione mongo torinoCSP Scarl
 
Implementare e mantenere un progetto azure sql database v.2
Implementare e mantenere un progetto azure sql database v.2Implementare e mantenere un progetto azure sql database v.2
Implementare e mantenere un progetto azure sql database v.2Emanuele Zanchettin
 
Sistemi Operativi: Meccanismi - Lezione 03
Sistemi Operativi: Meccanismi - Lezione 03Sistemi Operativi: Meccanismi - Lezione 03
Sistemi Operativi: Meccanismi - Lezione 03Majong DevJfu
 
SimArch: un'architectura software per lo sviluppo di sistemi di simulatione d...
SimArch: un'architectura software per lo sviluppo di sistemi di simulatione d...SimArch: un'architectura software per lo sviluppo di sistemi di simulatione d...
SimArch: un'architectura software per lo sviluppo di sistemi di simulatione d...
Daniele Gianni
 
DynamicDataCenter: performance@T-Systems
DynamicDataCenter: performance@T-SystemsDynamicDataCenter: performance@T-Systems
DynamicDataCenter: performance@T-SystemsFSCitalia
 
[SLIDE]Modellazione della dinamica di un liquido bifase mediante GPU CUDA
[SLIDE]Modellazione della dinamica di un liquido bifase mediante GPU CUDA[SLIDE]Modellazione della dinamica di un liquido bifase mediante GPU CUDA
[SLIDE]Modellazione della dinamica di un liquido bifase mediante GPU CUDA
kylanee
 
ZFS - Zettabyte File System
ZFS - Zettabyte File SystemZFS - Zettabyte File System
ZFS - Zettabyte File System
Cataldo Cigliola
 
Presentazione tesi magistrale
Presentazione tesi magistralePresentazione tesi magistrale
Presentazione tesi magistrale
Klenje
 
Architettura dei Calcolatori 09 Memorie
Architettura dei Calcolatori 09 MemorieArchitettura dei Calcolatori 09 Memorie
Architettura dei Calcolatori 09 MemorieMajong DevJfu
 
Presentazione Nuvola Vertica Full New1
Presentazione Nuvola Vertica Full New1Presentazione Nuvola Vertica Full New1
Presentazione Nuvola Vertica Full New1guest5c2d35b
 

Similar to E5 Transaz (20)

E1 Memorie
E1 MemorieE1 Memorie
E1 Memorie
 
2014.11.14 Implementare e mantenere un progetto Azure SQL Database
2014.11.14 Implementare e mantenere un progetto Azure SQL Database2014.11.14 Implementare e mantenere un progetto Azure SQL Database
2014.11.14 Implementare e mantenere un progetto Azure SQL Database
 
2014.11.14 Implementare e mantenere un progetto Azure SQL Database
2014.11.14 Implementare e mantenere un progetto Azure SQL Database2014.11.14 Implementare e mantenere un progetto Azure SQL Database
2014.11.14 Implementare e mantenere un progetto Azure SQL Database
 
Polyglot Persistance con PostgreSQL, CouchDB, MongoDB, Redis e OrientDB
Polyglot Persistance con PostgreSQL, CouchDB, MongoDB, Redis e OrientDBPolyglot Persistance con PostgreSQL, CouchDB, MongoDB, Redis e OrientDB
Polyglot Persistance con PostgreSQL, CouchDB, MongoDB, Redis e OrientDB
 
Redis Cluster by S. Sanfilippo
Redis Cluster by S. SanfilippoRedis Cluster by S. Sanfilippo
Redis Cluster by S. Sanfilippo
 
MySQL 5
MySQL 5MySQL 5
MySQL 5
 
Cassandra DB - Linux Day 2019 - Catania - Italy
Cassandra DB - Linux Day 2019 - Catania - ItalyCassandra DB - Linux Day 2019 - Catania - Italy
Cassandra DB - Linux Day 2019 - Catania - Italy
 
Seminario Basi di Dati - Architetture Distribuite - Università degli Studi di...
Seminario Basi di Dati - Architetture Distribuite - Università degli Studi di...Seminario Basi di Dati - Architetture Distribuite - Università degli Studi di...
Seminario Basi di Dati - Architetture Distribuite - Università degli Studi di...
 
Architettura dei Calcolatori 06 Elementi Architetturali Di Base
Architettura dei Calcolatori 06 Elementi Architetturali Di BaseArchitettura dei Calcolatori 06 Elementi Architetturali Di Base
Architettura dei Calcolatori 06 Elementi Architetturali Di Base
 
Presentazione mongo torino
Presentazione mongo torinoPresentazione mongo torino
Presentazione mongo torino
 
E6 Concorre
E6 ConcorreE6 Concorre
E6 Concorre
 
Implementare e mantenere un progetto azure sql database v.2
Implementare e mantenere un progetto azure sql database v.2Implementare e mantenere un progetto azure sql database v.2
Implementare e mantenere un progetto azure sql database v.2
 
Sistemi Operativi: Meccanismi - Lezione 03
Sistemi Operativi: Meccanismi - Lezione 03Sistemi Operativi: Meccanismi - Lezione 03
Sistemi Operativi: Meccanismi - Lezione 03
 
SimArch: un'architectura software per lo sviluppo di sistemi di simulatione d...
SimArch: un'architectura software per lo sviluppo di sistemi di simulatione d...SimArch: un'architectura software per lo sviluppo di sistemi di simulatione d...
SimArch: un'architectura software per lo sviluppo di sistemi di simulatione d...
 
DynamicDataCenter: performance@T-Systems
DynamicDataCenter: performance@T-SystemsDynamicDataCenter: performance@T-Systems
DynamicDataCenter: performance@T-Systems
 
[SLIDE]Modellazione della dinamica di un liquido bifase mediante GPU CUDA
[SLIDE]Modellazione della dinamica di un liquido bifase mediante GPU CUDA[SLIDE]Modellazione della dinamica di un liquido bifase mediante GPU CUDA
[SLIDE]Modellazione della dinamica di un liquido bifase mediante GPU CUDA
 
ZFS - Zettabyte File System
ZFS - Zettabyte File SystemZFS - Zettabyte File System
ZFS - Zettabyte File System
 
Presentazione tesi magistrale
Presentazione tesi magistralePresentazione tesi magistrale
Presentazione tesi magistrale
 
Architettura dei Calcolatori 09 Memorie
Architettura dei Calcolatori 09 MemorieArchitettura dei Calcolatori 09 Memorie
Architettura dei Calcolatori 09 Memorie
 
Presentazione Nuvola Vertica Full New1
Presentazione Nuvola Vertica Full New1Presentazione Nuvola Vertica Full New1
Presentazione Nuvola Vertica Full New1
 

More from Majong DevJfu

9 - Architetture Software - SOA Cloud
9 - Architetture Software - SOA Cloud9 - Architetture Software - SOA Cloud
9 - Architetture Software - SOA Cloud
Majong DevJfu
 
8 - Architetture Software - Architecture centric processes
8 - Architetture Software - Architecture centric processes8 - Architetture Software - Architecture centric processes
8 - Architetture Software - Architecture centric processes
Majong DevJfu
 
7 - Architetture Software - Software product line
7 - Architetture Software - Software product line7 - Architetture Software - Software product line
7 - Architetture Software - Software product line
Majong DevJfu
 
6 - Architetture Software - Model transformation
6 - Architetture Software - Model transformation6 - Architetture Software - Model transformation
6 - Architetture Software - Model transformation
Majong DevJfu
 
5 - Architetture Software - Metamodelling and the Model Driven Architecture
5 - Architetture Software - Metamodelling and the Model Driven Architecture5 - Architetture Software - Metamodelling and the Model Driven Architecture
5 - Architetture Software - Metamodelling and the Model Driven Architecture
Majong DevJfu
 
4 - Architetture Software - Architecture Portfolio
4 - Architetture Software - Architecture Portfolio4 - Architetture Software - Architecture Portfolio
4 - Architetture Software - Architecture Portfolio
Majong DevJfu
 
3 - Architetture Software - Architectural styles
3 - Architetture Software - Architectural styles3 - Architetture Software - Architectural styles
3 - Architetture Software - Architectural styles
Majong DevJfu
 
2 - Architetture Software - Software architecture
2 - Architetture Software - Software architecture2 - Architetture Software - Software architecture
2 - Architetture Software - Software architecture
Majong DevJfu
 
1 - Architetture Software - Software as a product
1 - Architetture Software - Software as a product1 - Architetture Software - Software as a product
1 - Architetture Software - Software as a product
Majong DevJfu
 
10 - Architetture Software - More architectural styles
10 - Architetture Software - More architectural styles10 - Architetture Software - More architectural styles
10 - Architetture Software - More architectural styles
Majong DevJfu
 
Uml3
Uml3Uml3
Uml2
Uml2Uml2
5
55
4 (uml basic)
4 (uml basic)4 (uml basic)
4 (uml basic)
Majong DevJfu
 
3
33
2
22
1
11
Tmd template-sand
Tmd template-sandTmd template-sand
Tmd template-sand
Majong DevJfu
 
26 standards
26 standards26 standards
26 standards
Majong DevJfu
 
25 architectural adaptation
25 architectural adaptation25 architectural adaptation
25 architectural adaptation
Majong DevJfu
 

More from Majong DevJfu (20)

9 - Architetture Software - SOA Cloud
9 - Architetture Software - SOA Cloud9 - Architetture Software - SOA Cloud
9 - Architetture Software - SOA Cloud
 
8 - Architetture Software - Architecture centric processes
8 - Architetture Software - Architecture centric processes8 - Architetture Software - Architecture centric processes
8 - Architetture Software - Architecture centric processes
 
7 - Architetture Software - Software product line
7 - Architetture Software - Software product line7 - Architetture Software - Software product line
7 - Architetture Software - Software product line
 
6 - Architetture Software - Model transformation
6 - Architetture Software - Model transformation6 - Architetture Software - Model transformation
6 - Architetture Software - Model transformation
 
5 - Architetture Software - Metamodelling and the Model Driven Architecture
5 - Architetture Software - Metamodelling and the Model Driven Architecture5 - Architetture Software - Metamodelling and the Model Driven Architecture
5 - Architetture Software - Metamodelling and the Model Driven Architecture
 
4 - Architetture Software - Architecture Portfolio
4 - Architetture Software - Architecture Portfolio4 - Architetture Software - Architecture Portfolio
4 - Architetture Software - Architecture Portfolio
 
3 - Architetture Software - Architectural styles
3 - Architetture Software - Architectural styles3 - Architetture Software - Architectural styles
3 - Architetture Software - Architectural styles
 
2 - Architetture Software - Software architecture
2 - Architetture Software - Software architecture2 - Architetture Software - Software architecture
2 - Architetture Software - Software architecture
 
1 - Architetture Software - Software as a product
1 - Architetture Software - Software as a product1 - Architetture Software - Software as a product
1 - Architetture Software - Software as a product
 
10 - Architetture Software - More architectural styles
10 - Architetture Software - More architectural styles10 - Architetture Software - More architectural styles
10 - Architetture Software - More architectural styles
 
Uml3
Uml3Uml3
Uml3
 
Uml2
Uml2Uml2
Uml2
 
5
55
5
 
4 (uml basic)
4 (uml basic)4 (uml basic)
4 (uml basic)
 
3
33
3
 
2
22
2
 
1
11
1
 
Tmd template-sand
Tmd template-sandTmd template-sand
Tmd template-sand
 
26 standards
26 standards26 standards
26 standards
 
25 architectural adaptation
25 architectural adaptation25 architectural adaptation
25 architectural adaptation
 

E5 Transaz