In
database
In computing, a database is an organized collection of data stored and accessed electronically. Small databases can be stored on a file system, while large databases are hosted on computer clusters or cloud storage. The design of databases spa ...
technologies, a rollback is an operation which returns the database to some previous state. Rollbacks are important for database
integrity
Integrity is the practice of being honest and showing a consistent and uncompromising adherence to strong moral and ethical principles and values.
In ethics, integrity is regarded as the honesty and truthfulness or accuracy of one's actions. In ...
, because they mean that the database can be restored to a clean copy even after erroneous operations are performed. They are crucial for recovering from database server crashes; by rolling back any
transaction
Transaction or transactional may refer to:
Commerce
* Financial transaction, an agreement, communication, or movement carried out between a buyer and a seller to exchange an asset for payment
*Debits and credits in a Double-entry bookkeeping sys ...
which was active at the time of the crash, the database is restored to a consistent state.
The rollback feature is usually implemented with a
transaction log, but can also be implemented via
multiversion concurrency control
Multiversion concurrency control (MCC or MVCC), is a concurrency control method commonly used by database management systems to provide concurrent access to the database and in programming languages to implement transactional memory.
Descriptio ...
.
Cascading rollback
A cascading rollback occurs in database systems when a transaction (T1) causes a failure and a rollback must be performed. Other transactions dependent on T1's actions must also be rollbacked due to T1's failure, thus causing a cascading effect. That is, one transaction's failure causes many to fail.
Practical database recovery techniques guarantee cascadeless rollback, therefore a cascading rollback is not a desirable result. Cascading rollback is scheduled by dba.
SQL
SQL refers to Structured Query Language, a kind of language used to access, update and manipulate database.
In
SQL,
ROLLBACK
is a command that causes all data changes since the last
START TRANSACTION
or
BEGIN
to be discarded by the