Database 101. Back to basics: ACID
ACID in the context of database technology is the abbreviation for Atomicity, Consistency, Isolation, and Durability. These concepts date back to the 1970s, and the first software developed to implement these properties automatically is by now literally decades old. Today’s database replication technology relies heavily on some of these fundamental principles, most specifically Isolation and Durability.
Atomicity ensures that transactions either complete as a whole or don’t make any changes at all. The classic example is to transfer funds from one account to another. This transaction deducts money from one account, and adds money to another, in a single transaction. The transaction must either succeed as a whole, or the system should stay in the state prior to the transaction (so that it could be retried).
The consistency property is related to the enforcement of data rules. For example, there cannot be order_line entries without an order record. Most transaction processing databases support the definition and enforcement of business rules like these through database constraints.
Transaction isolation ensures that concurrent execution of transactions results in the same system state as if the same set of transactions were executed in sequence. This aspect is of course key to database replication because it allows the technology to identify the order in which transactions were executed, and replay them – in the same order – on a different system, to achieve an exact replica.
The durability property of databases ensures that a committed transaction is recoverable i.e. must have been stored to non-volatile storage. There are multiple ways to achieve durability, but many database vendors chose a transaction log that is sequentially written as a way to implement durability whilst maximizing transaction concurrency and performance. Obviously, the transaction log is the basis for non-intrusive, log-based replication.
ACID is fundamental to database processing, and a lot of the interactions we have on a daily basis rely on these concepts. However new technologies like Hadoop don’t necessarily observe the ACID properties which is why you couldn’t simply migrate your transactional system to technology like that. You can, however, use a (well-designed) database replication technology to feed such a system and still achieve most if not all of the ACID properties, in near real-time.
To learn more and see how HVR can help with your real-time replication requirements contact us.