Aún no tienes acceso a esta clase

Crea una cuenta y continúa viendo este curso

Curso Práctico de SQL

Curso Práctico de SQL

Israel Vázquez Morales

Israel Vázquez Morales

Sharding

26/29
Recursos

Aportes 10

Preguntas 1

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesión.

Sharding

Es un tipo de partición horizontal para nuestras bases de datos. Divide las tuplas de nuestras tablas en diferentes ubicaciones de acuerdo a ciertos criterios de modo que para hacer consultas, las tendremos que dirigir al shard o parte que corresponda.

Cuándo usar

Cuando tenemos grandes volúmenes de información estática que representa un problema para obtener solo unas cuantas tuplas en consultas frecuentes.

Inconvenientes

  • Cuando debamos hacer joins frecuentemente entre shards
  • Baja elasticidad. Los shards crecen de forma irregular unos más que otros y vuelve a ser necesario usar sharding (subsharding)
  • La llave primaria pierde utilidad

Interesante la solución del Sharding, investigando un poco más estuve leyendo el uso que le han intentado dar a través de las criptomonedas para bajar el uso del cómputo y que equipos que no sean tan potentes puedan realizar transacciones en criptomonedas, acá el Sharding se presenta como una solución, aunque tiene sus desventajas ya que hay problemas asociados a seguridad que se presentarían en caso de ser aplicado.

Por otro lado es interesante porque Libra de Facebook se planteaba usar el Sharding también desde un inicio.

Sharping= Reparte la pizza entre tus amigos hambrientos

Los Sharding son importantes cuando estamos trabajando con un gran volumen de datos, recorrer consultar frecuentes se hace costoso y muy lento cuando debemos de recorrer cientos de GB o incluso TB, las particiones aquí formar un rol importante. Les comparto un ejemplo en BigQuey que describí sobre este proceso y por que es importante.

https://github.com/sergio2526/BigQuery-fundamentals/blob/master/Modulo1/Tabla _particiones_de_fecha.md

Se me antojo la pizza, excelente analogía!

Sharding
Es una técnica para distribuir las bases de datos de manera horizontal. La palabra viene de shard, que es el pedazo que queda de una ventana rota.

  • Son especialmente buenos para los datos estáticos
  • Una analogía válida para es una pizza (la base de datos) que una sola persona (el servidor) no se puede comer, entonces se parte en porciones que distintas personas (otros servidores) pueden comer.

Desventajas

  • Joins entre shards: no es recomendable para los casos de uso en donde precisaremos información de distintos shards regularmente
  • Baja elasticidad: porque se establece la estructura de antemano y los datos pueden cambiar (por ejemplo si el shard está hecho por fecha y en cierta época hay un pico de tráfico)
  • Reemplaza PK y sus ventajas: si precisamos un mismo rango de valores cuyos datos están en distintos shards
XXV. SHARDING

• Técnica que se utiliza para partir la base de datos
• Es como si la base de datos es una pizza muy grande (Datos/Queris) que en general no te puedes acabar solo (servidor), entonces llamas a otros amigos (otros servidores) para que se coman la pizza. Se divide la pizza (tabla) por algunos criterios que te convienen a ti.
• Problemas del Sharding:
	○ Joins entre shards
	○ Baja elasticidad

Reemplaza PK

Cuando traemos consultas de todos lados, aunque sea de poquito por poquito, pierde fluidez la consulta.