manum
manum

Reputation: 308

Running MongoDB on heterogeneous cluster

We're currently trying to find a solution, where we can host tens of millions of images of various sizes on our website. We're evaluating Riak and MongoDB. Currently Riak looks very nice, but all the servers in the cluster should be homogeneous, because Riak treats each node equally.

It is a bit hard to find information about MongoDB regarding to this, except the fact, that you can set a priority on the nodes. My questions are:

  1. What is the consequence of creating a MongoDB cluster composed of machines with wildly varying specifications (cpu, diskspace, disk speed, amount and speed of memory, network speed)?

  2. Can the MongoDB cluster detect and compensate for such differences automatically?

I'm also open for ideas for other solutions, where heterogeneous cluster would work nicely.

Upvotes: 1

Views: 536

Answers (1)

Sammaye
Sammaye

Reputation: 43884

What is the consequence of creating a MongoDB cluster composed of machines with wildly varying specifications (cpu, diskspace, disk speed, amount and speed of memory, network speed)?

Each shard in MongoDB is its own mongod, an isolated MongoDB in itself.

It isn't tied by the performance of others, so say you have a shard that requires more power, you can just upgrade its hardware and job is done. MongoDB likes environments like this and actively promotes them.

Can the MongoDB cluster detect and compensate for such differences automatically?

It doesn't need to detect but it will automatically compensate, naturally without any work within the mongos or configsrv

In fact you will find you can even run different MongoDB versions.

Upvotes: 2

Related Questions