This document summarizes MongoDB sharding, which allows scaling horizontally for data size, index size, write load, and consistent read load. It distributes databases, collections, or individual objects across shards in a cluster. Sharding can be configured to partition data by range, user ID, photo ID, or other fields. Operations like insert, update, query, and sorting of data are routed to shards based on the shard key. The architecture involves mongos routers, config servers, and shards made up of replica sets for redundancy. Sharding can be enabled on an existing database and collections can be sharded while the system remains online.