A bad shard key is low-cardinality or monotonically increasing (auto-increment IDs, timestamps): all new writes funnel to one shard, creating a hot spot, while other shards sit idle.
It also breaks down if common queries don't include the key, forcing scatter-gather across every shard. Resharding hurts because moving a key's data invalidates routing for in-flight reads/writes and breaks consistent-hash assumptions; the production mitigation is to over-provision logical shards up front (e.g., 1024 virtual shards mapped onto fewer physical nodes) so rebalancing moves whole virtual shards without rehashing keys.
- Choosing a low-cardinality or monotonically increasing shard key.
- Not planning how to reshard before you need to.