Can we have a Mongodb deployment in two data centers in which the data set is divided into two shards A and B.
Data Center 1 | Data Center 2
Shard A, Shard B | Shard A, Shard B
So some clients connect to Data Center 1 and write to the primary of Shard A and some other clients connect to Data Center 2 and write to the primary of Shard A there. Then some process does the reconciliation between Shards in two data centers. The advantage of this setup is that clients can do a write to the data center that is closest to them and they can still read the latest data which is combined from Data Center 1 and 2.