MongoDB sharding splits large datasets across multiple servers (shards) to enable horizontal scaling beyond a single machine's limits. A sharded cluster has three components: shards (data storage, each a replica set), config servers (metadata about data distribution), and mongos routers (query routing layer). Choosing a shard key is critical — it must distribute data evenly, avoid hotspots, and align with query patterns. Sharding is recommended for datasets in the hundreds of GBs or TBs, high write throughput scenarios, or rapidly growing applications. For smaller workloads, replication and indexing are usually sufficient. Sharding and replication are complementary: sharding distributes data for scalability, while replication duplicates data for high availability.