MongoDB:几个问题

Posted

技术标签:

【中文标题】MongoDB:几个问题【英文标题】:MongoDB : few questions 【发布时间】:2012-02-06 11:22:35 【问题描述】:
    我经常听说mongodb可以在一个集合级别执行原子性。 您知道为什么以及如何将其与分片相关联吗? 复制和副本集之间的唯一区别是两者都是主/从(主/从),但副本集具有 如果 master 宕机了就选举,对吧? 在 ACID 中,mongodb2 支持/不支持哪些? mongodb 中的持久性可以通过 safe=true 来保证吗?

谢谢!

【问题讨论】:

【参考方案1】:

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

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

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

    通过使用 W > 1 的值和/或(尽管这很慢)使用 fsync 调整写入关注点,可以提供持久性。请参阅WriteConcern documentation 或connection string 文档。

【讨论】:

以上是关于MongoDB:几个问题的主要内容,如果未能解决你的问题,请参考以下文章

win32下安装mongodb的问题

求助mongodb 有索引后查询卡死问题

c#操作mongodb部分更新实体字段问题,求助高手

安装mongodb后服务启动不了请问怎么解决

常见问题:MongoDB基础知识

MongoDB命令汇总