SlideShare une entreprise Scribd logo
1  sur  44
Télécharger pour lire hors ligne
Alta Disponibilidad   con



                            Por: Ing. Dennis Cohn Muroy
Agenda

●   Alta disponibilidad
●   Replicación
●   DRBD
●   Heartbeat
●   Ruteando las consultas
●   Mejoras esperadas
Alta Disponibilidad
●   Servicios siempre disponibles
●   Tolerancia a Fallos
●   Redundancia y Sistemas de reemplazo
Consideraciones
●   Puntos de Falla (Redundancia)
    ●   Factibilidad de eliminar nodos
●   Tiempo
    ●   Hacer uso de equipos de respaldo
●   Pérdida de transacciones
Replicación
●   Replicar datos de un servidor MySQL (maestro)
    a otro (maestro / esclavo)
●   Herramienta asíncrona
●   Usos
    ●   Escalar soluciones: distribuir carga.
    ●   Seguridad de datos: backup a nivel de esclavos
    ●   Distribución de datos (grandes distancias)
Maestro – Maestro
●   Insertar / modificar registros en más de una
    instancia MySQL
●   Datos replicados asíncronamente
●   Modos:
    ●   Activo – Pasivo
    ●   Activo – Activo
Maestro – Maestro: Configuración
Pasos a aplicar a cada nodo:
●   Crear usuario con permiso de    log-bin
    replicación                     binlog-do-db=<bd a replicar>
●   Editar /etc/my.cfg              binlog-ignore-db=<bd ignorar>
●   Indicar usuario a usar
    (CHANGE MASTER TO)              server-id=<entero único>

●   Iniciar la función de escucha
    (start slave)

●   Revisar los estados
    ●   show master statusG;
    ●   show slave statusG;
Activo / Pasivo


Activo                     Pasivo
Activo / Activo


Activo                     Activo
Agregando un nuevo nodo...
Anillo con 4 nodos
¿Qué hacer en caso de fallo?
Detectando nodo con problemas
Reconfigurando el anillo
Maestro – Maestro:
              Recomendaciones
●   AUTO_INCREMENT:
    ●   auto_increment_increment
    ●   auto_increment_offset


●   Considerar redundancia:
    ●   Recursos del nodo = suma recursos consumidos
        por cada nodo


●   MySQL Multi Master Replicator Manager (MMM)
Maestro – Maestro NO distribuye INSERTs
Maestro – Esclavo
●   Maestro: Solo escritura
●   Esclavo: Solo lectura

●   1 Maestro, N Esclavos
Maestro – Esclavo: Configuración
●   Maestro: crear usuario;      server-id=<entero único>
    permiso de replicación       log-bin
●   Maestro: /etc/my.cfg         binlog-do-db=<bd a replicar>
                                 binlog-ignore-db=<bd ignorar>
●   Maestro: Verificar estado
●   Esclavo: /etc/my.cfg         server-id=<entero único>
●   Esclavo: Indicar usuario a
    usar (CHANGE MASTER
    TO)
●   Iniciar la función de
    escucha (start slave)
●   Esclavo: Verificar estado
Maestro con un Esclavo

    Maestro




              Esclavo 1
Agregando un segundo esclavo

                Maestro




    Esclavo 2             Esclavo 1
En caso el maestro falle...

              Maestro




  Esclavo 2             Esclavo 1
Detectando la falla ...

            Maestro




Esclavo 2             Esclavo 1
Promoviendo un Esclavo a Maestro

                  Maestro




                            Esclavo 1
      Esclavo 2
                            Maestro
Maestro – Esclavo:
            Recomendaciones
●   InnoDB en el maestro (transacciones)
●   MyISAM en el esclavo (solo lectura)
●   Separar: Relay logs – archivos de datos
Pero se invierte MUCHO tiempo promoviendo
              un nuevo maestro.
DR:BD
●   Raid 1 a nivel de red
●   Nodo primario / secundario
●   Modos de trabajo:
    ●   Síncrono:
        –   Escritura en disco = activo + pasivo
    ●   Asíncrono:
        –   Escritura en disco = activo
Nodo Primario   Nodo Secundario
¿Cómo interactuar con la réplica en caso la
     base de datos primaria falle?
Heartbeat
●   Migración de servicio + ip de un nodo a otro

●   Comunicación entre 2 nodos:
    ●   Estado de procesos en el otro nodo
Comunicación normal


         IPV
Nodo activo falla


        IPV
Heartbeat detecta el fallo


             IPV
Se redirige el tráfico


           IPV
Tiempo ... 5 segundos


          IPV
Se restablece el nodo fallido


              IPV
Inicia sincronización


          IPV
¿A dónde debo remitir la consulta?
Ruteando las consultas
●   Maestro: Insert, Update, Delete
●   Esclavo: Select
●   Tipos
    ●   Enlazado con la aplicación
        –   Implementación
        –   SQL Relay
    ●   Transparente
        –   MySQL Proxy
        –   Tungsten
Una posible solución ...
IPV

                                          “Nodo” Maestro




Esclavo 1         Esclavo 2   Esclavo n
¿Qué viene más adelante?
Mejoras esperadas
●   Replicación Master – Master en anillo.
    Remover elementos del anillo con un solo
    comando
●   Inclusión de un MySQL Heartbeat
●   Auto recuperación del relay log (CRASH)
●   Agregar soporte semi – síncrono (Google)

●   MySQL 5.4 / MySQL 6.0
Referencias
●   High Performance MySQL
●   Building Scalable Web Sites
●   DR:BD [www.drbd.org]
●   MySQL [www.mysql.com]
●   MySQL Replication Features
    (Thalmann, Lars)
Gracias


            Ing. Dennis Cohn Muroy
          dennis.cohn@pucp.edu.pe
           Follow me: @denniscm20

Contenu connexe

Tendances

Tipos y ámbitos de grupo (windows server
Tipos y ámbitos de grupo (windows serverTipos y ámbitos de grupo (windows server
Tipos y ámbitos de grupo (windows server
cesartg65
 
Interfaz del Sistema de Archivos
Interfaz del Sistema de ArchivosInterfaz del Sistema de Archivos
Interfaz del Sistema de Archivos
AcristyM
 
2.2 lenguajes del lado cliente
2.2 lenguajes del lado cliente2.2 lenguajes del lado cliente
2.2 lenguajes del lado cliente
Jeremias Morales
 
ETL With Cassandra Streaming Bulk Loading
ETL With Cassandra Streaming Bulk LoadingETL With Cassandra Streaming Bulk Loading
ETL With Cassandra Streaming Bulk Loading
alex_araujo
 

Tendances (20)

Fragmentación vertical - MySQL
Fragmentación vertical - MySQLFragmentación vertical - MySQL
Fragmentación vertical - MySQL
 
Rpc te
Rpc teRpc te
Rpc te
 
Networking in linux
Networking in linuxNetworking in linux
Networking in linux
 
Zabbix: Uma ferramenta para Gerenciamento de ambientes de T.I
Zabbix: Uma ferramenta para Gerenciamento de ambientes de T.IZabbix: Uma ferramenta para Gerenciamento de ambientes de T.I
Zabbix: Uma ferramenta para Gerenciamento de ambientes de T.I
 
Tipos y ámbitos de grupo (windows server
Tipos y ámbitos de grupo (windows serverTipos y ámbitos de grupo (windows server
Tipos y ámbitos de grupo (windows server
 
Sizing Your MongoDB Cluster
Sizing Your MongoDB ClusterSizing Your MongoDB Cluster
Sizing Your MongoDB Cluster
 
Spark Summit East 2015 Advanced Devops Student Slides
Spark Summit East 2015 Advanced Devops Student SlidesSpark Summit East 2015 Advanced Devops Student Slides
Spark Summit East 2015 Advanced Devops Student Slides
 
Seguridad en los Sistemas Distribuidos
Seguridad en los Sistemas DistribuidosSeguridad en los Sistemas Distribuidos
Seguridad en los Sistemas Distribuidos
 
Importancia de los Sistemas Cliente Servidor, su arquitectura y describir sus...
Importancia de los Sistemas Cliente Servidor, su arquitectura y describir sus...Importancia de los Sistemas Cliente Servidor, su arquitectura y describir sus...
Importancia de los Sistemas Cliente Servidor, su arquitectura y describir sus...
 
Linux crontab
Linux crontabLinux crontab
Linux crontab
 
Using Wildcards with rsyslog's File Monitor imfile
Using Wildcards with rsyslog's File Monitor imfileUsing Wildcards with rsyslog's File Monitor imfile
Using Wildcards with rsyslog's File Monitor imfile
 
Interfaz del Sistema de Archivos
Interfaz del Sistema de ArchivosInterfaz del Sistema de Archivos
Interfaz del Sistema de Archivos
 
Domino Adminblast
Domino AdminblastDomino Adminblast
Domino Adminblast
 
Server training
Server trainingServer training
Server training
 
2.2 lenguajes del lado cliente
2.2 lenguajes del lado cliente2.2 lenguajes del lado cliente
2.2 lenguajes del lado cliente
 
Storage Management in Linux OS.ppt
Storage Management in Linux OS.pptStorage Management in Linux OS.ppt
Storage Management in Linux OS.ppt
 
ETL With Cassandra Streaming Bulk Loading
ETL With Cassandra Streaming Bulk LoadingETL With Cassandra Streaming Bulk Loading
ETL With Cassandra Streaming Bulk Loading
 
HDFS Namenode High Availability
HDFS Namenode High AvailabilityHDFS Namenode High Availability
HDFS Namenode High Availability
 
Redis vs Infinispan | DevNation Tech Talk
Redis vs Infinispan | DevNation Tech TalkRedis vs Infinispan | DevNation Tech Talk
Redis vs Infinispan | DevNation Tech Talk
 
Introduction to Vacuum Freezing and XID
Introduction to Vacuum Freezing and XIDIntroduction to Vacuum Freezing and XID
Introduction to Vacuum Freezing and XID
 

En vedette

Sql server cluster
Sql server clusterSql server cluster
Sql server cluster
jo_unwell
 
Conferencia Rails: Integracion Continua Y Rails
Conferencia Rails: Integracion Continua Y RailsConferencia Rails: Integracion Continua Y Rails
Conferencia Rails: Integracion Continua Y Rails
David Calavera
 
Introducción a Ganglia
Introducción a GangliaIntroducción a Ganglia
Introducción a Ganglia
Dardo Valdez
 
BDD: Descubriendo qué requiere realmente tu cliente
BDD: Descubriendo qué requiere realmente tu clienteBDD: Descubriendo qué requiere realmente tu cliente
BDD: Descubriendo qué requiere realmente tu cliente
Jorge Gamba
 
Introducción a DDD
Introducción a DDDIntroducción a DDD
Introducción a DDD
sergiopolo
 
A new model for Docker image distribution
A new model for Docker image distributionA new model for Docker image distribution
A new model for Docker image distribution
Docker, Inc.
 

En vedette (19)

Sql server cluster
Sql server clusterSql server cluster
Sql server cluster
 
Conferencia Rails: Integracion Continua Y Rails
Conferencia Rails: Integracion Continua Y RailsConferencia Rails: Integracion Continua Y Rails
Conferencia Rails: Integracion Continua Y Rails
 
Introducción a Ganglia
Introducción a GangliaIntroducción a Ganglia
Introducción a Ganglia
 
BDD: Descubriendo qué requiere realmente tu cliente
BDD: Descubriendo qué requiere realmente tu clienteBDD: Descubriendo qué requiere realmente tu cliente
BDD: Descubriendo qué requiere realmente tu cliente
 
Introducción a LDAP
Introducción a LDAPIntroducción a LDAP
Introducción a LDAP
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven Development
 
Software Debt: Qué Es y Cómo Gestionarlo Holísticamente
Software Debt: Qué Es y Cómo Gestionarlo HolísticamenteSoftware Debt: Qué Es y Cómo Gestionarlo Holísticamente
Software Debt: Qué Es y Cómo Gestionarlo Holísticamente
 
Escalabilidad y alto rendimiento con Symfony2
Escalabilidad y alto rendimiento con Symfony2Escalabilidad y alto rendimiento con Symfony2
Escalabilidad y alto rendimiento con Symfony2
 
OAUTH introducción y entretenida explicación.
OAUTH introducción y entretenida explicación.OAUTH introducción y entretenida explicación.
OAUTH introducción y entretenida explicación.
 
Conferencia Monitoreo de Servidores con Nagios
Conferencia Monitoreo de Servidores con NagiosConferencia Monitoreo de Servidores con Nagios
Conferencia Monitoreo de Servidores con Nagios
 
TDD with phpspec2
TDD with phpspec2TDD with phpspec2
TDD with phpspec2
 
Continous Delivering a PHP application
Continous Delivering a PHP applicationContinous Delivering a PHP application
Continous Delivering a PHP application
 
Maven Overview
Maven OverviewMaven Overview
Maven Overview
 
Automatizacion de proyectos con gradle
Automatizacion de proyectos con gradleAutomatizacion de proyectos con gradle
Automatizacion de proyectos con gradle
 
Integrando sonar
Integrando sonarIntegrando sonar
Integrando sonar
 
Introducción a DDD
Introducción a DDDIntroducción a DDD
Introducción a DDD
 
PhpSpec 2.0 ilustrated by examples
PhpSpec 2.0 ilustrated by examplesPhpSpec 2.0 ilustrated by examples
PhpSpec 2.0 ilustrated by examples
 
Building and Deploying Application to Apache Mesos
Building and Deploying Application to Apache MesosBuilding and Deploying Application to Apache Mesos
Building and Deploying Application to Apache Mesos
 
A new model for Docker image distribution
A new model for Docker image distributionA new model for Docker image distribution
A new model for Docker image distribution
 

Similaire à Alta disponibilidad con MySQL

MySQL - High Availability - Load Balacing - Cluster
MySQL - High Availability - Load Balacing - ClusterMySQL - High Availability - Load Balacing - Cluster
MySQL - High Availability - Load Balacing - Cluster
Miguel Angel Nieto
 
PostgreSQL el core de OpenERP
PostgreSQL el core de OpenERPPostgreSQL el core de OpenERP
PostgreSQL el core de OpenERP
Cristian Salamea
 
Raid Por Software
Raid Por SoftwareRaid Por Software
Raid Por Software
Rosariio92
 

Similaire à Alta disponibilidad con MySQL (20)

Replicación Mysql
Replicación MysqlReplicación Mysql
Replicación Mysql
 
Mysq Replication
Mysq ReplicationMysq Replication
Mysq Replication
 
MySQL - High Availability - Load Balacing - Cluster
MySQL - High Availability - Load Balacing - ClusterMySQL - High Availability - Load Balacing - Cluster
MySQL - High Availability - Load Balacing - Cluster
 
Alternativas de alta disponiblidad en MySQL - MySQL Meetup - Montevideo - Mar...
Alternativas de alta disponiblidad en MySQL - MySQL Meetup - Montevideo - Mar...Alternativas de alta disponiblidad en MySQL - MySQL Meetup - Montevideo - Mar...
Alternativas de alta disponiblidad en MySQL - MySQL Meetup - Montevideo - Mar...
 
Escenarios de Sistemas Distribuidos con Chamilo LMS
Escenarios de Sistemas Distribuidos con Chamilo LMSEscenarios de Sistemas Distribuidos con Chamilo LMS
Escenarios de Sistemas Distribuidos con Chamilo LMS
 
Así que pusiste MongoDB. Dime ¿cómo lo administras?
Así que pusiste MongoDB. Dime ¿cómo lo administras?Así que pusiste MongoDB. Dime ¿cómo lo administras?
Así que pusiste MongoDB. Dime ¿cómo lo administras?
 
Jano Gonzalez - jruby
Jano Gonzalez - jrubyJano Gonzalez - jruby
Jano Gonzalez - jruby
 
JRuby: Ruby en un mundo enterprise
JRuby: Ruby en un mundo enterpriseJRuby: Ruby en un mundo enterprise
JRuby: Ruby en un mundo enterprise
 
Intro cassandra
Intro cassandraIntro cassandra
Intro cassandra
 
Jaime Casanova - Domando a la bestia Replicación
Jaime Casanova - Domando a la bestia ReplicaciónJaime Casanova - Domando a la bestia Replicación
Jaime Casanova - Domando a la bestia Replicación
 
Recuperación de desastres y soluciones de alta disponibilidad con SQL Server
Recuperación de desastres y soluciones de alta disponibilidad con SQL ServerRecuperación de desastres y soluciones de alta disponibilidad con SQL Server
Recuperación de desastres y soluciones de alta disponibilidad con SQL Server
 
PostgreSQL el core de OpenERP
PostgreSQL el core de OpenERPPostgreSQL el core de OpenERP
PostgreSQL el core de OpenERP
 
Migrando de MSSQL a PostgreSQL
Migrando de MSSQL a PostgreSQLMigrando de MSSQL a PostgreSQL
Migrando de MSSQL a PostgreSQL
 
JRuby: Ruby en un mundo enterprise RubyConf Uruguay 2011
JRuby: Ruby en un mundo enterprise RubyConf Uruguay 2011JRuby: Ruby en un mundo enterprise RubyConf Uruguay 2011
JRuby: Ruby en un mundo enterprise RubyConf Uruguay 2011
 
Actividad No. 1.14: Replicación de datos en MySQL 5.1
Actividad No. 1.14: Replicación de datos en  MySQL 5.1Actividad No. 1.14: Replicación de datos en  MySQL 5.1
Actividad No. 1.14: Replicación de datos en MySQL 5.1
 
DB1 Unidad 8: Replicación
DB1 Unidad 8: ReplicaciónDB1 Unidad 8: Replicación
DB1 Unidad 8: Replicación
 
Cluster MySQL en Windows
Cluster MySQL en WindowsCluster MySQL en Windows
Cluster MySQL en Windows
 
Raid Por Software
Raid Por SoftwareRaid Por Software
Raid Por Software
 
PostgreSQL vs MySQL: PostgreSQL como alternativa.
PostgreSQL vs MySQL: PostgreSQL como alternativa.PostgreSQL vs MySQL: PostgreSQL como alternativa.
PostgreSQL vs MySQL: PostgreSQL como alternativa.
 
Replicacion en mysq
Replicacion en mysqReplicacion en mysq
Replicacion en mysq
 

Dernier

redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
nicho110
 

Dernier (10)

Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos Basicos
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXI
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 

Alta disponibilidad con MySQL

  • 1. Alta Disponibilidad con Por: Ing. Dennis Cohn Muroy
  • 2. Agenda ● Alta disponibilidad ● Replicación ● DRBD ● Heartbeat ● Ruteando las consultas ● Mejoras esperadas
  • 3. Alta Disponibilidad ● Servicios siempre disponibles ● Tolerancia a Fallos ● Redundancia y Sistemas de reemplazo
  • 4. Consideraciones ● Puntos de Falla (Redundancia) ● Factibilidad de eliminar nodos ● Tiempo ● Hacer uso de equipos de respaldo ● Pérdida de transacciones
  • 5. Replicación ● Replicar datos de un servidor MySQL (maestro) a otro (maestro / esclavo) ● Herramienta asíncrona ● Usos ● Escalar soluciones: distribuir carga. ● Seguridad de datos: backup a nivel de esclavos ● Distribución de datos (grandes distancias)
  • 6. Maestro – Maestro ● Insertar / modificar registros en más de una instancia MySQL ● Datos replicados asíncronamente ● Modos: ● Activo – Pasivo ● Activo – Activo
  • 7. Maestro – Maestro: Configuración Pasos a aplicar a cada nodo: ● Crear usuario con permiso de log-bin replicación binlog-do-db=<bd a replicar> ● Editar /etc/my.cfg binlog-ignore-db=<bd ignorar> ● Indicar usuario a usar (CHANGE MASTER TO) server-id=<entero único> ● Iniciar la función de escucha (start slave) ● Revisar los estados ● show master statusG; ● show slave statusG;
  • 11. Anillo con 4 nodos
  • 12. ¿Qué hacer en caso de fallo?
  • 13. Detectando nodo con problemas
  • 15. Maestro – Maestro: Recomendaciones ● AUTO_INCREMENT: ● auto_increment_increment ● auto_increment_offset ● Considerar redundancia: ● Recursos del nodo = suma recursos consumidos por cada nodo ● MySQL Multi Master Replicator Manager (MMM)
  • 16. Maestro – Maestro NO distribuye INSERTs
  • 17. Maestro – Esclavo ● Maestro: Solo escritura ● Esclavo: Solo lectura ● 1 Maestro, N Esclavos
  • 18. Maestro – Esclavo: Configuración ● Maestro: crear usuario; server-id=<entero único> permiso de replicación log-bin ● Maestro: /etc/my.cfg binlog-do-db=<bd a replicar> binlog-ignore-db=<bd ignorar> ● Maestro: Verificar estado ● Esclavo: /etc/my.cfg server-id=<entero único> ● Esclavo: Indicar usuario a usar (CHANGE MASTER TO) ● Iniciar la función de escucha (start slave) ● Esclavo: Verificar estado
  • 19. Maestro con un Esclavo Maestro Esclavo 1
  • 20. Agregando un segundo esclavo Maestro Esclavo 2 Esclavo 1
  • 21. En caso el maestro falle... Maestro Esclavo 2 Esclavo 1
  • 22. Detectando la falla ... Maestro Esclavo 2 Esclavo 1
  • 23. Promoviendo un Esclavo a Maestro Maestro Esclavo 1 Esclavo 2 Maestro
  • 24. Maestro – Esclavo: Recomendaciones ● InnoDB en el maestro (transacciones) ● MyISAM en el esclavo (solo lectura) ● Separar: Relay logs – archivos de datos
  • 25. Pero se invierte MUCHO tiempo promoviendo un nuevo maestro.
  • 26. DR:BD ● Raid 1 a nivel de red ● Nodo primario / secundario ● Modos de trabajo: ● Síncrono: – Escritura en disco = activo + pasivo ● Asíncrono: – Escritura en disco = activo
  • 27. Nodo Primario Nodo Secundario
  • 28. ¿Cómo interactuar con la réplica en caso la base de datos primaria falle?
  • 29. Heartbeat ● Migración de servicio + ip de un nodo a otro ● Comunicación entre 2 nodos: ● Estado de procesos en el otro nodo
  • 32. Heartbeat detecta el fallo IPV
  • 33. Se redirige el tráfico IPV
  • 34. Tiempo ... 5 segundos IPV
  • 35. Se restablece el nodo fallido IPV
  • 37. ¿A dónde debo remitir la consulta?
  • 38. Ruteando las consultas ● Maestro: Insert, Update, Delete ● Esclavo: Select ● Tipos ● Enlazado con la aplicación – Implementación – SQL Relay ● Transparente – MySQL Proxy – Tungsten
  • 40. IPV “Nodo” Maestro Esclavo 1 Esclavo 2 Esclavo n
  • 41. ¿Qué viene más adelante?
  • 42. Mejoras esperadas ● Replicación Master – Master en anillo. Remover elementos del anillo con un solo comando ● Inclusión de un MySQL Heartbeat ● Auto recuperación del relay log (CRASH) ● Agregar soporte semi – síncrono (Google) ● MySQL 5.4 / MySQL 6.0
  • 43. Referencias ● High Performance MySQL ● Building Scalable Web Sites ● DR:BD [www.drbd.org] ● MySQL [www.mysql.com] ● MySQL Replication Features (Thalmann, Lars)
  • 44. Gracias Ing. Dennis Cohn Muroy dennis.cohn@pucp.edu.pe Follow me: @denniscm20