Qué es
El sharding divide los datos de una base de datos en fragmentos (shards) más pequeños, cada uno almacenado en un servidor distinto, en lugar de guardar toda la información en un único servidor. Cada shard suele contener un subconjunto de los datos, por ejemplo, según un rango de identificadores de usuario.
Por qué es necesario a cierta escala
Cuando el volumen de datos o de operaciones supera lo que un solo servidor puede manejar, agregar más memoria o potencia a esa única máquina (escalar verticalmente) deja de ser suficiente o económicamente viable. El sharding permite seguir creciendo agregando más servidores (escalado horizontal).
Su principal desafío
Elegir bien la clave de partición —el criterio para decidir en qué shard va cada dato— es crítico: una mala elección puede sobrecargar algunos shards mientras otros quedan subutilizados, y cambiar de estrategia una vez que el sistema ya está en producción es una migración compleja.
