Datapedia
Bases de Datos

Sharding

Técnica que divide una base de datos en partes más pequeñas (shards), distribuidas entre distintos servidores, para escalar su capacidad total.

EscalabilidadArquitectura de datos

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.