Last Updated on Feb 26, 2021

Isolation is one of the four safety guarantees (ACID) that databases provide to avoid specific error scenarios and concurrency issues.

Isolation ensures that concurrently executing transactions are isolated from each other. Each transaction is run as if it is the only transaction running on the entire database.

Isolation is a guarantee against partial reads. It guarantees that transactions don't accidentally interfere with each other. If databases did not provide this guarantee, transactions would erroneously read uncommitted data changes in progress within other transactions, leading to incorrect decisions and data corruption.

Isolation in its fully implemented form would be serializability, which means that each transaction can pretend that it is the only transaction running on the entire database. The database ensures that the result is the same as if transactions had run serially, even though they may have run concurrently in reality, when the transactions have been committed.

Most databases do not fully conform with this notion of serializability because it carries a performance penalty. They support various levels of weaker guarantees than serializability, like, most notably, read committed and snapshot isolation.

© 2022 Ambitious Systems. All Rights Reserved.