Saltar al contenido principal

Sharding

BehavioralPerformanceCloud distributedMenos de 1 minuto

Propósito

El patrón sharding significa dividir el almacén de datos en particiones horizontales o shards. Cada fragmento tiene el mismo esquema, pero contiene su propio subconjunto de datos.
Un fragmento es un almacén de datos en sí mismo (puede contener los datos de muchas entidades de diferentes tipos), que se ejecuta en un servidor que actúa como nodo de almacenamiento.

Diagrama de clases

alt text
Sharding pattern class diagram

Aplicabilidad

Este patrón ofrece las siguientes ventajas:

  • Se puede ampliar el sistema añadiendo más fragmentos que se ejecuten en nodos de almacenamiento adicionales.
  • El sistema puede utilizar hardware comercial en lugar de ordenadores especializados (y caros) para cada nodo de almacenamiento.
  • Se puede reducir la contención y mejorar el rendimiento equilibrando la carga de trabajo entre los shards.
  • En la nube, los shards pueden ubicarse físicamente cerca de los usuarios que accederán a los datos.

Créditos