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.