关于为什么NoSQL数据库不需要ACID有什么争论?

时间:2014-12-05 01:49:31

标签: database nosql

我试图收集有关NoSQL数据库的一些信息,并且我非常有兴趣找到关于NoSQL为什么不需要ACID事务的论据。在stackoverflow上似乎没有关于这个的非常多的信息所以我认为值得开始一个新的问题。

2 个答案:

答案 0 :(得分:1)

我会说你的USE CASE可能需要也可能不需要ACID交易,但你的技术选择要么支持ACID,要么不支持。如果你需要超级严格的ACID,或许NOSQL对你的用例来说不是一个好方法。但话说回来,有不同的ACID定义,以及交易的定义。所以说NOSQL不需要ACID真的没有意义,但是说它一般不支持ACID是真的,因为NOSQL的一般用例是为了支持而不需要它。

这就是HBase对ACID所说的话 - 基本上最后一个人在一排/关键时获胜

http://hbase.apache.org/acid-semantics.html

关系数据库中的ACID指的是不同的事务隔离级别等等。

这是一个非常广泛的问题,希望这会有所帮助。

答案 1 :(得分:1)

因为NoSQL数据库故意放弃ACID语义以获得性能和可伸缩性。 ACID有成本,如果你不需要它,你可以在没有它的情况下跑得更快。