nessunoBasi di Dati
 |  0          it  #36
Q: Quali sono i moduli del DBMS che si occupano di garantire le proprietà ACID?

A:

Le proprietà ACID devono essere rispettate durante l'esecuzione delle transazioni.
  • Atomicity: l'esecuzione di una transazione dev'essere vista come un operazione atomica. Anche se una transazione è composta da più fasi, queste devono necessariamente eessere viste come una singola unità computazionale indivisibile.
  • Consistency: la transazione deve lasciare il sistema in uno stato consistente. La transazione inizia da uno stato consistente (dati consistenti, che rispettano i vincoli di integrità) e deve terminare in uno stato consistente.
    Se la transazione fallisce, il sistema deve ritornare allo stato consistente iniziale.
  • Isolation: l'esecuzione parallela di più transazioni in contemporanea non deve causare interferenze tra queste.
  • Durability: le modifiche effettuate dalle transazioni devono essere rese permamenti. Anche a fronte di guasti.


I moduli del DBMS che si occupano del rispetto di queste proprietà, si trovano al livello fisico e sono:
  • Transaction manager: si occupa della coordinazione dei moduli descritti nei punti successivi.
  • Logging & Recovery manager: incaricato della gestione dei LOG (lavora assieme al buffer manager), si occupa della gestione dell'atomicity e durability.
    L'atomicity viene garantita facendo in modo che in caso di fallimenti di una transazione la storia possa essere letta all'indietro (il LOG) e quindi annullata la transazione come se non fosse mai esistita. La durabilità è data dall'uso di protocolli WAL per far fronte a guasti. Inoltre grazie a questo modulo, è possibile fronteggiare anche guasti in fase di restart (da system failure) grazie all'uso del protocollo ARIES.
  • DDL Compiler: prima dell'esecuzione di ogni query genera del codice DDL (Data Definition Language) che verrà eseguito per controllare se i dati presenti nella query violano i vincoli di integrità e se i tipi utlizzati sono compatibili tra di loro.
    Garantisce la consistency
  • Concurrency manager: è incaricato della gestione della concorrenza tra le transazioni. Hal suo interno contiene un lock manager, incaricato della gestione dei lock e ne definisce le politiche.
    Garantisce che le transazioni non possano interferire tra di loro, quindi garantisce la isolation


This website uses cookies, even third part cookies: clicking on OK, continuing the navigation or interacting with the page you consented to the use of cookies. Information OK