Combine reshardCollection+mongosynd idea to support a remote collection on a separate new cluster
Great for prod productivity and 99.999 SLA if mongo could support this,
for example,
Given "mydb.mycoll" in current cluster being sharded with {zip:1} shard key
1/ New cluster: sh.shardCollection( "mydb.mycoll", {name:1, phone:1} )
2/ "Mongocopy" till mydb.mycoll in new and current cluster are synced.
Very much like how reshardCollection works now, but to a remote
mydb.mycoll on the new cluster, instead of the local coll
system.resharding.554c8995-2ec9-4bda-9401-a3ad475b9c8c
This is a combination of mongosync and reshardCollection in one.
Prod cluster is often very big and busy and requires no downtime with the
99.999 SLA (Service level agreement). Being able to reshardCollection
to another new cluster makes the resharding process extremely easy and
reliable b/c the new cluster can just be thrown away if something goes
wrong in the resharding. It's very much like fire and forget.
Thank you very much
Tung Nguyen
DNAnexus Inc