What do you understand by ACID properties in Database?
Atomicity, Consistency, Isolation and Durability(ACID) are a set of properties necessary for a set of instructions to be considered as a tr...
A transaction is a set of orders that are executed forming a unit of work, that is, in indivisible or atomic form. An example of a complex transaction is the transfer of funds from one account to another, which involves multiple individual transactions.
If a system passes the ACID test, it means that it is reliable.
- Atomicity: Atomicity requires that every transaction be "all or nothing": if a part of the transaction fails, all transactions of the transaction fail, and therefore the database does not undergo changes. An atomic system has to guarantee the atomicity in any operation and situation, including power failures, errors and system failures.
- Consistency: The Consistency property ensures that any transaction will take the database from a valid state to another valid state. Any data written to the database must be valid according to all defined rules, including (but not limited to) constraints, cascades, triggers, and any combination of these.
- Isolation: Isolation ensures that the concurrent execution of transactions results in a system state that would be obtained if these transactions were executed one after another. Each transaction must be executed in full isolation; For example, if T1 and T2 are executed concurrently, then each one must be kept independent of the other.
- Durability: Durability means that once a commit has been committed, it will be persistent, even in the event of loss of power, errors, and system crashes. For example, in relational databases, once a group of SQL statements is executed, the results must be stored immediately (even if the database falls immediately afterwards).