ACID vs BASE
ACID and BASE are models of database design. The ACID model has four goals that stand for:
- Atomicity — If any part of a transaction isn’t executed successfully, the entire operation is rolled back.Consistency — Ensures that a database remains structurally sound with every transaction.**Isolation **— Transactions occur independently of each other and the access to data is moderated.**Durability **— All transaction results are permanently preserved in the database.
Relational databases and some NoSQL databases (those that support strong consistency) that meet these four goals are considered ACID-compliant. This means data is consistent after transactions are complete.
Other non-relational NoSQL databases, however, turn to the BASE model to achieve benefits like scale and resilience. BASE stands for:
- **Basic Availability **— Data is available most of the time, even during a failure that disrupts part of the database. Data is replicated and spread across many different storage systems.Soft-state — Replicas are not consistent all the time.Eventual consistency — Data will become consistent at some point in time, with no guarantee when.
BASE principles are less strict than ACID guarantees. BASE values availability over any other value because BASE users care most about scalability. Industries like banking that require data reliability and consistency depend on an ACID-compliant database.