In order to properly understand a MongoDB sharded cluster, you need to know something about its key components: shards, mongos, and the config server. Here is a brief summary of the key components:
- Shards: A shard is literally a fragment of a database collection. Shards are used when the amount of data in a single collection is extremely large. Accordingly, the best practice is for each shard to reside on a replica set (see Chapter 13, Deploying a Replica Set). A sharded cluster is a term used to represent the group of servers or replica sets that, as a whole, represent the fragmented collection.
- mongos: A mongos instance routes database queries to the appropriate shard. It is started much like a mongod (the MongoDB server daemon) instance, with many of the same startup options. Also, much like mongod, you can open a shell on a mongos instance in order to monitor and manage a sharded cluster. Program application queries must be directed to a mongos instance...