Mongodb 如何查询最近的碎片/副本集

Mongodb 如何查询最近的碎片/副本集,mongodb,nosql,Mongodb,Nosql,我们正在研究并评估MongoDB作为我们的查询数据库。我们有几个分支机构的互联网连接非常差(256-768 mbs DSL),无法升级(没有ISP选项的偏远农村地区)。我们的想法是,我们可以在每个分支办公室放一个运行MongoDB的盒子,并使用某种集群,这样读取速度会非常快,因为它们是通过LAN访问的 我不需要故障转移或高可用性 如何设置MongoDB以便分支办公室中的计算机与分支办公室中的MongoDB实例通信?注意:这将是只读的 如果MongoDB无法支持此工作流,那么我愿意接受关于支持此工

我们正在研究并评估MongoDB作为我们的查询数据库。我们有几个分支机构的互联网连接非常差(256-768 mbs DSL),无法升级(没有ISP选项的偏远农村地区)。我们的想法是,我们可以在每个分支办公室放一个运行MongoDB的盒子,并使用某种集群,这样读取速度会非常快,因为它们是通过LAN访问的

我不需要故障转移或高可用性

如何设置MongoDB以便分支办公室中的计算机与分支办公室中的MongoDB实例通信?注意:这将是只读的

如果MongoDB无法支持此工作流,那么我愿意接受关于支持此工作流的其他基于文档的数据库的建议。

就是为此而构建的:偶尔连接文档数据库

你们可以将一个数据库复制到你们的笔记本电脑上,把它带到飞机上,在那个里修改它,当你们再次联网时,你们就可以将它和主数据库同步。远程办公室也是如此


我强烈建议您查看。

您可以为每个地理位置的MongoDB副本集添加一个辅助副本。然后,您可以通过指定mongo实例的主机名直接连接到每个辅助服务器,该实例位于您连接的本地位置,然后发出slaveOk()命令以允许查询它。复制将使辅助设备尽可能与主设备保持同步。
但是,写入/更新仍需要由副本集的主副本处理。

谢谢您的建议。我们也研究了CouchDB,但是MongoDB的就地更新技术比CouchDB的MVCC技术更适合我们的用例。由于其他遗留应用程序的原因,我们的命令(写入)数据库仍然依赖于传统的RDBMS,因此偶尔连接对我们来说不是一个选项。感谢您的澄清。我已经阅读了文档,但无法确定最佳配置是什么。