SlideShare uma empresa Scribd logo
1 de 31
Baixar para ler offline
<Insert Picture Here>




                        MySQL
    High Availability and Scale-Out

   Wagner Bianchi – wagner.bianchi@oracle.com
The preceding is intended to outline our general product
direction. It is intended for information purposes only, and may
not be incorporated into any contract. It is not a commitment to
deliver any material, code, or functionality, and should not be
relied upon in making purchasing decisions. The development,
release, and timing of any features or functionality described for
Oracle’s products remains at the sole discretion of Oracle.




                                                                     2
Apresentação


      Wagner Bianchi é especialista em MySQL, com foco nas áreas
de performance tuning, Scale-Out e High Availability. Com 7 anos de
experiência com o produto, Bianchi prestou serviços de consultoria em
várias empresas no Brasil e na América Latina, participando de grandes
projetos   de   migração,   performance   tuning   e   de   garantia   de
disponibilidade de dados, utilizando produtos como MySQL 3.23++,
MySQL Cluster, DRBD e Heartbeat. Certificado SCMA, SCMDEV e
SCMDBA. Atualmente, Bianchi é Senior Principal Consultant no MySQL
Professional Services para a América Latina na Oracle Corporation.




                                                                            3
Agenda

• MySQL Scale-Up x MySQL Scale-Out

• MySQL High-Availability
  • Replicação Assíncrona e Semi-síncrona;

  • DRBD / Linux Heartbeat;

  • MySQL Cluster;
     • MySQL Enterprise Monitor (NEW – Monitor Version 2.3)

     • MySQL Cluster Grade Carrier




                                                              4
MySQL BRASIL




               5
Soluções MySQL High-Availability




                                   6
MySQL Scale-Up x MySQL Scale-Out



                 Scalability Strategy




 Vertical
                            Horizontal




                                         7
MySQL Scale-Out

• O MySQL é um servidor de bancos de dados que foi concebido para ser
  utilizado em ambientes de qualquer tamanho, seja este pequeno, médio
  ou gigante;

• Como estratégia principal, o MySQL suporta o recurso de replicação de
  dados locais, em uma LAN ou em WAN, conectando geograficamente
  vários sites - escalabilidade horizontal;




                                                                          8
MySQL Scale-Out

• As principais razões para iniciar projetos de Scale-Out com o
 MySQL são:

  • Grande quantidade de transações e aumento do workload;

  • Necessidade de atender mais aplicativos internos e externos;

  • Necessidade de maior velocidade no acesso à informações para
    tomada de decisão (relatórios e agregações de dados);

  • Necessidade de backup online com possibilidade de failover;




                                                                   9
MySQL Scale-Out




                  10
Replicação Assíncrona

• Recurso disponível no servidor de bancos de dados MySQL
 desde a versão 3.23, focada na replicação de dados com a
 utilização de “commodity hardware”;

• Trabalha com os conceitos de servidor MASTER e SLAVE, com
 duas threads no SLAVE e uma que se comunica com a única
 thread do MASTER;

• Dependente do log binário;




                                                              11
Replicação Assíncrona




                        12
Time to get busy!

• Criação de replicação entre duas instâncias do servidor de
 bancos de dados MySQL, em duas máquinas separadas;




                                                           13
Replicação Semi-Síncrona

• Disponibilizada no formato plugin, assim como o partition engine
 e outros Storage Engines a partir da versão 5.1* do servidor de
 bancos de dados MySQL;

• Após instalado o plugin, uma módulo para o MASTER e outro
 para os SLAVEs, o recurso poderá ser configurado no runtime do
 MySQL;

• Um dos principais motivos para um novo modelo de replicação:
 problemas com delay na entrega de dados entre o MASTER e os
 SLAVEs;

                                                                 14
Replicação Semi-Síncrona

 • Instalando o plugin:
mysql>   -- módulo do MASTER
mysql>   INSTALL PLUGIN rpl_semi_sync_master SONAME 'semisync_master.so';
mysql>   -- módulo do SLAVE
mysql>   INSTALL PLUGIN rpl_semi_sync_slave SONAME 'semisync_slave.so';


 • Habilitando a replicação semi-síncrona no MASTER e no SLAVE;

mysql> -- executar no servidor MASTER
mysql> SET GLOBAL rpl_semi_sync_master_enabled = 1;
mysql> SET GLOBAL rpl_semi_sync_master_timeout = 1000;

mysql> -- executar nos servidores SLAVE
mysql> SET GLOBAL rpl_semi_sync_slave_enabled = 1;

mysql> STOP SLAVE IO_THREAD;
mysql> START SLAVE IO_THREAD;




                                                                            15
Replicação Semi-Síncrona

• Este modelo de replicação possui o seu “Heartbeat”, possibilita
 que verifiquemos através de variáveis de status problemas de
 conexão entre os SLAVEs e o MASTER;



• Para a utilização, será necessário uma parada na replicação
 entre os servidores, FLUSH TABLES WITH READ LOCK no
 MASTER e CHANGE MASTER TO nos SLAVEs (pode-se utilizar
 arquivos e o comando source);




                                                                16
Replicação Semi-Síncrona

 • Comandos para os SLAVEs;
mysql> STOP SLAVE;
mysql> CHANGE MASTER TO master_heartbeat_period = <milliseconds_value>;
mysql> START SLAVE;


 • Antes de setar o valor da variável acima, o valor de
   master_heartbeat_period deve ser menor ao igual ao valor
   de slave_net_timeout;

 • Os problemas registrados pelo Heartbeat da replicação semi-
   síncrona poderá ser visto através das variáveis de status;




                                                                          17
Time to get busy!

• Alterando a replicação assíncrona para uma replicação semi-
 síncrona com Heartbeat e exibindo o seu monitoramento;




                                                            18
High Availability

• Muitos são os ambientes que têm a necessidade de operar 24x7,
 operadoras de telefonia, centrais de televisão, empresas que
 fornecem serviços em geral e outras;

• A alta-disponibilidade possibilita que estas empresas tenham
 seus sistemas acessíveis o mais tempo possível, atendendo
 melhor e a mais clientes;


  • Quanto tempo sua aplicação precisa ficar online/uptime?

  • Quanto tempo sua aplicação pode ter de downtime?


                                                              19
High Availability

• Equação simples:
     Availability = uptime / (uptime + downtime)

• A forma acima nos dará um valor percentual do quanto uma
 aplicação está online (variáveis de status ou log da aplicação);

     Availability            Nines          Downtime Allowed
        90%                    1              36.5 days/year
        99%                    2              36.5 days/year
       99,9%                   3             8.76 hours/year
      99,99%                   4             52 minutes/year
      99,999%                  5              5 minutes/year



                                                                    20
MySQL High-Availability Options

• As opções de alta disponibilidade com o MySQL que
 discutiremos são:


  • Linux Heartbeat / DRBD;

  • MySQL Cluster;




                                                  21
Linux Heartbeat

• Possibilita que todos os servidores de bancos de dados MySQL
 sejam acessados através de um mesmo IP Virtual;

• Utiliza o seu próprio protocolo chamado de heartbeat-protocol
 para checar se os servidores de bancos de dados estão
 acessíveis e respondendo;

• Roda diretamente em todos os nodos de um esquema de Cluster
 ou Replicação e rapidamente inicia o processo de takeover caso
 o nodo primary apresenta algum problema para ser acessado;



                                                              22
Linux Heartbeat – IP Address Takeover




                                        23
Linux Heartbeat – IP Address Takeover




                                        24
DRBD

• Constantemente utilizado em conjunto com o Heartbeat como
 uma solução de failover baseado na montagem de um device
 que contém blocos replicados;

• É mais uma solução de alta-disponibilidade em nível de sistema
 operacional que propriamente do MySQL – funciona como um
 RAID 1, com failover;

• O Heartbeat não recebe sinais de vida de um dos nodos e inicia
 o montagem de um device “/dev/drbd0” e realiza o failover;



                                                               25
DRBD




       26
MySQL Cluster

• O MySQL Cluster é de longe solução mais interessante para
 ambientes   que    necessitam      de   alta-disponibilidade   de
 informação, primeiro por sua arquitetura e pela facilidade de
 implementação;

• Uma vez configurado, o MySQL Cluster por si oferecerá ao
 ambiente failover, redundância e replicação síncrona da
 informação entre os data nodes;

• Um implementação básica do MySQL Cluster requer no mínimo
 5 máquinas com hardware similar;

                                                                 27
MySQL Cluster Architecture




                             28
MySQL Enterpise Monitor




                          29
Questions & Answers




                      30
Thanks...




            31

Mais conteúdo relacionado

Mais procurados

Novidades do Universo MySQL para PHP Web Developers - Dezembro 2014
Novidades do Universo MySQL para PHP Web Developers - Dezembro 2014Novidades do Universo MySQL para PHP Web Developers - Dezembro 2014
Novidades do Universo MySQL para PHP Web Developers - Dezembro 2014MySQL Brasil
 
Desenvolvendo serviços escaláveis e de alta performance com MySQL
Desenvolvendo serviços escaláveis e de alta performance com MySQLDesenvolvendo serviços escaláveis e de alta performance com MySQL
Desenvolvendo serviços escaláveis e de alta performance com MySQLMySQL Brasil
 
Guia essencial para embarcar o MySQL em seu produto
Guia essencial para embarcar o MySQL em seu produtoGuia essencial para embarcar o MySQL em seu produto
Guia essencial para embarcar o MySQL em seu produtoMySQL Brasil
 
Oracle Premier Support para MySQL
Oracle Premier Support para MySQLOracle Premier Support para MySQL
Oracle Premier Support para MySQLMySQL Brasil
 
Windows Server 2012 - Alem da virtualização
Windows Server 2012 - Alem da virtualizaçãoWindows Server 2012 - Alem da virtualização
Windows Server 2012 - Alem da virtualizaçãoFabio Hara
 
Usando Hyper-v 2012 para virtualização do SQL Server
Usando Hyper-v 2012 para virtualização do SQL ServerUsando Hyper-v 2012 para virtualização do SQL Server
Usando Hyper-v 2012 para virtualização do SQL Serverleorsilva
 
Otimizando a segurança, o desempenho e a disponibilidade com o MySQL Enterpri...
Otimizando a segurança, o desempenho e a disponibilidade com o MySQL Enterpri...Otimizando a segurança, o desempenho e a disponibilidade com o MySQL Enterpri...
Otimizando a segurança, o desempenho e a disponibilidade com o MySQL Enterpri...MySQL Brasil
 
ITCamp - Novidades do windows server 2012
ITCamp - Novidades do windows server 2012ITCamp - Novidades do windows server 2012
ITCamp - Novidades do windows server 2012Vinícius Apolinário
 
Hyper-V - avançado
Hyper-V - avançadoHyper-V - avançado
Hyper-V - avançadoFabio Hara
 
windows server 2012 e windows 8 = melhores juntos
windows server 2012 e windows 8 = melhores juntoswindows server 2012 e windows 8 = melhores juntos
windows server 2012 e windows 8 = melhores juntosFabio Hara
 
Windows Server 2012 - estilo de trabalho moderno
Windows Server 2012 - estilo de trabalho modernoWindows Server 2012 - estilo de trabalho moderno
Windows Server 2012 - estilo de trabalho modernoFabio Hara
 
Ws2012r2 hyper v
Ws2012r2 hyper vWs2012r2 hyper v
Ws2012r2 hyper vFabio Hara
 
MySQL Cluster - visão geral
MySQL Cluster - visão geralMySQL Cluster - visão geral
MySQL Cluster - visão geralMySQL Brasil
 
planejamento pre-instalacao win server 2012
 planejamento pre-instalacao win server 2012 planejamento pre-instalacao win server 2012
planejamento pre-instalacao win server 2012Yan Ferrari Ferreira
 
Windows Server 2012 - Todas aplicações em qualquer nuvem
Windows Server 2012 - Todas aplicações em qualquer nuvemWindows Server 2012 - Todas aplicações em qualquer nuvem
Windows Server 2012 - Todas aplicações em qualquer nuvemFabio Hara
 
Windows server 2012 active directory e server manager fabio hara
Windows server 2012 active directory e server manager fabio haraWindows server 2012 active directory e server manager fabio hara
Windows server 2012 active directory e server manager fabio haraFabio Hara
 
Windows Server 2012 - O poder de multiplos servidores, a simplicidade de um
Windows Server 2012 - O poder de multiplos servidores, a simplicidade de umWindows Server 2012 - O poder de multiplos servidores, a simplicidade de um
Windows Server 2012 - O poder de multiplos servidores, a simplicidade de umFabio Hara
 
Introduction to the citrix xenserver
Introduction to the citrix xenserverIntroduction to the citrix xenserver
Introduction to the citrix xenserverLorscheider Santiago
 
Configurando o serviço dhcp no windows server 2012
Configurando o serviço dhcp no windows server 2012Configurando o serviço dhcp no windows server 2012
Configurando o serviço dhcp no windows server 2012Mario Kleber
 
Barracuda Backup: Solução Completa de Proteção de Dados e Disaster Recovery I...
Barracuda Backup: Solução Completa de Proteção de Dados e Disaster Recovery I...Barracuda Backup: Solução Completa de Proteção de Dados e Disaster Recovery I...
Barracuda Backup: Solução Completa de Proteção de Dados e Disaster Recovery I...Bravo Tecnologia
 

Mais procurados (20)

Novidades do Universo MySQL para PHP Web Developers - Dezembro 2014
Novidades do Universo MySQL para PHP Web Developers - Dezembro 2014Novidades do Universo MySQL para PHP Web Developers - Dezembro 2014
Novidades do Universo MySQL para PHP Web Developers - Dezembro 2014
 
Desenvolvendo serviços escaláveis e de alta performance com MySQL
Desenvolvendo serviços escaláveis e de alta performance com MySQLDesenvolvendo serviços escaláveis e de alta performance com MySQL
Desenvolvendo serviços escaláveis e de alta performance com MySQL
 
Guia essencial para embarcar o MySQL em seu produto
Guia essencial para embarcar o MySQL em seu produtoGuia essencial para embarcar o MySQL em seu produto
Guia essencial para embarcar o MySQL em seu produto
 
Oracle Premier Support para MySQL
Oracle Premier Support para MySQLOracle Premier Support para MySQL
Oracle Premier Support para MySQL
 
Windows Server 2012 - Alem da virtualização
Windows Server 2012 - Alem da virtualizaçãoWindows Server 2012 - Alem da virtualização
Windows Server 2012 - Alem da virtualização
 
Usando Hyper-v 2012 para virtualização do SQL Server
Usando Hyper-v 2012 para virtualização do SQL ServerUsando Hyper-v 2012 para virtualização do SQL Server
Usando Hyper-v 2012 para virtualização do SQL Server
 
Otimizando a segurança, o desempenho e a disponibilidade com o MySQL Enterpri...
Otimizando a segurança, o desempenho e a disponibilidade com o MySQL Enterpri...Otimizando a segurança, o desempenho e a disponibilidade com o MySQL Enterpri...
Otimizando a segurança, o desempenho e a disponibilidade com o MySQL Enterpri...
 
ITCamp - Novidades do windows server 2012
ITCamp - Novidades do windows server 2012ITCamp - Novidades do windows server 2012
ITCamp - Novidades do windows server 2012
 
Hyper-V - avançado
Hyper-V - avançadoHyper-V - avançado
Hyper-V - avançado
 
windows server 2012 e windows 8 = melhores juntos
windows server 2012 e windows 8 = melhores juntoswindows server 2012 e windows 8 = melhores juntos
windows server 2012 e windows 8 = melhores juntos
 
Windows Server 2012 - estilo de trabalho moderno
Windows Server 2012 - estilo de trabalho modernoWindows Server 2012 - estilo de trabalho moderno
Windows Server 2012 - estilo de trabalho moderno
 
Ws2012r2 hyper v
Ws2012r2 hyper vWs2012r2 hyper v
Ws2012r2 hyper v
 
MySQL Cluster - visão geral
MySQL Cluster - visão geralMySQL Cluster - visão geral
MySQL Cluster - visão geral
 
planejamento pre-instalacao win server 2012
 planejamento pre-instalacao win server 2012 planejamento pre-instalacao win server 2012
planejamento pre-instalacao win server 2012
 
Windows Server 2012 - Todas aplicações em qualquer nuvem
Windows Server 2012 - Todas aplicações em qualquer nuvemWindows Server 2012 - Todas aplicações em qualquer nuvem
Windows Server 2012 - Todas aplicações em qualquer nuvem
 
Windows server 2012 active directory e server manager fabio hara
Windows server 2012 active directory e server manager fabio haraWindows server 2012 active directory e server manager fabio hara
Windows server 2012 active directory e server manager fabio hara
 
Windows Server 2012 - O poder de multiplos servidores, a simplicidade de um
Windows Server 2012 - O poder de multiplos servidores, a simplicidade de umWindows Server 2012 - O poder de multiplos servidores, a simplicidade de um
Windows Server 2012 - O poder de multiplos servidores, a simplicidade de um
 
Introduction to the citrix xenserver
Introduction to the citrix xenserverIntroduction to the citrix xenserver
Introduction to the citrix xenserver
 
Configurando o serviço dhcp no windows server 2012
Configurando o serviço dhcp no windows server 2012Configurando o serviço dhcp no windows server 2012
Configurando o serviço dhcp no windows server 2012
 
Barracuda Backup: Solução Completa de Proteção de Dados e Disaster Recovery I...
Barracuda Backup: Solução Completa de Proteção de Dados e Disaster Recovery I...Barracuda Backup: Solução Completa de Proteção de Dados e Disaster Recovery I...
Barracuda Backup: Solução Completa de Proteção de Dados e Disaster Recovery I...
 

Destaque

Buchhandel der Zukunft | Trendscouting im Bereich Wohnkultur
Buchhandel der Zukunft | Trendscouting im Bereich WohnkulturBuchhandel der Zukunft | Trendscouting im Bereich Wohnkultur
Buchhandel der Zukunft | Trendscouting im Bereich WohnkulturMartin Miersch
 
Publications alexander zinser
Publications alexander zinserPublications alexander zinser
Publications alexander zinserAlexander Zinser
 
090508 PréSentation Globale Pour AcquéReur
090508 PréSentation Globale Pour AcquéReur090508 PréSentation Globale Pour AcquéReur
090508 PréSentation Globale Pour AcquéReurweisheimer
 
Clipagem Casa Cor SC - Itajaí
Clipagem Casa Cor SC -  ItajaíClipagem Casa Cor SC -  Itajaí
Clipagem Casa Cor SC - ItajaíAndrea Scussel
 
Der Point of Sale wird digital
Der Point of Sale wird digitalDer Point of Sale wird digital
Der Point of Sale wird digitalTWT
 
Seminario 2 estadistica
Seminario 2 estadisticaSeminario 2 estadistica
Seminario 2 estadisticamariadeeeel
 
Copa do caos cota digital 21.07
Copa do caos   cota digital 21.07Copa do caos   cota digital 21.07
Copa do caos cota digital 21.07Meio & Mensagem
 
Apres 3 sale-ostore 2.1
Apres 3 sale-ostore 2.1Apres 3 sale-ostore 2.1
Apres 3 sale-ostore 2.1Edson Jaccoud
 
Rhy Marketing Mobile
Rhy Marketing MobileRhy Marketing Mobile
Rhy Marketing MobileRhy Marketing
 
Mercado de capitales 07.04.11
Mercado de capitales 07.04.11Mercado de capitales 07.04.11
Mercado de capitales 07.04.11finanzas_uca
 
Copa do caos cota digital 30.04
Copa do caos   cota digital 30.04Copa do caos   cota digital 30.04
Copa do caos cota digital 30.04Meio & Mensagem
 

Destaque (20)

Conama 2015, Vehículo eléctrico
Conama 2015, Vehículo eléctricoConama 2015, Vehículo eléctrico
Conama 2015, Vehículo eléctrico
 
Buchhandel der Zukunft | Trendscouting im Bereich Wohnkultur
Buchhandel der Zukunft | Trendscouting im Bereich WohnkulturBuchhandel der Zukunft | Trendscouting im Bereich Wohnkultur
Buchhandel der Zukunft | Trendscouting im Bereich Wohnkultur
 
Publications alexander zinser
Publications alexander zinserPublications alexander zinser
Publications alexander zinser
 
Exhibit 8
Exhibit 8Exhibit 8
Exhibit 8
 
Mentirao
MentiraoMentirao
Mentirao
 
090508 PréSentation Globale Pour AcquéReur
090508 PréSentation Globale Pour AcquéReur090508 PréSentation Globale Pour AcquéReur
090508 PréSentation Globale Pour AcquéReur
 
Kallel mehdi
Kallel mehdiKallel mehdi
Kallel mehdi
 
Marca e Identidade Sale pepe
Marca e Identidade Sale pepeMarca e Identidade Sale pepe
Marca e Identidade Sale pepe
 
Clipagem Casa Cor SC - Itajaí
Clipagem Casa Cor SC -  ItajaíClipagem Casa Cor SC -  Itajaí
Clipagem Casa Cor SC - Itajaí
 
TPS 3 Watuwatu
TPS 3 WatuwatuTPS 3 Watuwatu
TPS 3 Watuwatu
 
Der Point of Sale wird digital
Der Point of Sale wird digitalDer Point of Sale wird digital
Der Point of Sale wird digital
 
2011 Skills Alliance
2011 Skills Alliance2011 Skills Alliance
2011 Skills Alliance
 
Seminario 2 estadistica
Seminario 2 estadisticaSeminario 2 estadistica
Seminario 2 estadistica
 
Copa do caos cota digital 21.07
Copa do caos   cota digital 21.07Copa do caos   cota digital 21.07
Copa do caos cota digital 21.07
 
Apres 3 sale-ostore 2.1
Apres 3 sale-ostore 2.1Apres 3 sale-ostore 2.1
Apres 3 sale-ostore 2.1
 
Rhy Marketing Mobile
Rhy Marketing MobileRhy Marketing Mobile
Rhy Marketing Mobile
 
Celular i(1) (1)
Celular i(1) (1)Celular i(1) (1)
Celular i(1) (1)
 
Mercado de capitales 07.04.11
Mercado de capitales 07.04.11Mercado de capitales 07.04.11
Mercado de capitales 07.04.11
 
Transplace
TransplaceTransplace
Transplace
 
Copa do caos cota digital 30.04
Copa do caos   cota digital 30.04Copa do caos   cota digital 30.04
Copa do caos cota digital 30.04
 

Semelhante a Replicação e alta disponibilidade by wagner bianchi -

Serviços Escaláveis e de Alta Performance com MySQL e Java
Serviços Escaláveis e de Alta Performance com MySQL e JavaServiços Escaláveis e de Alta Performance com MySQL e Java
Serviços Escaláveis e de Alta Performance com MySQL e JavaMySQL Brasil
 
MySQL para Desenvolvedores de Produto
MySQL para Desenvolvedores de ProdutoMySQL para Desenvolvedores de Produto
MySQL para Desenvolvedores de ProdutoMySQL Brasil
 
MySQL Cluster - visão geral
MySQL Cluster - visão geralMySQL Cluster - visão geral
MySQL Cluster - visão geralMySQL Brasil
 
MySQL Cluster - visão geral
MySQL Cluster - visão geralMySQL Cluster - visão geral
MySQL Cluster - visão geralMySQL Brasil
 
MySQL no Windows: implementação eficiente de novas aplicações
MySQL no Windows: implementação eficiente de novas aplicaçõesMySQL no Windows: implementação eficiente de novas aplicações
MySQL no Windows: implementação eficiente de novas aplicaçõesMySQL Brasil
 
MySQL - o banco de dados open source mais popular do mundo
MySQL - o banco de dados open source mais popular do mundoMySQL - o banco de dados open source mais popular do mundo
MySQL - o banco de dados open source mais popular do mundoMySQL Brasil
 
Uso estratégico do MySQL para empresas de TI: Novidades e Futuro
Uso estratégico do MySQL para empresas de TI: Novidades e FuturoUso estratégico do MySQL para empresas de TI: Novidades e Futuro
Uso estratégico do MySQL para empresas de TI: Novidades e Futuroassertimarilia
 
MySQL June/2009 FDTI - Portuguese Version
MySQL June/2009 FDTI - Portuguese VersionMySQL June/2009 FDTI - Portuguese Version
MySQL June/2009 FDTI - Portuguese VersionArtur Alves
 
MySQL + Java - Manuel Contreras
MySQL + Java - Manuel ContrerasMySQL + Java - Manuel Contreras
MySQL + Java - Manuel ContrerasMySQL Brasil
 
Recursos e Benefícios do MySQL
Recursos e Benefícios do MySQLRecursos e Benefícios do MySQL
Recursos e Benefícios do MySQLMySQL Brasil
 
Novidades do Universo MySQL julho-15
Novidades do Universo MySQL julho-15Novidades do Universo MySQL julho-15
Novidades do Universo MySQL julho-15MySQL Brasil
 
MySQL em 10min - Alexandre Almeida HTI Tecnologia
MySQL em 10min - Alexandre Almeida HTI TecnologiaMySQL em 10min - Alexandre Almeida HTI Tecnologia
MySQL em 10min - Alexandre Almeida HTI TecnologiaMySQL Brasil
 
MySQL Enterprise Monitor para Desenvolvedores
MySQL Enterprise Monitor para DesenvolvedoresMySQL Enterprise Monitor para Desenvolvedores
MySQL Enterprise Monitor para DesenvolvedoresMySQL Brasil
 
Cloud computing & Cloudstack: Como ter sua nuvem sem tempestades
Cloud computing & Cloudstack: Como ter sua nuvem sem tempestadesCloud computing & Cloudstack: Como ter sua nuvem sem tempestades
Cloud computing & Cloudstack: Como ter sua nuvem sem tempestadesRicardo Martins ☁
 
19-Sistemas Distribuidos.pptx
19-Sistemas Distribuidos.pptx19-Sistemas Distribuidos.pptx
19-Sistemas Distribuidos.pptxRoberto Aragy
 
Aumentando a segurança, disponibilidade e desempenho com MySQL Enterprise Edi...
Aumentando a segurança, disponibilidade e desempenho com MySQL Enterprise Edi...Aumentando a segurança, disponibilidade e desempenho com MySQL Enterprise Edi...
Aumentando a segurança, disponibilidade e desempenho com MySQL Enterprise Edi...MySQL Brasil
 
MySQL: o banco de dados open source mais popular do mundo
MySQL: o banco de dados open source mais popular do mundoMySQL: o banco de dados open source mais popular do mundo
MySQL: o banco de dados open source mais popular do mundoMySQL Brasil
 

Semelhante a Replicação e alta disponibilidade by wagner bianchi - (20)

Serviços Escaláveis e de Alta Performance com MySQL e Java
Serviços Escaláveis e de Alta Performance com MySQL e JavaServiços Escaláveis e de Alta Performance com MySQL e Java
Serviços Escaláveis e de Alta Performance com MySQL e Java
 
MySQL para Desenvolvedores de Produto
MySQL para Desenvolvedores de ProdutoMySQL para Desenvolvedores de Produto
MySQL para Desenvolvedores de Produto
 
MySQL Cluster - visão geral
MySQL Cluster - visão geralMySQL Cluster - visão geral
MySQL Cluster - visão geral
 
MySQL Cluster - visão geral
MySQL Cluster - visão geralMySQL Cluster - visão geral
MySQL Cluster - visão geral
 
Apresentação MySQL Enterprise
Apresentação MySQL EnterpriseApresentação MySQL Enterprise
Apresentação MySQL Enterprise
 
MySQL no Windows: implementação eficiente de novas aplicações
MySQL no Windows: implementação eficiente de novas aplicaçõesMySQL no Windows: implementação eficiente de novas aplicações
MySQL no Windows: implementação eficiente de novas aplicações
 
MySQL - o banco de dados open source mais popular do mundo
MySQL - o banco de dados open source mais popular do mundoMySQL - o banco de dados open source mais popular do mundo
MySQL - o banco de dados open source mais popular do mundo
 
Uso estratégico do MySQL para empresas de TI: Novidades e Futuro
Uso estratégico do MySQL para empresas de TI: Novidades e FuturoUso estratégico do MySQL para empresas de TI: Novidades e Futuro
Uso estratégico do MySQL para empresas de TI: Novidades e Futuro
 
Mysql for IBMers
Mysql for IBMersMysql for IBMers
Mysql for IBMers
 
MySQL June/2009 FDTI - Portuguese Version
MySQL June/2009 FDTI - Portuguese VersionMySQL June/2009 FDTI - Portuguese Version
MySQL June/2009 FDTI - Portuguese Version
 
MySQL + Java - Manuel Contreras
MySQL + Java - Manuel ContrerasMySQL + Java - Manuel Contreras
MySQL + Java - Manuel Contreras
 
Recursos e Benefícios do MySQL
Recursos e Benefícios do MySQLRecursos e Benefícios do MySQL
Recursos e Benefícios do MySQL
 
Novidades do Universo MySQL julho-15
Novidades do Universo MySQL julho-15Novidades do Universo MySQL julho-15
Novidades do Universo MySQL julho-15
 
MySQL em 10min - Alexandre Almeida HTI Tecnologia
MySQL em 10min - Alexandre Almeida HTI TecnologiaMySQL em 10min - Alexandre Almeida HTI Tecnologia
MySQL em 10min - Alexandre Almeida HTI Tecnologia
 
Trabalho de sgbd
Trabalho de sgbdTrabalho de sgbd
Trabalho de sgbd
 
MySQL Enterprise Monitor para Desenvolvedores
MySQL Enterprise Monitor para DesenvolvedoresMySQL Enterprise Monitor para Desenvolvedores
MySQL Enterprise Monitor para Desenvolvedores
 
Cloud computing & Cloudstack: Como ter sua nuvem sem tempestades
Cloud computing & Cloudstack: Como ter sua nuvem sem tempestadesCloud computing & Cloudstack: Como ter sua nuvem sem tempestades
Cloud computing & Cloudstack: Como ter sua nuvem sem tempestades
 
19-Sistemas Distribuidos.pptx
19-Sistemas Distribuidos.pptx19-Sistemas Distribuidos.pptx
19-Sistemas Distribuidos.pptx
 
Aumentando a segurança, disponibilidade e desempenho com MySQL Enterprise Edi...
Aumentando a segurança, disponibilidade e desempenho com MySQL Enterprise Edi...Aumentando a segurança, disponibilidade e desempenho com MySQL Enterprise Edi...
Aumentando a segurança, disponibilidade e desempenho com MySQL Enterprise Edi...
 
MySQL: o banco de dados open source mais popular do mundo
MySQL: o banco de dados open source mais popular do mundoMySQL: o banco de dados open source mais popular do mundo
MySQL: o banco de dados open source mais popular do mundo
 

Mais de MySQL Brasil

MySQL como Document Store PHP Conference 2017
MySQL como Document Store PHP Conference 2017MySQL como Document Store PHP Conference 2017
MySQL como Document Store PHP Conference 2017MySQL Brasil
 
MySQL no Paypal Tesla e Uber
MySQL no Paypal Tesla e UberMySQL no Paypal Tesla e Uber
MySQL no Paypal Tesla e UberMySQL Brasil
 
Alta disponibilidade com MySQL Enterprise
Alta disponibilidade com MySQL EnterpriseAlta disponibilidade com MySQL Enterprise
Alta disponibilidade com MySQL EnterpriseMySQL Brasil
 
MySQL Roadmap NoSQL HA Fev17
MySQL Roadmap NoSQL HA Fev17MySQL Roadmap NoSQL HA Fev17
MySQL Roadmap NoSQL HA Fev17MySQL Brasil
 
Segurança no MySQL
Segurança no MySQLSegurança no MySQL
Segurança no MySQLMySQL Brasil
 
5 razões estratégicas para usar MySQL
5 razões estratégicas para usar MySQL5 razões estratégicas para usar MySQL
5 razões estratégicas para usar MySQLMySQL Brasil
 
Alta disponibilidade no MySQL 5.7 GUOB 2016
Alta disponibilidade no MySQL 5.7 GUOB 2016Alta disponibilidade no MySQL 5.7 GUOB 2016
Alta disponibilidade no MySQL 5.7 GUOB 2016MySQL Brasil
 
MySQL 5.7 como Document Store
MySQL 5.7 como Document StoreMySQL 5.7 como Document Store
MySQL 5.7 como Document StoreMySQL Brasil
 
Enabling digital transformation with MySQL
Enabling digital transformation with MySQLEnabling digital transformation with MySQL
Enabling digital transformation with MySQLMySQL Brasil
 
Alta Disponibilidade no MySQL 5.7 para aplicações em PHP
Alta Disponibilidade no MySQL 5.7 para aplicações em PHPAlta Disponibilidade no MySQL 5.7 para aplicações em PHP
Alta Disponibilidade no MySQL 5.7 para aplicações em PHPMySQL Brasil
 
Alta Disponibilidade no MySQL 5.7
Alta Disponibilidade no MySQL 5.7Alta Disponibilidade no MySQL 5.7
Alta Disponibilidade no MySQL 5.7MySQL Brasil
 
NoSQL no MySQL 5.7
NoSQL no MySQL 5.7NoSQL no MySQL 5.7
NoSQL no MySQL 5.7MySQL Brasil
 
10 Razões para Usar MySQL em Startups
10 Razões para Usar MySQL em Startups10 Razões para Usar MySQL em Startups
10 Razões para Usar MySQL em StartupsMySQL Brasil
 
Novidades do MySQL para desenvolvedores ago15
Novidades do MySQL para desenvolvedores ago15Novidades do MySQL para desenvolvedores ago15
Novidades do MySQL para desenvolvedores ago15MySQL Brasil
 
Estratégias de Segurança e Gerenciamento para MySQL
Estratégias de Segurança e Gerenciamento para MySQLEstratégias de Segurança e Gerenciamento para MySQL
Estratégias de Segurança e Gerenciamento para MySQLMySQL Brasil
 
MySQL The State of the Dolphin - jun15
MySQL The State of the Dolphin - jun15MySQL The State of the Dolphin - jun15
MySQL The State of the Dolphin - jun15MySQL Brasil
 
MySQL Enterprise Edition Portfolio
MySQL Enterprise Edition PortfolioMySQL Enterprise Edition Portfolio
MySQL Enterprise Edition PortfolioMySQL Brasil
 
Architecture and Design MySQL powered applications by Peter Zaitsev Meetup Sa...
Architecture and Design MySQL powered applications by Peter Zaitsev Meetup Sa...Architecture and Design MySQL powered applications by Peter Zaitsev Meetup Sa...
Architecture and Design MySQL powered applications by Peter Zaitsev Meetup Sa...MySQL Brasil
 

Mais de MySQL Brasil (20)

MySQL como Document Store PHP Conference 2017
MySQL como Document Store PHP Conference 2017MySQL como Document Store PHP Conference 2017
MySQL como Document Store PHP Conference 2017
 
MySQL no Paypal Tesla e Uber
MySQL no Paypal Tesla e UberMySQL no Paypal Tesla e Uber
MySQL no Paypal Tesla e Uber
 
MySQL 8.0.1 DMR
MySQL 8.0.1 DMRMySQL 8.0.1 DMR
MySQL 8.0.1 DMR
 
Alta disponibilidade com MySQL Enterprise
Alta disponibilidade com MySQL EnterpriseAlta disponibilidade com MySQL Enterprise
Alta disponibilidade com MySQL Enterprise
 
MySQL Roadmap NoSQL HA Fev17
MySQL Roadmap NoSQL HA Fev17MySQL Roadmap NoSQL HA Fev17
MySQL Roadmap NoSQL HA Fev17
 
Segurança no MySQL
Segurança no MySQLSegurança no MySQL
Segurança no MySQL
 
5 razões estratégicas para usar MySQL
5 razões estratégicas para usar MySQL5 razões estratégicas para usar MySQL
5 razões estratégicas para usar MySQL
 
Alta disponibilidade no MySQL 5.7 GUOB 2016
Alta disponibilidade no MySQL 5.7 GUOB 2016Alta disponibilidade no MySQL 5.7 GUOB 2016
Alta disponibilidade no MySQL 5.7 GUOB 2016
 
MySQL 5.7 como Document Store
MySQL 5.7 como Document StoreMySQL 5.7 como Document Store
MySQL 5.7 como Document Store
 
Enabling digital transformation with MySQL
Enabling digital transformation with MySQLEnabling digital transformation with MySQL
Enabling digital transformation with MySQL
 
Alta Disponibilidade no MySQL 5.7 para aplicações em PHP
Alta Disponibilidade no MySQL 5.7 para aplicações em PHPAlta Disponibilidade no MySQL 5.7 para aplicações em PHP
Alta Disponibilidade no MySQL 5.7 para aplicações em PHP
 
Alta Disponibilidade no MySQL 5.7
Alta Disponibilidade no MySQL 5.7Alta Disponibilidade no MySQL 5.7
Alta Disponibilidade no MySQL 5.7
 
NoSQL no MySQL 5.7
NoSQL no MySQL 5.7NoSQL no MySQL 5.7
NoSQL no MySQL 5.7
 
OpenStack & MySQL
OpenStack & MySQLOpenStack & MySQL
OpenStack & MySQL
 
10 Razões para Usar MySQL em Startups
10 Razões para Usar MySQL em Startups10 Razões para Usar MySQL em Startups
10 Razões para Usar MySQL em Startups
 
Novidades do MySQL para desenvolvedores ago15
Novidades do MySQL para desenvolvedores ago15Novidades do MySQL para desenvolvedores ago15
Novidades do MySQL para desenvolvedores ago15
 
Estratégias de Segurança e Gerenciamento para MySQL
Estratégias de Segurança e Gerenciamento para MySQLEstratégias de Segurança e Gerenciamento para MySQL
Estratégias de Segurança e Gerenciamento para MySQL
 
MySQL The State of the Dolphin - jun15
MySQL The State of the Dolphin - jun15MySQL The State of the Dolphin - jun15
MySQL The State of the Dolphin - jun15
 
MySQL Enterprise Edition Portfolio
MySQL Enterprise Edition PortfolioMySQL Enterprise Edition Portfolio
MySQL Enterprise Edition Portfolio
 
Architecture and Design MySQL powered applications by Peter Zaitsev Meetup Sa...
Architecture and Design MySQL powered applications by Peter Zaitsev Meetup Sa...Architecture and Design MySQL powered applications by Peter Zaitsev Meetup Sa...
Architecture and Design MySQL powered applications by Peter Zaitsev Meetup Sa...
 

Replicação e alta disponibilidade by wagner bianchi -

  • 1. <Insert Picture Here> MySQL High Availability and Scale-Out Wagner Bianchi – wagner.bianchi@oracle.com
  • 2. The preceding is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle’s products remains at the sole discretion of Oracle. 2
  • 3. Apresentação Wagner Bianchi é especialista em MySQL, com foco nas áreas de performance tuning, Scale-Out e High Availability. Com 7 anos de experiência com o produto, Bianchi prestou serviços de consultoria em várias empresas no Brasil e na América Latina, participando de grandes projetos de migração, performance tuning e de garantia de disponibilidade de dados, utilizando produtos como MySQL 3.23++, MySQL Cluster, DRBD e Heartbeat. Certificado SCMA, SCMDEV e SCMDBA. Atualmente, Bianchi é Senior Principal Consultant no MySQL Professional Services para a América Latina na Oracle Corporation. 3
  • 4. Agenda • MySQL Scale-Up x MySQL Scale-Out • MySQL High-Availability • Replicação Assíncrona e Semi-síncrona; • DRBD / Linux Heartbeat; • MySQL Cluster; • MySQL Enterprise Monitor (NEW – Monitor Version 2.3) • MySQL Cluster Grade Carrier 4
  • 7. MySQL Scale-Up x MySQL Scale-Out Scalability Strategy Vertical Horizontal 7
  • 8. MySQL Scale-Out • O MySQL é um servidor de bancos de dados que foi concebido para ser utilizado em ambientes de qualquer tamanho, seja este pequeno, médio ou gigante; • Como estratégia principal, o MySQL suporta o recurso de replicação de dados locais, em uma LAN ou em WAN, conectando geograficamente vários sites - escalabilidade horizontal; 8
  • 9. MySQL Scale-Out • As principais razões para iniciar projetos de Scale-Out com o MySQL são: • Grande quantidade de transações e aumento do workload; • Necessidade de atender mais aplicativos internos e externos; • Necessidade de maior velocidade no acesso à informações para tomada de decisão (relatórios e agregações de dados); • Necessidade de backup online com possibilidade de failover; 9
  • 11. Replicação Assíncrona • Recurso disponível no servidor de bancos de dados MySQL desde a versão 3.23, focada na replicação de dados com a utilização de “commodity hardware”; • Trabalha com os conceitos de servidor MASTER e SLAVE, com duas threads no SLAVE e uma que se comunica com a única thread do MASTER; • Dependente do log binário; 11
  • 13. Time to get busy! • Criação de replicação entre duas instâncias do servidor de bancos de dados MySQL, em duas máquinas separadas; 13
  • 14. Replicação Semi-Síncrona • Disponibilizada no formato plugin, assim como o partition engine e outros Storage Engines a partir da versão 5.1* do servidor de bancos de dados MySQL; • Após instalado o plugin, uma módulo para o MASTER e outro para os SLAVEs, o recurso poderá ser configurado no runtime do MySQL; • Um dos principais motivos para um novo modelo de replicação: problemas com delay na entrega de dados entre o MASTER e os SLAVEs; 14
  • 15. Replicação Semi-Síncrona • Instalando o plugin: mysql> -- módulo do MASTER mysql> INSTALL PLUGIN rpl_semi_sync_master SONAME 'semisync_master.so'; mysql> -- módulo do SLAVE mysql> INSTALL PLUGIN rpl_semi_sync_slave SONAME 'semisync_slave.so'; • Habilitando a replicação semi-síncrona no MASTER e no SLAVE; mysql> -- executar no servidor MASTER mysql> SET GLOBAL rpl_semi_sync_master_enabled = 1; mysql> SET GLOBAL rpl_semi_sync_master_timeout = 1000; mysql> -- executar nos servidores SLAVE mysql> SET GLOBAL rpl_semi_sync_slave_enabled = 1; mysql> STOP SLAVE IO_THREAD; mysql> START SLAVE IO_THREAD; 15
  • 16. Replicação Semi-Síncrona • Este modelo de replicação possui o seu “Heartbeat”, possibilita que verifiquemos através de variáveis de status problemas de conexão entre os SLAVEs e o MASTER; • Para a utilização, será necessário uma parada na replicação entre os servidores, FLUSH TABLES WITH READ LOCK no MASTER e CHANGE MASTER TO nos SLAVEs (pode-se utilizar arquivos e o comando source); 16
  • 17. Replicação Semi-Síncrona • Comandos para os SLAVEs; mysql> STOP SLAVE; mysql> CHANGE MASTER TO master_heartbeat_period = <milliseconds_value>; mysql> START SLAVE; • Antes de setar o valor da variável acima, o valor de master_heartbeat_period deve ser menor ao igual ao valor de slave_net_timeout; • Os problemas registrados pelo Heartbeat da replicação semi- síncrona poderá ser visto através das variáveis de status; 17
  • 18. Time to get busy! • Alterando a replicação assíncrona para uma replicação semi- síncrona com Heartbeat e exibindo o seu monitoramento; 18
  • 19. High Availability • Muitos são os ambientes que têm a necessidade de operar 24x7, operadoras de telefonia, centrais de televisão, empresas que fornecem serviços em geral e outras; • A alta-disponibilidade possibilita que estas empresas tenham seus sistemas acessíveis o mais tempo possível, atendendo melhor e a mais clientes; • Quanto tempo sua aplicação precisa ficar online/uptime? • Quanto tempo sua aplicação pode ter de downtime? 19
  • 20. High Availability • Equação simples: Availability = uptime / (uptime + downtime) • A forma acima nos dará um valor percentual do quanto uma aplicação está online (variáveis de status ou log da aplicação); Availability Nines Downtime Allowed 90% 1 36.5 days/year 99% 2 36.5 days/year 99,9% 3 8.76 hours/year 99,99% 4 52 minutes/year 99,999% 5 5 minutes/year 20
  • 21. MySQL High-Availability Options • As opções de alta disponibilidade com o MySQL que discutiremos são: • Linux Heartbeat / DRBD; • MySQL Cluster; 21
  • 22. Linux Heartbeat • Possibilita que todos os servidores de bancos de dados MySQL sejam acessados através de um mesmo IP Virtual; • Utiliza o seu próprio protocolo chamado de heartbeat-protocol para checar se os servidores de bancos de dados estão acessíveis e respondendo; • Roda diretamente em todos os nodos de um esquema de Cluster ou Replicação e rapidamente inicia o processo de takeover caso o nodo primary apresenta algum problema para ser acessado; 22
  • 23. Linux Heartbeat – IP Address Takeover 23
  • 24. Linux Heartbeat – IP Address Takeover 24
  • 25. DRBD • Constantemente utilizado em conjunto com o Heartbeat como uma solução de failover baseado na montagem de um device que contém blocos replicados; • É mais uma solução de alta-disponibilidade em nível de sistema operacional que propriamente do MySQL – funciona como um RAID 1, com failover; • O Heartbeat não recebe sinais de vida de um dos nodos e inicia o montagem de um device “/dev/drbd0” e realiza o failover; 25
  • 26. DRBD 26
  • 27. MySQL Cluster • O MySQL Cluster é de longe solução mais interessante para ambientes que necessitam de alta-disponibilidade de informação, primeiro por sua arquitetura e pela facilidade de implementação; • Uma vez configurado, o MySQL Cluster por si oferecerá ao ambiente failover, redundância e replicação síncrona da informação entre os data nodes; • Um implementação básica do MySQL Cluster requer no mínimo 5 máquinas com hardware similar; 27
  • 31. Thanks... 31