Sharding una oportunidad para la escalabilidad distribuida
Ventajas e inconvenientes de la fragmentación
Contenidos
Para obtener más información sobre los fundamentos de la fragmentación, haga clic aquí. Del mismo modo, al distribuir los datos entre varias máquinas, una base de datos fragmentada puede gestionar más solicitudes que una sola máquina. La fragmentación es una forma de escalado conocida como escalado horizontal o scale-out, ya que se incorporan nodos adicionales para compartir la carga. El escalado horizontal permite una escalabilidad casi ilimitada para gestionar grandes volúmenes de datos y cargas de trabajo intensas. Por el contrario, el escalado vertical consiste en aumentar la potencia de una sola máquina o servidor mediante una CPU más potente, más RAM o más capacidad de almacenamiento. La fragmentación de bases de datos, como ocurre con cualquier arquitectura distribuida, no es gratuita. La configuración de los fragmentos, el mantenimiento de los datos en cada uno de ellos y el correcto enrutamiento de las peticiones a través de los mismos conllevan una sobrecarga y una complejidad. Antes de empezar con la fragmentación, considere si alguna de las siguientes soluciones alternativas le puede servir.Escalado verticalSimplemente actualizando su máquina, puede escalar verticalmente sin la complejidad de la fragmentación. Añadir RAM, actualizar su ordenador (CPU) o aumentar el almacenamiento disponible para su base de datos son soluciones sencillas que no requieren que cambie el diseño de la arquitectura de su base de datos ni de su aplicación.
¿Cómo ayuda la fragmentación a la escalabilidad?
¿Qué es la fragmentación de bases de datos? La fragmentación es un método para distribuir un único conjunto de datos en varias bases de datos, que pueden almacenarse en varias máquinas. Esto permite dividir grandes conjuntos de datos en trozos más pequeños y almacenarlos en varios nodos de datos, lo que aumenta la capacidad total de almacenamiento del sistema.
¿Cuál es la ventaja de la fragmentación?
Ventajas de la fragmentación :
El principal atractivo de fragmentar una base de datos es que puede ayudar a facilitar el escalado horizontal, también conocido como scaling out. Las bases de datos más pequeñas son más fáciles de gestionar. Las bases de datos de producción deben gestionarse por completo para realizar copias de seguridad periódicas, optimizar la base de datos y otras tareas comunes.
¿Cómo ayudan la fragmentación y la partición a crear una base de datos escalable?
La fragmentación es un concepto común en las arquitecturas de bases de datos escalables. Al fragmentar una tabla más grande, puede almacenar los nuevos fragmentos de datos, llamados fragmentos lógicos, en varios nodos para lograr una escalabilidad horizontal y un rendimiento mejorado.
Significado de sharding crypto
Antes de desplegar el clúster fragmentado, determine el tamaño de la caché de base de datos que se asignará a cada nodo de datos. También es útil conocer el tamaño previsto del volumen de datos necesario para la base de datos global predeterminada en cada nodo de datos, de modo que pueda asegurarse de que hay suficiente espacio libre para el crecimiento previsto.Cuando despliega un clúster fragmentado utilizando un método de despliegue automatizado, puede especificar estos parámetros como parte del despliegue. Si realiza el despliegue manualmente mediante la API de fragmentación o el portal de gestión, puede especificar el tamaño de la caché de base de datos de cada instancia antes de configurar el clúster fragmentado y especificar la configuración de la base de datos en sus llamadas. Tenga en cuenta que los tamaños que se indican a continuación son orientativos, no requisitos, y que es probable que sus estimaciones para estas cifras se ajusten en la práctica.
Todos los métodos de despliegue configuran los tamaños de estas bases de datos por defecto, por lo que no es necesario que lo hagas tú. Sin embargo, debes asegurarte de que el almacenamiento en el que se encuentran estas bases de datos puede acomodar sus tamaños objetivo.
En la entrada anterior de la serie de entradas de blog de 18c, vimos la característica Oracle RAC Sharding que permite fragmentar virtualmente los datos entre instancias de una base de datos Oracle RAC. En esta entrada, hablaré de las mejoras en las consultas Multi-shard – en Oracle Sharding 18c.
En Oracle Sharding 12.2, las consultas multi-shard (vía proxy routing) soportaban el método system-managed sharding. En Oracle Sharding 18c, las consultas multi-shard han sido mejoradas para soportar también los métodos de fragmentación compuesta y definida por el usuario.
Esta es la lista de sesiones imprescindibles sobre Oracle Sharding en el Oracle OpenWorld 2018. Actualice sus calendarios en consecuencia. Gran oportunidad de reunirse con el equipo de desarrollo 1:1 para aprender más sobre esta tecnología en el stand de demostración.
¿Necesita disponibilidad global y escalabilidad? Entonces la próxima generación de Oracle Database sharding es para ti. En esta sesión aprenderá a diseñar sistemas de procesamiento de transacciones georreplicados para una escalabilidad lineal con aislamiento total de fallos. Tanto si desea utilizar hardware básico de uso compartido como si desea abarcar centros de datos de todo el mundo, las últimas mejoras de las capacidades existentes de mantenimiento planificado, alta disponibilidad, recuperación ante desastres y autorreparación permiten la mejor disponibilidad de su clase para bases de datos Oracle de cualquier tamaño y en cualquier plataforma.
Fragmentación frente a partición
A medida que las cadenas de bloques se despliegan en un número creciente de programas piloto para todo, desde las transacciones financieras transfronterizas a la gestión de la cadena de suministro, persiste un problema: la falta de escalabilidad. A medida que más ordenadores se unen a la red de igual a igual, la eficiencia de todo el sistema suele degradarse. Para que las empresas de tecnología financiera (FinTech) adopten un libro mayor distribuido y compitan con redes de pago cientos de veces más rápidas, debe encontrar una forma de aumentar la escalabilidad y el rendimiento y resolver los problemas de latencia.
La fragmentación es uno de los métodos más utilizados por los desarrolladores para aumentar el rendimiento de las transacciones. En pocas palabras, la fragmentación es una forma de repartir la carga de trabajo computacional y de almacenamiento en una red P2P (peer-to-peer), de modo que cada nodo no es responsable de procesar toda la carga transaccional de la red. La información contenida en un fragmento puede seguir siendo compartida entre otros nodos, lo que mantiene el libro mayor descentralizado y seguro, ya que todos pueden seguir viendo todas las entradas del libro mayor; simplemente no procesan ni almacenan toda la información.