MongoDB可以丢失数据而CouchDB不能吗?

sab*_*abi 2 database security couchdb mongodb nosql

我正在阅读一篇关于MongoDB和CouchDB的文章,看到MongoDB可能会丢失数据,但CouchDB在某种程度上是稳定的,不可能丢失任何数据.

Redis和mongodb用户可能会有点惊讶地发现,默认情况下,如果进程崩溃或关闭,他们可能会丢失数据.

http://java.dzone.com/articles/should-i-use-mongodb-couchdb

有一种方法可以解决MongoDB中的这个问题,但我是否正确使用它:CouchDB更耐用,更稳定,没有任何配置?因此,如果CouchDB崩溃或者说在CouchDB系统的更新过程中炸弹会爆炸=>从来没有数据存储?

我只是想知道为什么.是因为CouchDB是用Erlang编写的吗?或者是因为CouchDB正在使用MVCC?有任何想法吗?谢谢

Sam*_*aye 7

有一种方法可以解决MongoDB中的这个问题,但我是否正确使用它:CouchDB更耐用,更稳定,没有任何配置?因此,如果CouchDB崩溃或者说在CouchDB系统的更新过程中炸弹会爆炸=>从来没有数据存储?

我不确定CouchDBs细节,但是一个快速谷歌搜索显示,在默认情况下CouchDB的其实是最终一致(http://guide.couchdb.org/draft/consistency.html,http://en.wikipedia.org/wiki/Eventual_consistency)其中MongoDB被描述为具有强一致性.非ACID技术(包括MongoDB)没有大多数属性可以确保数据的完全持久性,即直接写入磁盘和立即复制.

但是你必须记住,MongoDB可能会丢失数据,因为它不会直接写入磁盘(这使得像MySQL这样的技术变得"慢"),尽管技术上SQL技术也会因磁盘写入的执行而丢失数据;你可以"T写入到未通电磁盘),但窗口就像是60ms以上完全失效的情况下,对于一些潜在的损失,如果你发送命令到多个节点是60ms的窗口发生的历史的机会,在同数据中心变得相当遥远,所以MongoDB不喜欢写信/dev/null.

那么CouchDB永远不会丢失数据?不,它可以.

基本上你说的链接似乎有点偏向于我,它没有考虑到什么最终一致性实际上是,也许它是由这部影片的同一个人帐户:http://www.youtube.com/watch?v = B2F-DItXtZs

编辑

如果你想测试它,我可以为你炸毁你的服务器.