Que significa shard

¿Qué es un fragmento en la base de datos?
Escalar verticalmente añadiendo más capacidad de disco, potencia de procesamiento, memoria y conexiones de red puede aplazar los efectos de algunas de estas limitaciones, pero es probable que sólo sea una solución temporal. Una aplicación comercial en la nube capaz de soportar un gran número de usuarios y altos volúmenes de datos debe ser capaz de escalar casi indefinidamente, por lo que el escalado vertical no es necesariamente la mejor solución.
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.
Al dividir un almacén de datos en fragmentos, hay que decidir qué datos deben colocarse en cada fragmento. Un fragmento suele contener elementos que se encuentran dentro de un rango específico determinado por uno o más atributos de los datos. Estos atributos forman la clave del fragmento (a veces denominada clave de partición). La clave del lote debe ser estática. No debe basarse en datos que puedan cambiar.
Significado de la esquirla en el argot
La fragmentación de bases de datos es el proceso de almacenar una gran base de datos en varias máquinas. Una sola máquina, o servidor de bases de datos, sólo puede almacenar y procesar una cantidad limitada de datos. La fragmentación de bases de datos supera esta limitación dividiendo los datos en trozos más pequeños, llamados shards, y almacenándolos en varios servidores de bases de datos. Todos los servidores de bases de datos suelen tener las mismas tecnologías subyacentes y trabajan juntos para almacenar y procesar grandes volúmenes de datos.
A medida que una aplicación crece, el número de usuarios de la aplicación y la cantidad de datos que almacena aumentan con el tiempo. La base de datos se convierte en un cuello de botella si el volumen de datos es demasiado grande y demasiados usuarios intentan utilizar la aplicación para leer o guardar información simultáneamente. La aplicación se ralentiza y afecta a la experiencia del cliente. La fragmentación de la base de datos es uno de los métodos para resolver este problema, ya que permite el procesamiento paralelo de conjuntos de datos más pequeños a través de los fragmentos.
La recuperación de datos tarda más en una única base de datos grande. El sistema de gestión de bases de datos tiene que buscar en muchas filas para recuperar los datos correctos. En cambio, los fragmentos de datos tienen menos filas que la base de datos completa. Por lo tanto, se necesita menos tiempo para recuperar información específica, o ejecutar una consulta, de una base de datos fragmentada.
Fragmentos en elasticsearch
Sharding es un concepto muy importante que ayuda al sistema a mantener los datos en diferentes recursos según el proceso de sharding. La palabra "Shard" significa "una pequeña parte de un todo". Por lo tanto, Sharding significa dividir una parte más grande en partes más pequeñas. En los SGBD, el sharding es un tipo de partición de bases de datos en el que una gran base de datos se divide o particiona en datos más pequeños y en diferentes nodos. Estos fragmentos no sólo son más pequeños, sino también más rápidos y, por tanto, más fáciles de gestionar. Necesidad de la fragmentación: Consideremos una base de datos muy grande cuyo sharding no se ha realizado. Por ejemplo, tomemos una base de datos de un colegio en la que todos los registros de los estudiantes (presentes y pasados) de todo el colegio se mantienen en una única base de datos. Por lo tanto, contaría con un número muy grande de datos, digamos 100.000 registros. Ahora, cuando necesitamos encontrar un estudiante en esta base de datos, cada vez hay que realizar alrededor de 100.000 transacciones para encontrar al estudiante, lo cual es muy costoso. Ahora consideremos los mismos registros de estudiantes universitarios, divididos en fragmentos de datos más pequeños basados en años. Ahora cada fragmento de datos tendrá alrededor de 1000-5000 registros de estudiantes solamente. Así que no sólo la base de datos se convirtió en mucho más manejable, sino también el costo de la transacción de cada vez también se reduce por un factor enorme, que se logra por Sharding. Por lo tanto, esta es la razón por la que se necesita Sharding. Características de Sharding: Mis Notas Personales
Pronunciación de Shards
Este artículo necesita citas adicionales para su verificación. Por favor, ayude a mejorar este artículo añadiendo citas de fuentes fiables. El material sin fuente puede ser cuestionado y eliminado.Buscar fuentes: "Shard" arquitectura de bases de datos - noticias - periódicos - libros - scholar - JSTOR (marzo 2021) (Aprende cómo y cuándo eliminar este mensaje de la plantilla)
El particionamiento horizontal es un principio de diseño de bases de datos por el que las filas de una tabla de base de datos se mantienen por separado, en lugar de dividirse en columnas (que es lo que hacen la normalización y el particionamiento vertical, en diferentes grados). Cada partición forma parte de un fragmento (shard), que a su vez puede estar ubicado en un servidor de base de datos o en una ubicación física distinta.
El enfoque de partición horizontal tiene numerosas ventajas. Dado que las tablas se dividen y distribuyen en varios servidores, se reduce el número total de filas de cada tabla en cada base de datos. Esto reduce el tamaño del índice, lo que generalmente mejora el rendimiento de las búsquedas. Un fragmento de base de datos puede colocarse en un hardware distinto, y varios fragmentos pueden colocarse en varias máquinas. Esto permite distribuir la base de datos en un gran número de máquinas, lo que mejora enormemente el rendimiento. Además, si el fragmento de la base de datos se basa en alguna segmentación de los datos en el mundo real (por ejemplo, clientes europeos frente a clientes estadounidenses), puede ser posible inferir la pertenencia al fragmento apropiado de forma fácil y automática, y consultar sólo el fragmento relevante[2].