在国际上对MongoDB进行分区,并根据位置存储数据

我们希望在全球build立数据中心,并切换到像MongoDB这样的NoSQL数据库,以支持将数据分布到这些数据中心(并且作为一个令人愉快的副作用,引入更多冗余,故障转移等)。

但是,全球数据中心的原因主要是为了加快附近国家用户的响应速度,而不是故障转移function。 networking应用程序被devise为在公司范围内使用,并且这些公司中很less有公司在全球范围内运行。 因此,世界各地的许多用户将永远不需要访问来自另一方的用户的数据,如果数据可以保存在大多数用户本地的服务器上,那将是很好的。

我曾经希望能够使用mongodb的分片特性来将数据分发到全局,同时仍然允许从单个位置进行访问和维护(这将很慢,并且查询国际服务器)。 不幸的是,我能find的这种行为的唯一参考是在MongoDB博客bost上提及“智能归巢”,而不是别的。 尽pipe全球范围内的所有事情都可以同步,但似乎相当低效,至less在其中一个国家,带宽不受限制。

mongodb可以支持这种行为吗? 任何进一步的信息,如何让这种设置工作(或为什么我不能让这个设置工作,因为它会使小猫死等)将不胜感激。

MongoDB中已经有了一些这样的东西,看到一个像样的写在这里:

http://www.mongodb.org/display/DOCS/Data+Center+Awareness

在读取路由方面,驱动程序中有一些实现,但没有内置。本地化数据读取的function完整版本打算在2.2版本中发布

如果你想看看两个最密切相关的核心服务器问题,你可以看看这里:

https://jira.mongodb.org/browse/SERVER-3062 https://jira.mongodb.org/browse/SERVER-3358

而且,当然,你可以对该function进行投票,将其列入列表:)