SlideShare une entreprise Scribd logo
1  sur  47
Télécharger pour lire hors ligne
Alternativas de HA en MySQL
     Ing. Nelson Calero, OCP
      nelson.calero@gmail.com




    MySQL Meetup Montevideo
        8 de Marzo 2012
                                1 /47
Conceptos

Disponibilidad

• Porcentaje de tiempo en que un sistema/recurso está
  disponible para ser usado
     A = uptime/(uptime + downtime)

• Medida con escala de nueves:
    99% => 3 días, 15:36 horas /año
    99,9% => 8:46 horas/año o 43.8 minutos/mes
    99,99% => 53 minutos/año o 4.38 minutos/mes
    99,999% => 5 minutos/año o 0.44 minutos/mes


                                                        2/47
Conceptos - Disponibilidad

• Capacidad de continuar trabajando a pesar de fallas
  (hardware, software, externas).

Siendo más formales:
• Mean Time Between Failures (MTBF)
     Tiempo medio estimado entre fallas.
• Mean Time to Repair/Recover (MTTR)
     Tiempo medio para reparar las fallas

     Equivalente: A = MTBF / (MTBF + MTTR)

En un sistema, podemos diseñar la arquitectura para que altos
tiempos de MTTR en componentes no afecten la
disponibilidad total del sistema.
                                                                3/47
Soluciones de HA en MySQL

Hay varias posibilidades nativas:
  – Replicación
  – Storage compartido
  – Cluster

Y varias provistas por terceros:
   – MMM: Multi Master replication Manager for MySQL.
   – DRBD: replicación sincrónica de bloques usando la red
   – Pacemaker: Cluster resource manager
   – Galera: replicación sincrónica – parche
   – Tungsten: replicación a nivel de aplicación


                                                             4/47
MySQL - Replicación

Basada en transferencia y aplicación de Log Binario del master
a slaves, en forma asincrónica o semisincrónica (5.5).

• es en un sólo sentido (one-way)
• un slave puede tener un solo master
• por sentencias, registros cambiados (5.1), o mixto
• puede ser parcial, filtrando por base y tablas
• controlada por parámetros en my.cnf y comandos para
  configuración dinámica
• cluster implementa replicación sincrónica

Dos thread en cada slave:
• obtiene registros de binlog y genera relaylog (I/O thread)
• lee relaylog y aplica registros (SQL thread)


                                                                 5/47
MySQL - Replicación


 "MySQL replication by default is asynchronous. The master
writes events to its binary log but does not know whether or
when a slave has retrieved and processed them. With
asynchronous replication, if the master crashes, transactions
that it has committed might not have been transmitted to any
slave. Consequently, failover from master to slave in this case
may result in failover to a server that is missing transactions
relative to the master"

http://dev.mysql.com/doc/refman/5.5/en/replication-semisync.html




                                                                   6/47
MySQL - Replicación - funcionalidades

hasta 5.1 (2008):
   1. log binario de sentencias, registros, o mixto
   2. filtro de bases, tablas y transacciones
   3. sentencias no determinísticas
   4. disponible para Cluster

en 5.5 (2010):
   1. semisincrónica
   2. fsync mejorado en slave
   3. recuperación de corrupción en relay log
   4. heartbeat
   5. filtro de eventos por servidor
en 5.6 (m3):
   1. replication_event_checksum

                                                      7/47
Mysql - Replicación

Semisincrónica (5.5):

• parche original de google - 2007
• slaves confirman recepción de eventos al master
• commit se responde al cliente luego que un slave haya
  confirmado recepción de evento
• implementado con plugins en master y slave
   o rpl_semi_sync_master_enabled = 0/1;
   o rpl_semi_sync_master_timeout = N;
           1000 = 1 segundo
   o rpl_semi_sync_slave_enabled = 0/1;
• monitoreo
   o SHOW STATUS LIKE 'Rpl_semi_sync%';

                                                          8/47
MySQL - Replicación

• ¿Cómo habilitar log binario?
      log-bin     # en my.cnf

• Si slaves van a tener habilitada réplica, habilitar que su
  binlog incluya cambios aplicados del master
         log-slave-updates # en my.cnf
• ¿Cuándo se genera un archivo nuevo?
       – al reiniciar el servidor mysql
       – al llegar al tamaño máximo (max_binlog_size)
       – ejecutando FLUSH LOGS
• ¿Cuándo se borran los archivos de logbin?
       – cuando se llega a EXPIRE_LOGS_DAYS
       – ejecutando PURGUE MASTER LOGS


                                                               9/47
MySQL - Replicación

SET BINLOG_FORMAT=[row|statement|mixed|default];

statement
• almacena las sentencias SQL ejecutadas, DDL y DML.
• tamaño independiente del volumen de datos
• necesita que todas las tablas de la sentencia estén
   replicadas.
• sentencias no determinísticas no son replicadas

row
• almacena datos modificados
• lockea solo datos necesarios
• recomendado cuando hay poco volumen de cambios



                                                        10/47
MySQL - Replicación

binlog filtrado en master:
       • SET SQL_LOG_BIN=0
       • binlog-do-db, binlog-ignore-db


filtrada aplicación en slave:
       • replicate-do/ignore-db/table, replicate-do-table
       • mysql proxy

NOTA: Binlog filtrado implica que no sirve para recuperación !

Configurar para consistencia
 sync_binlog=1  # escribe binlog a disco después
                  de cada escritura
 innodb_support_xa=1 # sincroniza binlog con InnoDB
                        datafiles (caídas innodb que genera rollback)

                                                                        11/47
MySQL - Replicación

¿Replicación bi-direccional?
• No soportado.
   o Esto quiere decir: slave no actualiza datos en master,
     porque el flujo de datos es siempre en un sentido: del
     master al slave.
• Se puede configurar master y slave en un mismo servidor, y
  parece bi-direccional si ambos tienen configuración
  simétrica, pero son dos configuraciones distintas.
• Problemas a considerar:
   o autoincrementos
   o restricciones de unicidad (UKs)
   o cambios fuera de orden



                                                               12/47
MySQL - Replicación

Sentencias inseguras (unsafe) no son replicadas en formato
statement:
 • no determinísticas

• aquellas que pueden retornar valor distinto en slave
  sysdate(), user, UUID(), etc.

• otras sentencias no seguras:
  update ... limit
  insert delayed
  load data infile # desde 5.1.50

• algunas no determinísticas se consideran seguras:
  ej.: curtime(), last_insert_id()


                                                             13/47
MySQL - Replicación

Soporta cambios externos en la base de datos del slave:
• cambiar de engine en slaves
    •       master InnoDB y slave MyISAM
              Servía hace algunos años cuando InnoDB no tenía buena
              performance. Actualmente es discutible. Puede servir para algún caso
              particular. Medirlo en el sistema!
        ●
            Blackhole: filtro de datos

●
    cambiar configuración de slaves buscando mejor performance

• cambiar índices

• cambiar configuración raid



                                                                                     14/47
MySQL - Replicación - 5.1
 Replicación en cluster
 •   desde 5.1.6 master/slave. circular desde 5.1.18
 •   configuración de máxima disponibilidad




http://dev.mysql.com/doc/refman/5.5/en/mysql-cluster-replication.html   15/47
MySQL - Replicación

Contras:

• no hay automatización oficial de failover, se requiere
  intervención manual o programación.

• escritura en slaves está limitada a un thread. Multi-thread en
  5.6 (está en m6).

• es asincrónica y no transaccional, por lo que puede perder
  datos. Mejorado en 5.5.2 (semisync) y 5.6 (crash recovery)

• slave necesita monitoreo: caídas, demoras, consistencia




                                                                   16/47
Soluciones de HA en MySQL


Nativas
  1. Replicación
  2. Storage compartido
  3. Cluster

De terceros
  1. MMM
  2. DRBD
  3. Pacemaker
  4. Galera
  5. Tungsten




                            17/47
MySQL - Storage compartido

Activo/activo
• no soportado en InnoDB
• MyISAM:
   o sobre cluster file system (OCFS2/GFS)
   o parámetros necesarios:
        external-locking
        query-cache=0
        delay_key_write=off
Activo/pasivo
• Necesita software de terceros para heartbeat
• Failover:
   o InnoDB aplica recovery
   o MyISAM necesita que se valide que no hay tablas
     corruptas: --myisam_recover como opción de arranque o
     myisamchk antes de levantarlo.

                                                             18/47
Soluciones de HA en MySQL


Nativas
  1. Replicación
  2. Storage compartido
  3. Cluster

De terceros
  1. MMM
  2. DRBD
  3. Pacemaker
  4. Galera
  5. Tungsten




                            19/47
MySQL - Cluster
Arquitectura shared nothing




http://dev.mysql.com/doc/mysql-cluster-excerpt/5.1/en/mysql-cluster-overview.html

                                                                                    20/47
MySQL - Cluster

A partir de mysql 5.5, cluster es una distribución independiente.
Actualmente está en producción 7.2

Nodo de datos - NDBD - Almacena datos e índices
●
  Desde 7.2 soporta varios procesos (nodos) en mismo host
Nodo SQL - mysqld (versión 5.1)
• Maneja comunicación con cliente: recibe sentencias SQL y se
  comunica con nodos de datos para ejecutarla
Nodo de Gestión - ndb_mgmd
• monitoreo, configuración y control del cluster
Datos se almacenan particionados y replicados entre NDBD
• fragmento activo (primario) y de failover (secundarios)
• parámetro NoOfReplicas es 2 por defecto
   o valores mayores soportan caídas de más nodos
                                                                    21/47
MySQL - Cluster

Caídas soportadas

nodo sql:
• clientes se desconectan y transacciones no commiteadas se
  pierden

nodo datos:
• máximo NoOfReplicas-1
• en caso de split-brain, vive el grupo con mayoría de nodos, y
  desempata nodo árbitro.

nodo gestión:
• no impacta el funcionamiento del cluster
• no se pueden agregar nuevos nodos hasta que vuelva


                                                                  22/47
MySQL - Cluster

Varias operaciones online:
• backup
• software upgrade
• agregar nodos de datos
• system restart en modo "rolling"
   o gestión, datos (de a uno, todos), sql (idem)

Balanceo de carga:
• Java Connector/J 5.0.6: jdbc:mysql:loadbalance://

Base ndbinfo con datos en vivo:
• nodos activos
• memoria usada (tabla memoryusage)
• varios contadores de actividad (tabla counters)


                                                      23/47
MySQL - Cluster

Recomendado para
• transacciones cortas y chicas
• sql con joins simples y búsquedas por PK
• alta disponibilidad

Casos de uso
• sistemas de tiempo real
• soporte a telefonía

Configuración - en práctico
• Usa un archivo de configuración global: config.ini
• local a cada nodo: my.cnf
   o ubicación de nodos de gestión
• logs por nodo (ndb_#_out.log) y global (ndb_#_cluster.log)


                                                               24/47
MySQL - Cluster

Limitaciones
• mínimo tres equipos, máximo 255 (48 nodos de datos)
• lento en joins de mucho volumen y agregaciones
• no soporta índices fulltext ni foreing keys
• datos se almacenan en memoria (solo columnas indexadas
  desde 5.5, antes todo), lo que limita el tamaño máximo de la
  base a la capacidad de los servidores de datos.
• estimación de memoria RAM necesaria en cada nodo:
    (SizeofDatabase x NumberOfReplicas x 1.1 ) /
    NumberOfDataNodes

 ndb_size.pl estima memoria necesaria en cluster a partir de
una instancia mysql común.
   http://dev.mysql.com/doc/refman/5.5/en/mysql-cluster-programs-ndb-size-pl.html




                                                                                    25/47
MySQL - Cluster

MCM: MySQL Cluster Manager
• versión comercial: MySQL Cluster Carrier Grade Edition
• mcmd --bootstrap # instala cluster de 3 nodos configurado
• Redhat/OEL 5, SuSE EL10/11




                                                              26/47
Soluciones de HA en MySQL


Nativas
  1. Replicación
  2. Storage compartido
  3. Cluster

De terceros
  1. MMM
  2. DRBD
  3. Pacemaker
  4. Galera
  5. Tungsten




                            27/47
Mysql - Multi Master Manager

http://mysql-mmm.org/
  ●
    Scripts para monitoreo y failover de replicaciones
    master/master con un solo nodo soportando escrituras

Scripts:
 ●
   mmm_mond, mmm_agentd, mmm_control

Bug reportado 27/4/2011
• https://bugs.launchpad.net/mysql-mmm/+bug/771843
  "moving slaves to the new master can cause inconsistency accross
  databases"
• pasado a prioridad alta el 25/5, a resolver en v2.2




                                                                     28/47
Soluciones de HA en MySQL


Nativas
  1. Replicación
  2. Storage compartido
  3. Cluster

De terceros
  1. MMM
  2. DRBD
  3. Pacemaker
  4. Galera
  5. Tungsten




                            29/47
MySQL - DRBD

Distributed Replicated Block Device - http://www.drbd.org
• módulo en kernel linux que implementa replicación
  sincrónica de bloques usando la red (raid-1)




                                                            30/47
MySQL - DRBD

Necesita software de gestión de cluster para automatizar:
• heartbeat / pacemaker

Ventajas
• alternativa barata a una caja de storage (SAN)
• datos quedan locales al servidor activo (performance)
• es más seguro que replicación nativa (consistencia)
• actualizaciones de hardware/software usando failover
contras
• soportado solo en linux
• agrega complejidad
• corrupción se propaga
• no permite replicar parte de la base


                                                            31/47
MySQL - DRBD

Activo/activo
• Sobre GFS/OCFS2
• Sólo con MyISAM

Con LVM
• se puede usar debajo y sobre DRBD
• snapshots sólo si LVM va debajo
• snapshots en slave permiten montar el filesystem para
  maniobras read-only

Soporta mirroring sincrónico y asincrónico
• necesario para WAN, no recomendado para MySQL




                                                          32/47
Mysql - DRBD

Parámetros recomendados en MySQL:
• log-bin=nombre
     por defecto es hostname y puede cambiar
• innodb_log_file_size
     más chico permite recovery más rápido
• myisam_recover=force,backup
     para chequeo automático de corrupción en failover
• innodb_support_xa=1
     sincroniza binlog con innodb datafiles (caídas innodb que
     genera rollback)
• sync_binlog=1
     escribe binlog a disco después de cada escritura

                                                                 33/47
MySQL - DRBD

Posibles fallas

master
1. caída del servidor
2. tranca sin que falle, no liberando recursos. Requiere fencing
   del agente de cluster (heartbeat)
3. corte del enlace con secundario

secundario
1. caída del servidor
2. corrupción de datos por fallas en storage
3. corte del enlace con master




                                                                   34/47
Soluciones de HA en MySQL


Nativas
  1. Replicación
  2. Storage compartido
  3. Cluster

De terceros
  1. MMM
  2. DRBD
  3. Pacemaker
  4. Galera
  5. Tungsten




                            35/47
Pacemaker

Cluster resource manager - http://www.clusterlabs.org/
  gpl (v2), no hay versión enterprise.
●
  Apoyado por RedHat / Novell / LinBit.

Funcionalidades
• soporta infraestructura de OpenAIS y Heartbeat
• implementa STONITH para asegurar integridad de datos
• configuración redundante en CIB (cluster information base),
archivo XML
• usa cualquier recurso que pueda ser gestionado con scripts
• soporta varias configuraciones redundantes:
    activo/pasivo, activo/activo, N+1, etc.
➢
  Parte de Heartbeat hasta versión 2.1.3. Luego se independizó
➢
  1.0 más testeado sobre Heartbeat que con Corosync

                                                                 36/47
Pacemaker Stack
http://www.clusterlabs.org/wiki/Architecture#Supported_Cluster_Stacks




                                                                        37/47
Pacemaker Internals
http://www.clusterlabs.org/wiki/Architecture#Supported_Cluster_Stacks




                                                                        38/47
Pacemaker
con MySQL
●
  gran comunidad de usuarios
●
  percona-prm: Mysql Replication Manager (alpha)

Pasos para comenzar a utilizarlo:

●
    Configurar Heartbeat
     /etc/ha.d/ha.cf

●
    Configurar recursos
     Muchos parámetros, estudiar bien opciones
     Stonith para producción

●
    Probar escenarios !

                                                   39/47
Pacemaker

Recurso:
●
  clase: OCF/lsb/legacy-heartbeat/stonith
●
  parámetros
●
  operaciones de monitoreo
●
  scores: usado en toma de decisiones
      - = no usar
      + = usar
      INFINITY = constante

●
    lsb: script de inicio cumpliendo Linux Standard Base

●
    OCF: Open Cluster Framework, extensión de LSB




                                                           40/47
Pacemaker
●
    Ejemplo de configuración para DRBD:

$> crm configure edit
  primitive drbd_disk ocf:linbit:drbd 
      params drbd_resource="mysql" 
      op monitor interval="15s"
  primitive fs_drbd ocf:heartbeat:Filesystem 
      params device="/dev/drbd0" directory="/varios/01" fstype="ext3" 
      ms ms_drbd drbd_disk 
      meta master-max="1" master-node-max="1" clone-max="2" 
      clone-node-max="1" notify="true"
  colocation mnt_on_master inf: fs_drbd ms_drbd:Master
  order mount_after_drbd inf: ms_drbd:promote fs_drbd:start




                                                                          41/47
Soluciones de HA en MySQL


Nativas
  1. Replicación
  2. Storage compartido
  3. Cluster

De terceros
  1. MMM
  2. DRBD
  3. Pacemaker
  4. Galera
  5. Tungsten




                            42/47
MySQL - Galera

Replicación sincrónica
http://codership.com/products/galera_replication




                                                   43/47
MySQL - Galera

Características
• Réplica en tiempo de commit
• Sincrónica y multi-master
• gestiona variables de autoincremento
• Lleva ID de transacciones para garantizar consistencia
• controla datos a replicar al recibirlos y antes de aplicarlos
  (certificación)
• Implementación genérica. Primera versión en InnoDB.
• Parche para MySQL
• Configurable mediante variables en my.cnf
     'wsrep%';
• Publica variables de estado
   o show status like 'wsrep%';
• control de flujo con triggers (exceso de carga)


                                                                  44/47
Soluciones de HA en MySQL


Nativas
  1. Replicación
  2. Storage compartido
  3. Cluster

De terceros
  1. MMM
  2. DRBD
  3. Pacemaker
  4. Galera
  5. Tungsten




                            45/47
MySQL - Tungsten Replicator

Opensource, GPL V2, y versión enterprise
http://www.continuent.org

Funcionalidades
 • replicación en paralelo, multi-master y heterogena (aplica a
   PostgreSQL, MySQL y Oracle).
 • implementa ID de transacciones global
 • múltiples servicios de replicación por proceso (N-N)

Buena documentación:
http://code.google.com/p/tungsten-replicator/wiki/TungstenReplicatorCookbook
http://code.google.com/p/tungsten-replicator/wiki/Troubleshooting




                                                                               46/47
MySQL - Tungsten Replicator

Conector:
 • intermedia entre aplicación y BD
 • implementación nativa MySQL y PostgreSQL
 • incluye módulo router que se comunica con la BD, e
   implementa HA

Replicator: captura cambios y propaga a otros replicators,
usando protocolo propio TLH.

Manager: monitorea estado de componente, mediante módulos
monitores: replicator, database y cluster.




                                                             47/47

Contenu connexe

Tendances

Alta disponibilidad y balanceo de carga en Linux
Alta disponibilidad y balanceo de carga en LinuxAlta disponibilidad y balanceo de carga en Linux
Alta disponibilidad y balanceo de carga en LinuxJavier Turégano Molina
 
UYOUG 2012 - Oracle RAC 11gR2 - New features
UYOUG 2012 - Oracle RAC 11gR2 - New featuresUYOUG 2012 - Oracle RAC 11gR2 - New features
UYOUG 2012 - Oracle RAC 11gR2 - New featuresNelson Calero
 
UYOUG OTN Tour 2011 - RAC sin sorpresas
UYOUG OTN Tour 2011 - RAC sin sorpresasUYOUG OTN Tour 2011 - RAC sin sorpresas
UYOUG OTN Tour 2011 - RAC sin sorpresasNelson Calero
 
Replicacion con postgresql y slony
Replicacion con  postgresql y slonyReplicacion con  postgresql y slony
Replicacion con postgresql y slonyJohanna Mendez
 
III LLAMPAGEEK 2013: Base de Datos Distribuidas con PostgreSQL.
III LLAMPAGEEK 2013: Base de Datos Distribuidas con PostgreSQL.III LLAMPAGEEK 2013: Base de Datos Distribuidas con PostgreSQL.
III LLAMPAGEEK 2013: Base de Datos Distribuidas con PostgreSQL.EtiCAGNU
 
Modelos de alta disponibilidad
Modelos de alta disponibilidadModelos de alta disponibilidad
Modelos de alta disponibilidadDavid Herrero
 
Alta disponibilidad-con-heartbeat
Alta disponibilidad-con-heartbeatAlta disponibilidad-con-heartbeat
Alta disponibilidad-con-heartbeatDavid Acevedo
 
Introduction to Oracle Clusterware 12c
Introduction to Oracle Clusterware 12cIntroduction to Oracle Clusterware 12c
Introduction to Oracle Clusterware 12cGuatemala User Group
 
Postgre sql y_replicacion_slony_p
Postgre sql y_replicacion_slony_pPostgre sql y_replicacion_slony_p
Postgre sql y_replicacion_slony_pedvin_marcelo
 
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 ServerSpanishPASSVC
 
Postgresql Como Funciona Una Dbms Por Dentro
Postgresql Como Funciona Una Dbms Por DentroPostgresql Como Funciona Una Dbms Por Dentro
Postgresql Como Funciona Una Dbms Por DentroEQ SOFT EIRL
 
Dba PostgreSQL desde básico a avanzado parte2
Dba PostgreSQL desde básico a avanzado parte2Dba PostgreSQL desde básico a avanzado parte2
Dba PostgreSQL desde básico a avanzado parte2EQ SOFT EIRL
 
Curso de PostgreSQL
Curso de PostgreSQLCurso de PostgreSQL
Curso de PostgreSQLEQ SOFT EIRL
 
AlwaysOn en SQL Server 2016
AlwaysOn en SQL Server 2016AlwaysOn en SQL Server 2016
AlwaysOn en SQL Server 2016SpanishPASSVC
 
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 LMSJose Arturo Mora Soto
 

Tendances (20)

Cluster de alta disponibilidad con corosync, pacemaker & apache2
Cluster de alta disponibilidad con corosync, pacemaker & apache2Cluster de alta disponibilidad con corosync, pacemaker & apache2
Cluster de alta disponibilidad con corosync, pacemaker & apache2
 
Alta disponibilidad y balanceo de carga en Linux
Alta disponibilidad y balanceo de carga en LinuxAlta disponibilidad y balanceo de carga en Linux
Alta disponibilidad y balanceo de carga en Linux
 
UYOUG 2012 - Oracle RAC 11gR2 - New features
UYOUG 2012 - Oracle RAC 11gR2 - New featuresUYOUG 2012 - Oracle RAC 11gR2 - New features
UYOUG 2012 - Oracle RAC 11gR2 - New features
 
UYOUG OTN Tour 2011 - RAC sin sorpresas
UYOUG OTN Tour 2011 - RAC sin sorpresasUYOUG OTN Tour 2011 - RAC sin sorpresas
UYOUG OTN Tour 2011 - RAC sin sorpresas
 
Replicacion con postgresql y slony
Replicacion con  postgresql y slonyReplicacion con  postgresql y slony
Replicacion con postgresql y slony
 
Guía de pgpool Paso a Paso
Guía de pgpool Paso a PasoGuía de pgpool Paso a Paso
Guía de pgpool Paso a Paso
 
III LLAMPAGEEK 2013: Base de Datos Distribuidas con PostgreSQL.
III LLAMPAGEEK 2013: Base de Datos Distribuidas con PostgreSQL.III LLAMPAGEEK 2013: Base de Datos Distribuidas con PostgreSQL.
III LLAMPAGEEK 2013: Base de Datos Distribuidas con PostgreSQL.
 
Modelos de alta disponibilidad
Modelos de alta disponibilidadModelos de alta disponibilidad
Modelos de alta disponibilidad
 
Clusters
ClustersClusters
Clusters
 
Alta disponibilidad-con-heartbeat
Alta disponibilidad-con-heartbeatAlta disponibilidad-con-heartbeat
Alta disponibilidad-con-heartbeat
 
Introduction to Oracle Clusterware 12c
Introduction to Oracle Clusterware 12cIntroduction to Oracle Clusterware 12c
Introduction to Oracle Clusterware 12c
 
Postgre sql y_replicacion_slony_p
Postgre sql y_replicacion_slony_pPostgre sql y_replicacion_slony_p
Postgre sql y_replicacion_slony_p
 
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 Como Funciona Una Dbms Por Dentro
Postgresql Como Funciona Una Dbms Por DentroPostgresql Como Funciona Una Dbms Por Dentro
Postgresql Como Funciona Una Dbms Por Dentro
 
Dba PostgreSQL desde básico a avanzado parte2
Dba PostgreSQL desde básico a avanzado parte2Dba PostgreSQL desde básico a avanzado parte2
Dba PostgreSQL desde básico a avanzado parte2
 
Curso de PostgreSQL
Curso de PostgreSQLCurso de PostgreSQL
Curso de PostgreSQL
 
Cluster en sql server
Cluster en sql serverCluster en sql server
Cluster en sql server
 
AlwaysOn en SQL Server 2016
AlwaysOn en SQL Server 2016AlwaysOn en SQL Server 2016
AlwaysOn en SQL Server 2016
 
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
 
Avances Clusterware en Oracle 11g Release 2
Avances Clusterware en Oracle 11g Release 2Avances Clusterware en Oracle 11g Release 2
Avances Clusterware en Oracle 11g Release 2
 

En vedette

What's New in Windows 7 Guide - ITpro.fi - riippumaton IT ...
What's New in Windows 7  Guide - ITpro.fi - riippumaton IT ...What's New in Windows 7  Guide - ITpro.fi - riippumaton IT ...
What's New in Windows 7 Guide - ITpro.fi - riippumaton IT ...butest
 
Tarea de estudio de suelos para el diseño de edificaciones
Tarea de estudio de suelos para el diseño de edificacionesTarea de estudio de suelos para el diseño de edificaciones
Tarea de estudio de suelos para el diseño de edificacionesRomm Mendeztriana
 
Code Review: How and When
Code Review: How and WhenCode Review: How and When
Code Review: How and WhenPaul Gower
 
A report-on-american-and-efird-inc-a-e-bangladesh Ltd
A report-on-american-and-efird-inc-a-e-bangladesh LtdA report-on-american-and-efird-inc-a-e-bangladesh Ltd
A report-on-american-and-efird-inc-a-e-bangladesh LtdSynthia Alam
 
TCFI 3 Installation Manual
TCFI 3 Installation ManualTCFI 3 Installation Manual
TCFI 3 Installation Manualcschroed
 
Modulo solucion creativa de problemas en ambientes de aprendizaje guia 2
Modulo  solucion creativa de problemas en ambientes de aprendizaje guia 2Modulo  solucion creativa de problemas en ambientes de aprendizaje guia 2
Modulo solucion creativa de problemas en ambientes de aprendizaje guia 2karen
 
Discurso del Lehendakari - Desayuno empresas vascas en México (Estados de Que...
Discurso del Lehendakari - Desayuno empresas vascas en México (Estados de Que...Discurso del Lehendakari - Desayuno empresas vascas en México (Estados de Que...
Discurso del Lehendakari - Desayuno empresas vascas en México (Estados de Que...Irekia - EJGV
 
Anupa_IndependentProjectReport_MAD13026
Anupa_IndependentProjectReport_MAD13026Anupa_IndependentProjectReport_MAD13026
Anupa_IndependentProjectReport_MAD13026Anupa Chakraborty
 
Ciclos formativos de grado medio. Isabel Bosch Linares. Orientadora.
Ciclos formativos de grado medio. Isabel Bosch Linares. Orientadora.Ciclos formativos de grado medio. Isabel Bosch Linares. Orientadora.
Ciclos formativos de grado medio. Isabel Bosch Linares. Orientadora.Paulo Freire
 
Notarized-w-Receipts-NYS-Venom-Drugs-and-Bombing-Criminal-Report-December-4-2...
Notarized-w-Receipts-NYS-Venom-Drugs-and-Bombing-Criminal-Report-December-4-2...Notarized-w-Receipts-NYS-Venom-Drugs-and-Bombing-Criminal-Report-December-4-2...
Notarized-w-Receipts-NYS-Venom-Drugs-and-Bombing-Criminal-Report-December-4-2...Prayer Warriors Institute
 
pdf.pdf
pdf.pdfpdf.pdf
pdf.pdfram_pu
 
Reunion Mensual 01 14 Ene09
Reunion Mensual 01 14 Ene09Reunion Mensual 01 14 Ene09
Reunion Mensual 01 14 Ene09Contratos Yan
 
Instrumentos juridicos contra_el_crimen_organizado_-_pdf
Instrumentos juridicos contra_el_crimen_organizado_-_pdfInstrumentos juridicos contra_el_crimen_organizado_-_pdf
Instrumentos juridicos contra_el_crimen_organizado_-_pdfMario Paternina
 

En vedette (20)

Propuesta Web CGM
Propuesta Web CGMPropuesta Web CGM
Propuesta Web CGM
 
Tecnologias del pasado
Tecnologias del pasadoTecnologias del pasado
Tecnologias del pasado
 
What's New in Windows 7 Guide - ITpro.fi - riippumaton IT ...
What's New in Windows 7  Guide - ITpro.fi - riippumaton IT ...What's New in Windows 7  Guide - ITpro.fi - riippumaton IT ...
What's New in Windows 7 Guide - ITpro.fi - riippumaton IT ...
 
Apparel manufacturers
Apparel manufacturersApparel manufacturers
Apparel manufacturers
 
Pick to light
Pick to lightPick to light
Pick to light
 
Tarea de estudio de suelos para el diseño de edificaciones
Tarea de estudio de suelos para el diseño de edificacionesTarea de estudio de suelos para el diseño de edificaciones
Tarea de estudio de suelos para el diseño de edificaciones
 
Code Review: How and When
Code Review: How and WhenCode Review: How and When
Code Review: How and When
 
A report-on-american-and-efird-inc-a-e-bangladesh Ltd
A report-on-american-and-efird-inc-a-e-bangladesh LtdA report-on-american-and-efird-inc-a-e-bangladesh Ltd
A report-on-american-and-efird-inc-a-e-bangladesh Ltd
 
TCFI 3 Installation Manual
TCFI 3 Installation ManualTCFI 3 Installation Manual
TCFI 3 Installation Manual
 
Modulo solucion creativa de problemas en ambientes de aprendizaje guia 2
Modulo  solucion creativa de problemas en ambientes de aprendizaje guia 2Modulo  solucion creativa de problemas en ambientes de aprendizaje guia 2
Modulo solucion creativa de problemas en ambientes de aprendizaje guia 2
 
Discurso del Lehendakari - Desayuno empresas vascas en México (Estados de Que...
Discurso del Lehendakari - Desayuno empresas vascas en México (Estados de Que...Discurso del Lehendakari - Desayuno empresas vascas en México (Estados de Que...
Discurso del Lehendakari - Desayuno empresas vascas en México (Estados de Que...
 
Anupa_IndependentProjectReport_MAD13026
Anupa_IndependentProjectReport_MAD13026Anupa_IndependentProjectReport_MAD13026
Anupa_IndependentProjectReport_MAD13026
 
Ciclos formativos de grado medio. Isabel Bosch Linares. Orientadora.
Ciclos formativos de grado medio. Isabel Bosch Linares. Orientadora.Ciclos formativos de grado medio. Isabel Bosch Linares. Orientadora.
Ciclos formativos de grado medio. Isabel Bosch Linares. Orientadora.
 
Notarized-w-Receipts-NYS-Venom-Drugs-and-Bombing-Criminal-Report-December-4-2...
Notarized-w-Receipts-NYS-Venom-Drugs-and-Bombing-Criminal-Report-December-4-2...Notarized-w-Receipts-NYS-Venom-Drugs-and-Bombing-Criminal-Report-December-4-2...
Notarized-w-Receipts-NYS-Venom-Drugs-and-Bombing-Criminal-Report-December-4-2...
 
pdf.pdf
pdf.pdfpdf.pdf
pdf.pdf
 
Wedding suggestions 2014,1
Wedding suggestions 2014,1Wedding suggestions 2014,1
Wedding suggestions 2014,1
 
Reunion Mensual 01 14 Ene09
Reunion Mensual 01 14 Ene09Reunion Mensual 01 14 Ene09
Reunion Mensual 01 14 Ene09
 
La webera
La weberaLa webera
La webera
 
Instrumentos juridicos contra_el_crimen_organizado_-_pdf
Instrumentos juridicos contra_el_crimen_organizado_-_pdfInstrumentos juridicos contra_el_crimen_organizado_-_pdf
Instrumentos juridicos contra_el_crimen_organizado_-_pdf
 
Anuncio para fruta plantas1
Anuncio para fruta plantas1Anuncio para fruta plantas1
Anuncio para fruta plantas1
 

Similaire à Alternativas de alta disponiblidad en MySQL - MySQL Meetup - Montevideo - Marzo 2012

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.1Francisco Medina
 
MySQL de 1995 a 5.5
MySQL de 1995 a 5.5MySQL de 1995 a 5.5
MySQL de 1995 a 5.5juliomacr
 
LSWC PostgreSQL 9.1 (2011)
LSWC PostgreSQL 9.1 (2011)LSWC PostgreSQL 9.1 (2011)
LSWC PostgreSQL 9.1 (2011)Emanuel Calvo
 
Mysq Replication
Mysq ReplicationMysq Replication
Mysq ReplicationIrontec
 
Software Líbre con respaldo de Oracle ~ OTN Tour 2013
Software Líbre con respaldo de Oracle ~ OTN Tour 2013Software Líbre con respaldo de Oracle ~ OTN Tour 2013
Software Líbre con respaldo de Oracle ~ OTN Tour 2013Mysql Latinoamérica
 
Software Open Source – Open Day Oracle 2013
Software Open Source – Open Day Oracle 2013Software Open Source – Open Day Oracle 2013
Software Open Source – Open Day Oracle 2013Erik Gur
 
MySQL Team – Open Day Oracle 2013
MySQL Team – Open Day Oracle 2013MySQL Team – Open Day Oracle 2013
MySQL Team – Open Day Oracle 2013Erik Gur
 
Oracle Day 2013 ~ MySQL Replication
Oracle Day 2013 ~ MySQL Replication Oracle Day 2013 ~ MySQL Replication
Oracle Day 2013 ~ MySQL Replication Manuel Contreras
 
Cluster MySQL en Windows
Cluster MySQL en WindowsCluster MySQL en Windows
Cluster MySQL en WindowsErick Cruz
 
MySQL - High Availability - Load Balacing - Cluster
MySQL - High Availability - Load Balacing - ClusterMySQL - High Availability - Load Balacing - Cluster
MySQL - High Availability - Load Balacing - ClusterMiguel Angel Nieto
 
UYOUG 2010 - RMAN sin misterios
UYOUG 2010 - RMAN sin misteriosUYOUG 2010 - RMAN sin misterios
UYOUG 2010 - RMAN sin misteriosNelson Calero
 
High availabitily & Clusters #mootes15
High availabitily & Clusters #mootes15High availabitily & Clusters #mootes15
High availabitily & Clusters #mootes15Sara Arjona Téllez
 
Charla técnica comercial v3.0 junio 2014 db visit productos
Charla técnica comercial v3.0 junio 2014 db visit productosCharla técnica comercial v3.0 junio 2014 db visit productos
Charla técnica comercial v3.0 junio 2014 db visit productosRonald Francisco Vargas Quesada
 
Bases distribuidas en mysql
Bases distribuidas en mysqlBases distribuidas en mysql
Bases distribuidas en mysqlGiovanni Peruch
 

Similaire à Alternativas de alta disponiblidad en MySQL - MySQL Meetup - Montevideo - Marzo 2012 (20)

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
 
MySQL de 1995 a 5.5
MySQL de 1995 a 5.5MySQL de 1995 a 5.5
MySQL de 1995 a 5.5
 
LSWC PostgreSQL 9.1 (2011)
LSWC PostgreSQL 9.1 (2011)LSWC PostgreSQL 9.1 (2011)
LSWC PostgreSQL 9.1 (2011)
 
Replicación Mysql
Replicación MysqlReplicación Mysql
Replicación Mysql
 
Mysq Replication
Mysq ReplicationMysq Replication
Mysq Replication
 
Software Líbre con respaldo de Oracle ~ OTN Tour 2013
Software Líbre con respaldo de Oracle ~ OTN Tour 2013Software Líbre con respaldo de Oracle ~ OTN Tour 2013
Software Líbre con respaldo de Oracle ~ OTN Tour 2013
 
Software Open Source – Open Day Oracle 2013
Software Open Source – Open Day Oracle 2013Software Open Source – Open Day Oracle 2013
Software Open Source – Open Day Oracle 2013
 
My sql ha-fina_lv2
My sql ha-fina_lv2My sql ha-fina_lv2
My sql ha-fina_lv2
 
Optimización del rendimiento con MySQL
Optimización del rendimiento con MySQLOptimización del rendimiento con MySQL
Optimización del rendimiento con MySQL
 
MySQL Team – Open Day Oracle 2013
MySQL Team – Open Day Oracle 2013MySQL Team – Open Day Oracle 2013
MySQL Team – Open Day Oracle 2013
 
Bases de datos distribuidas
Bases de datos distribuidasBases de datos distribuidas
Bases de datos distribuidas
 
Oracle Day 2013 ~ MySQL Replication
Oracle Day 2013 ~ MySQL Replication Oracle Day 2013 ~ MySQL Replication
Oracle Day 2013 ~ MySQL Replication
 
Cluster MySQL en Windows
Cluster MySQL en WindowsCluster MySQL en Windows
Cluster MySQL en Windows
 
MySQL - High Availability - Load Balacing - Cluster
MySQL - High Availability - Load Balacing - ClusterMySQL - High Availability - Load Balacing - Cluster
MySQL - High Availability - Load Balacing - Cluster
 
Base de dato
Base de  dato Base de  dato
Base de dato
 
Base de dato act4
Base de  dato act4Base de  dato act4
Base de dato act4
 
UYOUG 2010 - RMAN sin misterios
UYOUG 2010 - RMAN sin misteriosUYOUG 2010 - RMAN sin misterios
UYOUG 2010 - RMAN sin misterios
 
High availabitily & Clusters #mootes15
High availabitily & Clusters #mootes15High availabitily & Clusters #mootes15
High availabitily & Clusters #mootes15
 
Charla técnica comercial v3.0 junio 2014 db visit productos
Charla técnica comercial v3.0 junio 2014 db visit productosCharla técnica comercial v3.0 junio 2014 db visit productos
Charla técnica comercial v3.0 junio 2014 db visit productos
 
Bases distribuidas en mysql
Bases distribuidas en mysqlBases distribuidas en mysql
Bases distribuidas en mysql
 

Plus de Nelson Calero

Database automation guide - Oracle Community Tour LATAM 2023
Database automation guide - Oracle Community Tour LATAM 2023Database automation guide - Oracle Community Tour LATAM 2023
Database automation guide - Oracle Community Tour LATAM 2023Nelson Calero
 
Terraform Tips and Tricks - LAOUC 2022
Terraform Tips and Tricks - LAOUC 2022Terraform Tips and Tricks - LAOUC 2022
Terraform Tips and Tricks - LAOUC 2022Nelson Calero
 
Oracle on kubernetes 101 - Dec/2021
Oracle on kubernetes 101 - Dec/2021Oracle on kubernetes 101 - Dec/2021
Oracle on kubernetes 101 - Dec/2021Nelson Calero
 
Automate Oracle database patches and upgrades using Fleet Provisioning and Pa...
Automate Oracle database patches and upgrades using Fleet Provisioning and Pa...Automate Oracle database patches and upgrades using Fleet Provisioning and Pa...
Automate Oracle database patches and upgrades using Fleet Provisioning and Pa...Nelson Calero
 
Oracle Exadata Cloud Services guide from practical experience - OOW19
Oracle Exadata Cloud Services guide from practical experience - OOW19Oracle Exadata Cloud Services guide from practical experience - OOW19
Oracle Exadata Cloud Services guide from practical experience - OOW19Nelson Calero
 
Automate your oracle cloud infrastructure operations v2.0 - OOW19
Automate your oracle cloud infrastructure operations v2.0 - OOW19Automate your oracle cloud infrastructure operations v2.0 - OOW19
Automate your oracle cloud infrastructure operations v2.0 - OOW19Nelson Calero
 
Automate the operation of your Oracle Cloud infrastructure v2.0
Automate the operation of your Oracle Cloud infrastructure v2.0Automate the operation of your Oracle Cloud infrastructure v2.0
Automate the operation of your Oracle Cloud infrastructure v2.0Nelson Calero
 
SSL certificates in the Oracle Database without surprises
SSL certificates in the Oracle Database without surprisesSSL certificates in the Oracle Database without surprises
SSL certificates in the Oracle Database without surprisesNelson Calero
 
Practical guide to Oracle Virtual environments
Practical guide to Oracle Virtual environmentsPractical guide to Oracle Virtual environments
Practical guide to Oracle Virtual environmentsNelson Calero
 
Automate your Oracle Cloud Infrastructure operation
Automate your Oracle Cloud Infrastructure operationAutomate your Oracle Cloud Infrastructure operation
Automate your Oracle Cloud Infrastructure operationNelson Calero
 
Welcome to databases in the Cloud
Welcome to databases in the CloudWelcome to databases in the Cloud
Welcome to databases in the CloudNelson Calero
 
Redefining tables online without surprises
Redefining tables online without surprisesRedefining tables online without surprises
Redefining tables online without surprisesNelson Calero
 
Protect Sensitive Data: Implementing Fine-Grained Access Control in Oracle
Protect Sensitive Data: Implementing Fine-Grained Access Control in OracleProtect Sensitive Data: Implementing Fine-Grained Access Control in Oracle
Protect Sensitive Data: Implementing Fine-Grained Access Control in OracleNelson Calero
 
Evolution of Performance Management: Oracle 12c adaptive optimizations - ukou...
Evolution of Performance Management: Oracle 12c adaptive optimizations - ukou...Evolution of Performance Management: Oracle 12c adaptive optimizations - ukou...
Evolution of Performance Management: Oracle 12c adaptive optimizations - ukou...Nelson Calero
 
Oracle Exadata Maintenance tasks 101 - OTN Tour 2015
Oracle Exadata Maintenance tasks 101 - OTN Tour 2015Oracle Exadata Maintenance tasks 101 - OTN Tour 2015
Oracle Exadata Maintenance tasks 101 - OTN Tour 2015Nelson Calero
 
My Experience Using Oracle SQL Plan Baselines 11g/12c
My Experience Using Oracle SQL Plan Baselines 11g/12cMy Experience Using Oracle SQL Plan Baselines 11g/12c
My Experience Using Oracle SQL Plan Baselines 11g/12cNelson Calero
 
Oracle RAC sin sorpresas - v2014
Oracle RAC sin sorpresas - v2014Oracle RAC sin sorpresas - v2014
Oracle RAC sin sorpresas - v2014Nelson Calero
 
AROUG BIDAY 2013 - Automatizar procesos de ETL con PL/SQL
AROUG BIDAY 2013 - Automatizar procesos de ETL con PL/SQLAROUG BIDAY 2013 - Automatizar procesos de ETL con PL/SQL
AROUG BIDAY 2013 - Automatizar procesos de ETL con PL/SQLNelson Calero
 
MariaDB y FOSS en infraestructura de salud y estándares
MariaDB y FOSS en infraestructura de salud y estándaresMariaDB y FOSS en infraestructura de salud y estándares
MariaDB y FOSS en infraestructura de salud y estándaresNelson Calero
 
Collaborate 2012 - Administering MySQL for Oracle DBAs
Collaborate 2012 - Administering MySQL for Oracle DBAsCollaborate 2012 - Administering MySQL for Oracle DBAs
Collaborate 2012 - Administering MySQL for Oracle DBAsNelson Calero
 

Plus de Nelson Calero (20)

Database automation guide - Oracle Community Tour LATAM 2023
Database automation guide - Oracle Community Tour LATAM 2023Database automation guide - Oracle Community Tour LATAM 2023
Database automation guide - Oracle Community Tour LATAM 2023
 
Terraform Tips and Tricks - LAOUC 2022
Terraform Tips and Tricks - LAOUC 2022Terraform Tips and Tricks - LAOUC 2022
Terraform Tips and Tricks - LAOUC 2022
 
Oracle on kubernetes 101 - Dec/2021
Oracle on kubernetes 101 - Dec/2021Oracle on kubernetes 101 - Dec/2021
Oracle on kubernetes 101 - Dec/2021
 
Automate Oracle database patches and upgrades using Fleet Provisioning and Pa...
Automate Oracle database patches and upgrades using Fleet Provisioning and Pa...Automate Oracle database patches and upgrades using Fleet Provisioning and Pa...
Automate Oracle database patches and upgrades using Fleet Provisioning and Pa...
 
Oracle Exadata Cloud Services guide from practical experience - OOW19
Oracle Exadata Cloud Services guide from practical experience - OOW19Oracle Exadata Cloud Services guide from practical experience - OOW19
Oracle Exadata Cloud Services guide from practical experience - OOW19
 
Automate your oracle cloud infrastructure operations v2.0 - OOW19
Automate your oracle cloud infrastructure operations v2.0 - OOW19Automate your oracle cloud infrastructure operations v2.0 - OOW19
Automate your oracle cloud infrastructure operations v2.0 - OOW19
 
Automate the operation of your Oracle Cloud infrastructure v2.0
Automate the operation of your Oracle Cloud infrastructure v2.0Automate the operation of your Oracle Cloud infrastructure v2.0
Automate the operation of your Oracle Cloud infrastructure v2.0
 
SSL certificates in the Oracle Database without surprises
SSL certificates in the Oracle Database without surprisesSSL certificates in the Oracle Database without surprises
SSL certificates in the Oracle Database without surprises
 
Practical guide to Oracle Virtual environments
Practical guide to Oracle Virtual environmentsPractical guide to Oracle Virtual environments
Practical guide to Oracle Virtual environments
 
Automate your Oracle Cloud Infrastructure operation
Automate your Oracle Cloud Infrastructure operationAutomate your Oracle Cloud Infrastructure operation
Automate your Oracle Cloud Infrastructure operation
 
Welcome to databases in the Cloud
Welcome to databases in the CloudWelcome to databases in the Cloud
Welcome to databases in the Cloud
 
Redefining tables online without surprises
Redefining tables online without surprisesRedefining tables online without surprises
Redefining tables online without surprises
 
Protect Sensitive Data: Implementing Fine-Grained Access Control in Oracle
Protect Sensitive Data: Implementing Fine-Grained Access Control in OracleProtect Sensitive Data: Implementing Fine-Grained Access Control in Oracle
Protect Sensitive Data: Implementing Fine-Grained Access Control in Oracle
 
Evolution of Performance Management: Oracle 12c adaptive optimizations - ukou...
Evolution of Performance Management: Oracle 12c adaptive optimizations - ukou...Evolution of Performance Management: Oracle 12c adaptive optimizations - ukou...
Evolution of Performance Management: Oracle 12c adaptive optimizations - ukou...
 
Oracle Exadata Maintenance tasks 101 - OTN Tour 2015
Oracle Exadata Maintenance tasks 101 - OTN Tour 2015Oracle Exadata Maintenance tasks 101 - OTN Tour 2015
Oracle Exadata Maintenance tasks 101 - OTN Tour 2015
 
My Experience Using Oracle SQL Plan Baselines 11g/12c
My Experience Using Oracle SQL Plan Baselines 11g/12cMy Experience Using Oracle SQL Plan Baselines 11g/12c
My Experience Using Oracle SQL Plan Baselines 11g/12c
 
Oracle RAC sin sorpresas - v2014
Oracle RAC sin sorpresas - v2014Oracle RAC sin sorpresas - v2014
Oracle RAC sin sorpresas - v2014
 
AROUG BIDAY 2013 - Automatizar procesos de ETL con PL/SQL
AROUG BIDAY 2013 - Automatizar procesos de ETL con PL/SQLAROUG BIDAY 2013 - Automatizar procesos de ETL con PL/SQL
AROUG BIDAY 2013 - Automatizar procesos de ETL con PL/SQL
 
MariaDB y FOSS en infraestructura de salud y estándares
MariaDB y FOSS en infraestructura de salud y estándaresMariaDB y FOSS en infraestructura de salud y estándares
MariaDB y FOSS en infraestructura de salud y estándares
 
Collaborate 2012 - Administering MySQL for Oracle DBAs
Collaborate 2012 - Administering MySQL for Oracle DBAsCollaborate 2012 - Administering MySQL for Oracle DBAs
Collaborate 2012 - Administering MySQL for Oracle DBAs
 

Dernier

El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfjeondanny1997
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptchaverriemily794
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptMiguelAtencio10
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxAlexander López
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son241514984
 
Segunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxSegunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxMariaBurgos55
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxGoogle-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxAlexander López
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMidwarHenryLOZAFLORE
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxAlexander López
 
Excel (1) tecnologia.pdf trabajo Excel taller
Excel  (1) tecnologia.pdf trabajo Excel tallerExcel  (1) tecnologia.pdf trabajo Excel taller
Excel (1) tecnologia.pdf trabajo Excel tallerValentinaTabares11
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxGESTECPERUSAC
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativaAdrianaMartnez618894
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOnarvaezisabella21
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptJavierHerrera662252
 
Explorando la historia y funcionamiento de la memoria ram
Explorando la historia y funcionamiento de la memoria ramExplorando la historia y funcionamiento de la memoria ram
Explorando la historia y funcionamiento de la memoria ramDIDIERFERNANDOGUERRE
 

Dernier (20)

El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.ppt
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son
 
Segunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxSegunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptx
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxGoogle-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptx
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
 
Excel (1) tecnologia.pdf trabajo Excel taller
Excel  (1) tecnologia.pdf trabajo Excel tallerExcel  (1) tecnologia.pdf trabajo Excel taller
Excel (1) tecnologia.pdf trabajo Excel taller
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptx
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativa
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
 
Explorando la historia y funcionamiento de la memoria ram
Explorando la historia y funcionamiento de la memoria ramExplorando la historia y funcionamiento de la memoria ram
Explorando la historia y funcionamiento de la memoria ram
 

Alternativas de alta disponiblidad en MySQL - MySQL Meetup - Montevideo - Marzo 2012

  • 1. Alternativas de HA en MySQL Ing. Nelson Calero, OCP nelson.calero@gmail.com MySQL Meetup Montevideo 8 de Marzo 2012 1 /47
  • 2. Conceptos Disponibilidad • Porcentaje de tiempo en que un sistema/recurso está disponible para ser usado A = uptime/(uptime + downtime) • Medida con escala de nueves: 99% => 3 días, 15:36 horas /año 99,9% => 8:46 horas/año o 43.8 minutos/mes 99,99% => 53 minutos/año o 4.38 minutos/mes 99,999% => 5 minutos/año o 0.44 minutos/mes 2/47
  • 3. Conceptos - Disponibilidad • Capacidad de continuar trabajando a pesar de fallas (hardware, software, externas). Siendo más formales: • Mean Time Between Failures (MTBF) Tiempo medio estimado entre fallas. • Mean Time to Repair/Recover (MTTR) Tiempo medio para reparar las fallas Equivalente: A = MTBF / (MTBF + MTTR) En un sistema, podemos diseñar la arquitectura para que altos tiempos de MTTR en componentes no afecten la disponibilidad total del sistema. 3/47
  • 4. Soluciones de HA en MySQL Hay varias posibilidades nativas: – Replicación – Storage compartido – Cluster Y varias provistas por terceros: – MMM: Multi Master replication Manager for MySQL. – DRBD: replicación sincrónica de bloques usando la red – Pacemaker: Cluster resource manager – Galera: replicación sincrónica – parche – Tungsten: replicación a nivel de aplicación 4/47
  • 5. MySQL - Replicación Basada en transferencia y aplicación de Log Binario del master a slaves, en forma asincrónica o semisincrónica (5.5). • es en un sólo sentido (one-way) • un slave puede tener un solo master • por sentencias, registros cambiados (5.1), o mixto • puede ser parcial, filtrando por base y tablas • controlada por parámetros en my.cnf y comandos para configuración dinámica • cluster implementa replicación sincrónica Dos thread en cada slave: • obtiene registros de binlog y genera relaylog (I/O thread) • lee relaylog y aplica registros (SQL thread) 5/47
  • 6. MySQL - Replicación "MySQL replication by default is asynchronous. The master writes events to its binary log but does not know whether or when a slave has retrieved and processed them. With asynchronous replication, if the master crashes, transactions that it has committed might not have been transmitted to any slave. Consequently, failover from master to slave in this case may result in failover to a server that is missing transactions relative to the master" http://dev.mysql.com/doc/refman/5.5/en/replication-semisync.html 6/47
  • 7. MySQL - Replicación - funcionalidades hasta 5.1 (2008): 1. log binario de sentencias, registros, o mixto 2. filtro de bases, tablas y transacciones 3. sentencias no determinísticas 4. disponible para Cluster en 5.5 (2010): 1. semisincrónica 2. fsync mejorado en slave 3. recuperación de corrupción en relay log 4. heartbeat 5. filtro de eventos por servidor en 5.6 (m3): 1. replication_event_checksum 7/47
  • 8. Mysql - Replicación Semisincrónica (5.5): • parche original de google - 2007 • slaves confirman recepción de eventos al master • commit se responde al cliente luego que un slave haya confirmado recepción de evento • implementado con plugins en master y slave o rpl_semi_sync_master_enabled = 0/1; o rpl_semi_sync_master_timeout = N;  1000 = 1 segundo o rpl_semi_sync_slave_enabled = 0/1; • monitoreo o SHOW STATUS LIKE 'Rpl_semi_sync%'; 8/47
  • 9. MySQL - Replicación • ¿Cómo habilitar log binario? log-bin # en my.cnf • Si slaves van a tener habilitada réplica, habilitar que su binlog incluya cambios aplicados del master log-slave-updates # en my.cnf • ¿Cuándo se genera un archivo nuevo? – al reiniciar el servidor mysql – al llegar al tamaño máximo (max_binlog_size) – ejecutando FLUSH LOGS • ¿Cuándo se borran los archivos de logbin? – cuando se llega a EXPIRE_LOGS_DAYS – ejecutando PURGUE MASTER LOGS 9/47
  • 10. MySQL - Replicación SET BINLOG_FORMAT=[row|statement|mixed|default]; statement • almacena las sentencias SQL ejecutadas, DDL y DML. • tamaño independiente del volumen de datos • necesita que todas las tablas de la sentencia estén replicadas. • sentencias no determinísticas no son replicadas row • almacena datos modificados • lockea solo datos necesarios • recomendado cuando hay poco volumen de cambios 10/47
  • 11. MySQL - Replicación binlog filtrado en master: • SET SQL_LOG_BIN=0 • binlog-do-db, binlog-ignore-db filtrada aplicación en slave: • replicate-do/ignore-db/table, replicate-do-table • mysql proxy NOTA: Binlog filtrado implica que no sirve para recuperación ! Configurar para consistencia sync_binlog=1 # escribe binlog a disco después de cada escritura innodb_support_xa=1 # sincroniza binlog con InnoDB datafiles (caídas innodb que genera rollback) 11/47
  • 12. MySQL - Replicación ¿Replicación bi-direccional? • No soportado. o Esto quiere decir: slave no actualiza datos en master, porque el flujo de datos es siempre en un sentido: del master al slave. • Se puede configurar master y slave en un mismo servidor, y parece bi-direccional si ambos tienen configuración simétrica, pero son dos configuraciones distintas. • Problemas a considerar: o autoincrementos o restricciones de unicidad (UKs) o cambios fuera de orden 12/47
  • 13. MySQL - Replicación Sentencias inseguras (unsafe) no son replicadas en formato statement: • no determinísticas • aquellas que pueden retornar valor distinto en slave sysdate(), user, UUID(), etc. • otras sentencias no seguras: update ... limit insert delayed load data infile # desde 5.1.50 • algunas no determinísticas se consideran seguras: ej.: curtime(), last_insert_id() 13/47
  • 14. MySQL - Replicación Soporta cambios externos en la base de datos del slave: • cambiar de engine en slaves • master InnoDB y slave MyISAM Servía hace algunos años cuando InnoDB no tenía buena performance. Actualmente es discutible. Puede servir para algún caso particular. Medirlo en el sistema! ● Blackhole: filtro de datos ● cambiar configuración de slaves buscando mejor performance • cambiar índices • cambiar configuración raid 14/47
  • 15. MySQL - Replicación - 5.1 Replicación en cluster • desde 5.1.6 master/slave. circular desde 5.1.18 • configuración de máxima disponibilidad http://dev.mysql.com/doc/refman/5.5/en/mysql-cluster-replication.html 15/47
  • 16. MySQL - Replicación Contras: • no hay automatización oficial de failover, se requiere intervención manual o programación. • escritura en slaves está limitada a un thread. Multi-thread en 5.6 (está en m6). • es asincrónica y no transaccional, por lo que puede perder datos. Mejorado en 5.5.2 (semisync) y 5.6 (crash recovery) • slave necesita monitoreo: caídas, demoras, consistencia 16/47
  • 17. Soluciones de HA en MySQL Nativas 1. Replicación 2. Storage compartido 3. Cluster De terceros 1. MMM 2. DRBD 3. Pacemaker 4. Galera 5. Tungsten 17/47
  • 18. MySQL - Storage compartido Activo/activo • no soportado en InnoDB • MyISAM: o sobre cluster file system (OCFS2/GFS) o parámetros necesarios:  external-locking  query-cache=0  delay_key_write=off Activo/pasivo • Necesita software de terceros para heartbeat • Failover: o InnoDB aplica recovery o MyISAM necesita que se valide que no hay tablas corruptas: --myisam_recover como opción de arranque o myisamchk antes de levantarlo. 18/47
  • 19. Soluciones de HA en MySQL Nativas 1. Replicación 2. Storage compartido 3. Cluster De terceros 1. MMM 2. DRBD 3. Pacemaker 4. Galera 5. Tungsten 19/47
  • 20. MySQL - Cluster Arquitectura shared nothing http://dev.mysql.com/doc/mysql-cluster-excerpt/5.1/en/mysql-cluster-overview.html 20/47
  • 21. MySQL - Cluster A partir de mysql 5.5, cluster es una distribución independiente. Actualmente está en producción 7.2 Nodo de datos - NDBD - Almacena datos e índices ● Desde 7.2 soporta varios procesos (nodos) en mismo host Nodo SQL - mysqld (versión 5.1) • Maneja comunicación con cliente: recibe sentencias SQL y se comunica con nodos de datos para ejecutarla Nodo de Gestión - ndb_mgmd • monitoreo, configuración y control del cluster Datos se almacenan particionados y replicados entre NDBD • fragmento activo (primario) y de failover (secundarios) • parámetro NoOfReplicas es 2 por defecto o valores mayores soportan caídas de más nodos 21/47
  • 22. MySQL - Cluster Caídas soportadas nodo sql: • clientes se desconectan y transacciones no commiteadas se pierden nodo datos: • máximo NoOfReplicas-1 • en caso de split-brain, vive el grupo con mayoría de nodos, y desempata nodo árbitro. nodo gestión: • no impacta el funcionamiento del cluster • no se pueden agregar nuevos nodos hasta que vuelva 22/47
  • 23. MySQL - Cluster Varias operaciones online: • backup • software upgrade • agregar nodos de datos • system restart en modo "rolling" o gestión, datos (de a uno, todos), sql (idem) Balanceo de carga: • Java Connector/J 5.0.6: jdbc:mysql:loadbalance:// Base ndbinfo con datos en vivo: • nodos activos • memoria usada (tabla memoryusage) • varios contadores de actividad (tabla counters) 23/47
  • 24. MySQL - Cluster Recomendado para • transacciones cortas y chicas • sql con joins simples y búsquedas por PK • alta disponibilidad Casos de uso • sistemas de tiempo real • soporte a telefonía Configuración - en práctico • Usa un archivo de configuración global: config.ini • local a cada nodo: my.cnf o ubicación de nodos de gestión • logs por nodo (ndb_#_out.log) y global (ndb_#_cluster.log) 24/47
  • 25. MySQL - Cluster Limitaciones • mínimo tres equipos, máximo 255 (48 nodos de datos) • lento en joins de mucho volumen y agregaciones • no soporta índices fulltext ni foreing keys • datos se almacenan en memoria (solo columnas indexadas desde 5.5, antes todo), lo que limita el tamaño máximo de la base a la capacidad de los servidores de datos. • estimación de memoria RAM necesaria en cada nodo: (SizeofDatabase x NumberOfReplicas x 1.1 ) / NumberOfDataNodes ndb_size.pl estima memoria necesaria en cluster a partir de una instancia mysql común. http://dev.mysql.com/doc/refman/5.5/en/mysql-cluster-programs-ndb-size-pl.html 25/47
  • 26. MySQL - Cluster MCM: MySQL Cluster Manager • versión comercial: MySQL Cluster Carrier Grade Edition • mcmd --bootstrap # instala cluster de 3 nodos configurado • Redhat/OEL 5, SuSE EL10/11 26/47
  • 27. Soluciones de HA en MySQL Nativas 1. Replicación 2. Storage compartido 3. Cluster De terceros 1. MMM 2. DRBD 3. Pacemaker 4. Galera 5. Tungsten 27/47
  • 28. Mysql - Multi Master Manager http://mysql-mmm.org/ ● Scripts para monitoreo y failover de replicaciones master/master con un solo nodo soportando escrituras Scripts: ● mmm_mond, mmm_agentd, mmm_control Bug reportado 27/4/2011 • https://bugs.launchpad.net/mysql-mmm/+bug/771843 "moving slaves to the new master can cause inconsistency accross databases" • pasado a prioridad alta el 25/5, a resolver en v2.2 28/47
  • 29. Soluciones de HA en MySQL Nativas 1. Replicación 2. Storage compartido 3. Cluster De terceros 1. MMM 2. DRBD 3. Pacemaker 4. Galera 5. Tungsten 29/47
  • 30. MySQL - DRBD Distributed Replicated Block Device - http://www.drbd.org • módulo en kernel linux que implementa replicación sincrónica de bloques usando la red (raid-1) 30/47
  • 31. MySQL - DRBD Necesita software de gestión de cluster para automatizar: • heartbeat / pacemaker Ventajas • alternativa barata a una caja de storage (SAN) • datos quedan locales al servidor activo (performance) • es más seguro que replicación nativa (consistencia) • actualizaciones de hardware/software usando failover contras • soportado solo en linux • agrega complejidad • corrupción se propaga • no permite replicar parte de la base 31/47
  • 32. MySQL - DRBD Activo/activo • Sobre GFS/OCFS2 • Sólo con MyISAM Con LVM • se puede usar debajo y sobre DRBD • snapshots sólo si LVM va debajo • snapshots en slave permiten montar el filesystem para maniobras read-only Soporta mirroring sincrónico y asincrónico • necesario para WAN, no recomendado para MySQL 32/47
  • 33. Mysql - DRBD Parámetros recomendados en MySQL: • log-bin=nombre por defecto es hostname y puede cambiar • innodb_log_file_size más chico permite recovery más rápido • myisam_recover=force,backup para chequeo automático de corrupción en failover • innodb_support_xa=1 sincroniza binlog con innodb datafiles (caídas innodb que genera rollback) • sync_binlog=1 escribe binlog a disco después de cada escritura 33/47
  • 34. MySQL - DRBD Posibles fallas master 1. caída del servidor 2. tranca sin que falle, no liberando recursos. Requiere fencing del agente de cluster (heartbeat) 3. corte del enlace con secundario secundario 1. caída del servidor 2. corrupción de datos por fallas en storage 3. corte del enlace con master 34/47
  • 35. Soluciones de HA en MySQL Nativas 1. Replicación 2. Storage compartido 3. Cluster De terceros 1. MMM 2. DRBD 3. Pacemaker 4. Galera 5. Tungsten 35/47
  • 36. Pacemaker Cluster resource manager - http://www.clusterlabs.org/ gpl (v2), no hay versión enterprise. ● Apoyado por RedHat / Novell / LinBit. Funcionalidades • soporta infraestructura de OpenAIS y Heartbeat • implementa STONITH para asegurar integridad de datos • configuración redundante en CIB (cluster information base), archivo XML • usa cualquier recurso que pueda ser gestionado con scripts • soporta varias configuraciones redundantes: activo/pasivo, activo/activo, N+1, etc. ➢ Parte de Heartbeat hasta versión 2.1.3. Luego se independizó ➢ 1.0 más testeado sobre Heartbeat que con Corosync 36/47
  • 39. Pacemaker con MySQL ● gran comunidad de usuarios ● percona-prm: Mysql Replication Manager (alpha) Pasos para comenzar a utilizarlo: ● Configurar Heartbeat /etc/ha.d/ha.cf ● Configurar recursos Muchos parámetros, estudiar bien opciones Stonith para producción ● Probar escenarios ! 39/47
  • 40. Pacemaker Recurso: ● clase: OCF/lsb/legacy-heartbeat/stonith ● parámetros ● operaciones de monitoreo ● scores: usado en toma de decisiones - = no usar + = usar INFINITY = constante ● lsb: script de inicio cumpliendo Linux Standard Base ● OCF: Open Cluster Framework, extensión de LSB 40/47
  • 41. Pacemaker ● Ejemplo de configuración para DRBD: $> crm configure edit primitive drbd_disk ocf:linbit:drbd params drbd_resource="mysql" op monitor interval="15s" primitive fs_drbd ocf:heartbeat:Filesystem params device="/dev/drbd0" directory="/varios/01" fstype="ext3" ms ms_drbd drbd_disk meta master-max="1" master-node-max="1" clone-max="2" clone-node-max="1" notify="true" colocation mnt_on_master inf: fs_drbd ms_drbd:Master order mount_after_drbd inf: ms_drbd:promote fs_drbd:start 41/47
  • 42. Soluciones de HA en MySQL Nativas 1. Replicación 2. Storage compartido 3. Cluster De terceros 1. MMM 2. DRBD 3. Pacemaker 4. Galera 5. Tungsten 42/47
  • 43. MySQL - Galera Replicación sincrónica http://codership.com/products/galera_replication 43/47
  • 44. MySQL - Galera Características • Réplica en tiempo de commit • Sincrónica y multi-master • gestiona variables de autoincremento • Lleva ID de transacciones para garantizar consistencia • controla datos a replicar al recibirlos y antes de aplicarlos (certificación) • Implementación genérica. Primera versión en InnoDB. • Parche para MySQL • Configurable mediante variables en my.cnf 'wsrep%'; • Publica variables de estado o show status like 'wsrep%'; • control de flujo con triggers (exceso de carga) 44/47
  • 45. Soluciones de HA en MySQL Nativas 1. Replicación 2. Storage compartido 3. Cluster De terceros 1. MMM 2. DRBD 3. Pacemaker 4. Galera 5. Tungsten 45/47
  • 46. MySQL - Tungsten Replicator Opensource, GPL V2, y versión enterprise http://www.continuent.org Funcionalidades • replicación en paralelo, multi-master y heterogena (aplica a PostgreSQL, MySQL y Oracle). • implementa ID de transacciones global • múltiples servicios de replicación por proceso (N-N) Buena documentación: http://code.google.com/p/tungsten-replicator/wiki/TungstenReplicatorCookbook http://code.google.com/p/tungsten-replicator/wiki/Troubleshooting 46/47
  • 47. MySQL - Tungsten Replicator Conector: • intermedia entre aplicación y BD • implementación nativa MySQL y PostgreSQL • incluye módulo router que se comunica con la BD, e implementa HA Replicator: captura cambios y propaga a otros replicators, usando protocolo propio TLH. Manager: monitorea estado de componente, mediante módulos monitores: replicator, database y cluster. 47/47