Zum Inhalt springen
uencoder

ACID vs BASE Semantics Referenz

Referenz für ACID (traditional) vs BASE (NoSQL) transaction semantics und eventual consistency.

ACID Properties

ACID guarantees strict consistency: Atomicity (all-or-nothing), Consistency (valid state transitions), Isolation (serial appearance), Durability (committed survives). ACID is provided by traditional RDBMS with locking or MVCC. It ensures correctness but limits scalability and availability during partitions. Two-phase commit extends ACID across distributed systems but is slow and blocking. ACID is essential for financial transactions and any system where inconsistency is unacceptable. The cost is reduced concurrency and horizontal scalability.

Atomicity
All-or-nothing
rollback
Isolation
Serial appearance
locking/MVCC
Durability
Survives crash
WAL, fsync

BASE Semantics

BASE offers relaxed guarantees: Basically Available (system mostly works), Soft state (state may change without input due to reconciliation), Eventual consistency (converges to consistent state given no updates). BASE enables high availability and horizontal scaling. Eventual consistency models: read-your-writes, monotonic reads, session consistency. Strong eventual consistency (CRDTs) guarantees convergence with no conflicts. The tradeoff is temporary inconsistency, acceptable for social media, counters, and caches. Choose ACID for correctness-critical, BASE for availability-critical systems.

Basically Avail
Mostly works
AP systems
Soft state
Changes without input
reconciliation
Eventual
Converges over time
CRDTs help

Verwandte Tools

参考链接