Data manager
# Data manager

In informatica, il data manager, o gestore dei dati, è un insieme di moduli di un DBMS che operano coordinati dal transaction manager.

## Componenti

Fanno parte del data manager i seguenti moduli:

* Recovery manager
* Buffer manager
* Log manager

## Recovery manager

Il recovery manager è un modulo di un DBMS incaricato di memorizzare in modo persistente solo l'effetto delle transazioni etichettate come committed.

### Funzionamento

Il recovery manager si occupa del ripristino della base di dati in seguito a malfunzionamenti.

Si occupa quindi della protezione dai guasti.

In caso di malfunzionamento, il recovery manager riporta il database ad uno stato consistente annullando gli effetti delle transazioni ancora attive.

Al fine di garantire un buon grado di resilienza anche a fronte di guasti dei dispositivi meccanici (HDD), il recovery manager coopera in stretto contatto con gli altri moduli che compongono il data manager.

## Log manager

Il log manager, o gestore dei log, è un modulo di un DBMS che si occupa della memorizzazione dei dettagli circa le operazioni di aggiornamento effettuate dalle transazioni.

### Funzionamento

Ad ogni transazione il log manager salva, sotto ordine del recovery manager, due versioni della base di dati:

* Before Image: lo stato del database prima degli effetti della transazione
* After Image: lo stato del data base dopo gli effetti della transazione

Per ogni Log vengono memorizzate le seguenti informazioni:

* ID della transazione
* Tipo di operazione eseguita (Read/Write)
* Indirizzo della pagina letta/modificata
* Before e After Image
