Reputation: 109
I'm trying to collect some information about NoSQL databases and I'm very interested in finding the arguments as to why NoSQL doesn't need ACID transactions. There doesn't seem to be very much information about this on stackoverflow so I thought it would be worth starting a new question.
Upvotes: 0
Views: 256
Reputation: 3055
because NoSQL databases deliberately gave up ACID semantics for performance and scalability. ACID has a cost, and if you don't need it you can run faster without it.
Upvotes: 1
Reputation: 3953
I would say that your USE CASE may or may not require ACID transactions, but your technology choice either supports ACID or it doesn't. If you need super strict ACID, perhaps NOSQL is not a good approach for your use case. But then again, there are varying ACID definitions, as well as definitions for what a transaction is. So to say NOSQL doesn't need ACID really doesn't make sense, but to say it generally doesn't support ACID is true because the general use cases NOSQL was designed to support don't require it.
here's what HBase says about ACID - basically last guy wins on a row/key
http://hbase.apache.org/acid-semantics.html
ACID in a relational database refers to different transaction isolation levels etc etc.
This is a very broad question, hope this helps.
Upvotes: 1