MongoDB:几个问题

时间:2012-02-06 11:22:36

标签: sql ruby-on-rails mongodb rdbms nosql

  1. 我经常听说mongodb可以在一个集合级别执行原子性。 你知道为什么以及如何与分片相关联吗?
  2. 复制和复制集之间的唯一区别是两者都是主/从(主/辅),但复制集有 选举如果主人失败了吧?
  3. 在ACID中,mongodb2支持/不支持?
  4. 使用safe = true可以保证mongodb的耐久性吗?
  5. 谢谢!

1 个答案:

答案 0 :(得分:1)

  1. MongoDB目前可以在“更新单个文档”级别提供原子性,就是这样。这与分片完全无关。

  2. 或多或少。副本集更新,你现在基本上应该总是使用它们。主/从复制现在只是为了向后兼容。很可能只有副本集才能获得新功能。

  3. 提供原子性以更新单个文档(请参阅#1)。根本没有提供一致性和隔离 - 您的应用程序必须这样做。通过要求在驱动程序报告成功之前将写入操作持久化到多个节点,可以(以某种方式)提供持久性(参见#4)。

  4. 通过使用W> 0的值来调整写入关注度可以提供耐久性。 1,和/或(虽然这很慢)使用fsync。请参阅WriteConcern documentationconnection string文档。