ACID
On September 3, 2018 in notes • 1 minutes readACID is a set of properties that you would like to apply when modifying a database.
- Atomicity
- Consistency
- Isolation
- Durability
A transaction is a set of related changes which is used to achieve some of the ACID properties. Transactions are tools to achieve the ACID properties.
-
Atomicity means that you can guarantee that all of a transaction happens, or none of it does; you can do complex operations as one single unit, all or nothing, and a crash, power failure, error, or anything else won’t allow you to be in a state in which only some of the related changes have happened.
-
Consistency means that you guarantee that your data will be consistent; none of the constraints you have on related data will ever be violated.
-
Isolation means that one transaction cannot read data from another transaction that is not yet completed. If two transactions are executing concurrently, each one will see the world as if they were executing sequentially, and if one needs to read data that is written by another, it will have to wait until the other is finished.
-
Durability means that once a transaction is complete, it is guaranteed that all of the changes have been recorded to a durable medium (such as a hard disk), and the fact that the transaction has been completed is likewise recorded.
Transactions are a mechanism for guaranteeing these properties; they are a way of grouping related actions together such that as a whole, a group of operations can be atomic, produce consistent results, be isolated from other operations, and be durably recorded.
Related
Other Pages in the Notes Category
- December 26, 2021: On Aging
- December 18, 2021: Xbox Game Pass Space Hog
- July 06, 2021: No-nos
- July 06, 2021: Coaches' rules for life
- April 22, 2021: Barrels and Ammunitions
- April 10, 2021: Cocktail Class
- September 04, 2019: High Standards
- August 26, 2019: Business Strategy
- July 16, 2019: Organisational Culture
- June 22, 2019: Threat Modeling
- June 22, 2019: Test Driven Development
- June 22, 2019: Object Oriented Programming
- June 22, 2019: Load Balancing
- June 22, 2019: Introduction
- June 22, 2019: Highly Effective Managers
- June 22, 2019: Design Patterns
- June 10, 2019: Organisational Design
- January 06, 2019: Performance Management
- January 06, 2019: Decision Making
- January 06, 2019: Conflict Management
- October 11, 2018: Psychological Safety
- October 10, 2018: Radical Candor
- October 10, 2018: Objectives and Key Results
- September 16, 2018: Fluency
- September 15, 2018: Tactical and Strategic
- September 14, 2018: Precise Estimates
- September 14, 2018: Coaching
- September 13, 2018: Turkish
- September 11, 2018: Mindmapping STAR
- September 10, 2018: Design Thinking
- September 08, 2018: Undone Work
- September 04, 2018: Product Market Fit
- September 04, 2018: Idea to Launch
- September 04, 2018: Virtues
- September 03, 2018: System Design
- September 03, 2018: SOLID
- September 03, 2018: CAP