Rollback
# Rollback

Il rollback, in informatica, è un'operazione che permette di riportare la base di dati a una versione o stato precedente. In generale l'operazione informatica che annulla la precedente è detta revert.

## Il rollback nelle basi di dati

Le operazioni di rollback risultano decisamente importanti nell'integrità delle basi di dati, poiché permettono di riparare il database riportandolo a una versione precedente dopo aver commesso un errore. Esse svolgono una funzione indispensabile per recuperare i dati dopo un crash: infatti, effettuando il rollback su ogni transazione attiva durante il crash la base di dati viene riportato allo stato precedente.

Nel linguaggio SQL, ROLLBACK è un comando che fa sì che tutti i cambiamenti dei dati dall'ultimo BEGIN WORK o START TRANSACTION vengano eliminati dal relational database management system (sistema di gestione del data base relazionale - RDBMS), di modo che i dati contenuti nella base di dati vengano riportati (rolled back) allo stato in cui erano prima che le modifiche venissero apportate. Un comando di rollback rilascerà un punto di salvataggio che sia eventualmente in uso.

Nelle diverse tipologie di SQL, i rollbacks sono specifiche per la connessione (connessione-specifica). Ciò significa che se vengono effettuate più connessioni alla stessa base di dati, un rollback effettuato su una connessione non interesserà le altre. Questo è vitale per la vera e propria gestione della concorrenza.

Il rollback è generalmente implementato con un transaction log, oppure tramite multiversion concurrency control.

Un rollback a cascata avviene quando una transazione non va a buon fine e deve essere effettuato un rollback sia alla transazione stessa, sia a tutte le altre transazioni da essa dipendenti.

## Altro significato in informatica

Il termine viene anche utilizzato comunemente per indicare una qualsiasi operazione di ripristino effettuata su un software o un sistema, ad esempio in seguito a un'installazione o a un aggiornamento di un componente non andato a buon fine.

