sql - MongoDB : few questions

标签 sql ruby-on-rails mongodb rdbms nosql

  1. 我经常听说 mongodb 可以在一个集合级别执行原子性。 您知道为什么以及如何将其与分片联系起来吗?
  2. replication 和 replicasets 之间的唯一区别是两者都是主/从(主要/次要),但 replicasets 具有 如果 master 挂了就选举,对吗?
  3. 在 ACID 中,mongodb2 支持/不支持哪些?
  4. 能否通过 safe=true 保证 mongodb 的持久性?

谢谢!

最佳答案

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

  2. 或多或少。副本集较新,您现在基本上应该一直使用它们。如今,主/从复制只是为了向后兼容。 future 很可能只有副本集会获得新功能。

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

  4. 可以通过调整 Write Concern 来提供持久性,方法是使用 W > 1 的值,和/或(尽管这很慢)使用 fsync。查看WriteConcern documentationconnection string文档。

关于sql - MongoDB : few questions,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9159356/

相关文章:

sql - 如果没有销售,则为零

mysql - mysql查询后端排序结果

ruby-on-rails - Rspec Controller 分配没有按预期工作

python - 如何从 pymongo 运行原始 mongodb 命令

javascript - 如何使用 node-mongodb-native 连接到 Modulus.io?

sql - 从另一个系统获取数据时选择 id 的最佳实践

php - MySQL:在不破坏外键约束的情况下消除重复行

ruby-on-rails - 如何在 Ruby on Rails 中注册服务 worker ?

ruby-on-rails - 回形针+ ActionMailer-添加附件?

java - 如何使用JAVA一次更新mongo db的单个文档中的多个字段(数组字段和普通字段)?