Database Administrators Stack Exchange is a question and answer site for database professionals who wish to improve their database skills and learn from others in the community. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

From my understanding, the consistency in ACID is ensuring the data integrity.

However, the consistency in CAP means the data can appear quickly in distributed system.

Does that mean: they are not the same concept?

share|improve this question
up vote 6 down vote accepted

They are not really the same, because of the scope of the data



  • Consistency (All Nodes Have Same Data via Eventual Consistency)
  • Availability
  • Partition-Tolerance : system continues to operate despite arbitrary message loss or failure of part of the system


  • ACID addresses an individual node's data consistency
  • CAP addresses cluster-wide data consistency
share|improve this answer
Eventual. Eventual should have been in bold, Rolando. It's the deal-breaker :) Happy New Year! – Phil Jan 1 '13 at 4:30

CAP theorem: specifies that a distributed system can provide two services (ex. Availability and Partition tolerance) but never three. If for example, a service provides Availability and Partitioning it can never ensure Consistency, not immediately, thus Eventual Consistency is used, which allows the infrastructure to flux between inconsistency and consistency, however at one point, sooner or later, the infrastructure will become consistent, resulting in eventual consistency. Cloud services work in such fashion and Amazon's Simple DB uses eventual consistency.

ACID features are usually applied to relational DBs. If you want to apply ACID in a distributed fashion (distributed DB), ACID uses 2PC(two-phase commit) to force consistency across partitions. However since ACID provides consistency and partitioning, applying the CAP theorem for (distributed environments) this will mean that availability is compromised.

Because of this, BASE (Basically available, soft state, eventually consistent) is used which can provide levels of scalability that cannot be obtained with ACID.

Hope this helps.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.