Pasar al contenido principal
Monoforms Web Development
CAPTCHA
12 + 6 =
Resuelva este simple problema matemático y escriba la solución; por ejemplo: Para 1+3, escriba 4.
Esta pregunta es para comprobar si usted es un visitante humano y prevenir envíos de spam automatizado.

Main navigation

  • Home
  • Sobre mi
  • Contacto
CAPTCHA
1 + 2 =
Resuelva este simple problema matemático y escriba la solución; por ejemplo: Para 1+3, escriba 4.
Esta pregunta es para comprobar si usted es un visitante humano y prevenir envíos de spam automatizado.

Sobrescribir enlaces de ayuda a la navegación

  1. Home
  2. Tipos de Replicación En MySQL

Tipos de replicación en MySQL

By peter, 26 Diciembre, 2017
La replicación garantiza que la información se copia y se rellena intencionalmente en otro entorno, en lugar de almacenarse en un solo lugar. La idea es utilizar servidores secundarios en su infraestructura para lecturas u otras soluciones administrativas. El siguiente diagrama muestra un ejemplo de un entorno de replicación de MySQL.


​Tipos de replicación en MySQL ​
Replicación asíncrona estándar: Significa que la transacción es completada en el ambiente local y no se ve afectada por los propios esclavos de replicación. Después de que son completados los cambios, el master rellena el log binario con la modificación de los datos o la sentencia actual. Este hilo de volcado lee el registro binario y lo envía al hilo esclavo. El esclavo lo coloca en su propia cola de pre procesamiento (llamada relay log) usando su subproceso. El esclavo ejecuta cada cambio en la base de datos de los esclavos usando hilos SQL.
​Replicación semi asíncrona: Significa que el esclavo y el maestro se comunican uno con otro para garantizar la correcta transferencia de la transacción. El maestro solo rellena el log binario (binlog) y continua su sesión si uno de los esclavos confirma que la transacción fue colocada correctamente en uno de registros (relaylog) del esclavo.
Este tipo de replicación impacta en el desempeño porque el maestro necesita esperar para continuar procesando la transacción, esto hasta que al menos uno de los esclavos acepte la transacción (o la rechacé por timeout).
Replicación basada en sentencias: La consulta SQL es escrita en el log binario. Las mismas instrucciones INSERT / UPDATE / DELETE son ejecutadas por el esclavo.
Ventajas y desventajas de este sistema:
  • Auditar la base de datos es más fácil ya que las sentencias reales son registradas en el log binario.
  • Menos datos son transferidos sobre la red.
  • Las consultas no deterministas pueden crear estragos en el entorno esclavo.
  • Puede disminuir el rendimiento con algunas consultas utilizando la replicación basada en instrucciones.
  • La replicación basada en sentencias es más lenta debido a la optimización y ejecución de SQL.
Replicación basada en filas: es la opción predeterminada en MySQL 5.7.7 y tiene muchas ventajas. Las filas modificadas son registradas en el log binario y no requieren información del contexto; esto elimina el impacto en las consultas no deterministas.
Algunas ventajas:
  • Mejora el rendimiento con consultas de alta concurrencia que contiene pocos cambios de fila.
  • Mejora significativamente la consistencia de los datos.
Desventajas:
  • El tráfico de red puede ser significativamente más alto si hay consultas que modifican una gran cantidad de filas.
  • Es más difícil auditar los cambios en la base de datos.
  • Puede ser más lenta que la replicación basada en sentencias en algunos casos.
Fuente:
​Vanoverbeke, D. (2017). Overview of Different MySQL Replication Solutions. Marzo 1, 2017, de Percona Database. Sitio web: https://www.percona.com/blog/2017/02/07/overview-of-different-mysql-replication-solutions/

Comentarios

Contenido reciente

  • Como limpiar usings sin usar en Rider
  • Instalando apache, mysql y php en Ubuntu
  • Cómo liberé 12GB en mi servidor y reviví mi sitio web (sin llorar… mucho)
  • ¿Que son los sitios web agregadores y los anuncios clasificados?
  • Mi Experiencia con Docker, Podman y Kubernetes
  • Lo más destacado del AWS User Group Puebla
  • Docker: Ignorar el directorio vendor en un proyecto de Go.
  • Instala Kubernetes en Ubuntu 22.04 para pruebas
  • Serverless, Lambda y Kubernetes: Fundamentos para la nube
  • Ejecuta tu lambda de Golang en AWS SAM de forma local

Recomendados

  • Biodiv
  • Medium
RSS feed

Política de privacidad

Términos de uso

Recomendados

  • Biodiv
  • Medium
Powered by Drupal

Monoforms ©2021 Created by Pedro Rojas Reyes