BASE and ACID

BASE involves step-by-step transformation of a transactional application into one that will be far more concurrent and less rigid, it stands for “Basically Available Soft-State Services with Eventual Consistency”

  • Basically Available: Fast response even if some replicas are slow or crashed
    • BASE paper describes: In data centers, partitioning faults are very rare and are mapped to crash failures by forcing the isolated machines to reboot
  • Soft-State Service: No durable memory
    • Can’t store any permanent data
    • Restarts in a “clean” state after a crash
    • To remember data, either replicate it in memory in enough copies to never lose all in any crash, or pass it to some other service that keeps “hard state”
  • Eventual Consistency: OK to send “optimistic” answers to the external client
    • Could use cached data (without checking for staleness)
    • Could guess at what the outcome of an update will be
    • Might skip locks, hoping that no conflicts will happen
    • Later, if needed, correct any inconsistencies in an offline clean up activity

ACID is a model for correct behavior of databases with the following properties:

  • Atomicity: Even if “transactions” have multiple operations, does them to completion (commit) or rolls back so that they leave no effect (abort)
  • Consistency: A transaction that runs on a correct database leaves it in a correct (“consistent”) state.
  • Isolation: It looks as if each transaction ran all by itself. Basically says “we’ll hide any concurrency”, it runs all its operation in a sequential manner
  • Durability: Once a transaction commits, updates can’t be lost or rolled back

Related article: CAP theorem

Advertisements

About yingding wang
i am looking forward to innovation in IT and Robotics

Comments are closed.

%d bloggers like this: