5

We're looking to set up data centers globally and switch to a NoSQL database like MongoDB to support having our data distributed over these data centers (and as a pleasant side effect, introduce more redundancy, failover etc).

However, the reason for global data centers is primarily to speed response times for our users in nearby countries, rather than the failover features. The web application is designed to be used on a company scale, and few of these companies operate on a global scale. As such, as many users on one side of the world will never need to access data from those users on the other side, it would be nice if the data could be kept on the servers that are local to the majority of the users.

I had hoped that I could use the sharding features of mongodb to have the data distributed globally like this, while still allowing for access and maintenance from a single location (which would be slow, and query the international servers). Unfortunately, the only reference I can find to this type of behavior is a mention of "intelligent homing" on a MongoDB blog bost and nothing else. While it would be possible to just sync everything globally, it seems rather inefficient and unmetered bandwidth isn't an option in at least one of the countries.

Can mongodb support this kind of behavior? Any further information on how to get this kind of set up working (or why I should not get this set up working as it'll make kittens die etc) would be much appreciated.

HopelessN00b
  • 53,795
  • 33
  • 135
  • 209
tzar
  • 153
  • 3

1 Answers1

5

Some of this already in place with MongoDB, see a decent write up here:

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

In terms of read-routing, there are some implementations in the drivers, but it is not built in. The feature complete version of localized data reads is intended to be released with 2.2

If you would like to take a look at the two most closely related core server issues, you can take a look here:

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

And, of course, you can then vote on the feature to bump it up the list :)

Adam C
  • 5,222
  • 2
  • 30
  • 52
  • 1
    Thanks a lot for this information :) sorry for taking so long to respond, I don't often log in to server fault! Much appreciated. – tzar May 27 '12 at 01:15