mysql enterprise backup overview
DESCRIPTION
Agenda: > MySQL: visão geral > Backup de Banco de Dados: visão geral > MySQL Enterprise Backup: Funcionalidades & Benefícios > Backup de Banco de Dados: Comparação > MySQL Enterprise Backup: Como usarTRANSCRIPT
<Insert Picture Here>
Marcelo Telles [email protected]
Airton Lastori [email protected]
MySQL Enterprise Backup"Hot" Backup Online para MySQL
Marcos [email protected]
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.
Agenda
• MySQL: visão geral• Backup de Banco de Dados: visão geral• MySQL Enterprise Backup: Funcionalidades &
Benefícios• Backup de Banco de Dados: Comparação• MySQL Enterprise Backup: Como usar
Estratégia Oracle: Completa. Aberta. Integrada.
• Construído em conjunto
• Testado em conjunto
• Gerido em conjunto
• Manutenção em conjunto
• Baseada em padrões abertos
• Menor custo
• Menor risco
• Mais confiável
Visão Geral do MySQL
• 12 milhões de instalações do produto
• 65,000 downloads por dia ( Global )
• 70,000 mil downloads/Brasil/mês
• Parte do Lamp Stack
• Também suportado pela a Oracle com edições Comerciais
Investimento Oracle no MySQLInovação Acelerada
Fazer o MySQL um Melhor MySQL• #1 BD Open Source para Web Applications• LAMP Stack mais completo do mercado• Telecom & Embedded
Desenvolver, Promover e Suportar o MySQL• Melhorias na Engenharia, Suporte e Consultoria• Suporte Oracle 24x7 de alto-nível
MySQL Community Edition • Releases do código-fonte e binários• GPL
MySQL Enterprise Edition
MySQL Database•Reliability •Performance •Ease of Use
MySQL Enterprise Backup•Online “Hot” Backup•Full, Incremental, Partial Backups•Point in Time Recovery (PITR)
MySQL Enterprise Monitor•Global Monitoring of All Servers•Advisors with Best Practice Advice•MySQL Query Analyzer
MySQL Workbench•Database Design•SQL Development•MySQL Administration
Oracle Premier Support• Online Knowledge Base• 24x7 Problem Resolution• Consultative Support
Suporte Técnico e Consultivo MySQL
Auto-suporte on-line - Suporte de auto-ajuda on-line
Serviço de resolução de problemas - Suporte Qualificado
- Acesso 24 X 7 via email/telefone
- Tempo de Resposta em 30 minutos
Serviço de suporte consultivo - Serviço de resolução de problemas remoto
- Serviços de configuração e ajuste
- Serviços de revisão de código de cliente
Backup de Banco de Dados Visão Geral
Desafios do DBA
• Principal responsável pelo backup e recuperação• Mas não é tão fácil– BD crescem exponencialmente– Tempos de Backup/Recuperação aumentam ainda mais• Seus Backups geram impacto em outras atividades– Usuários Finais– Rotinas de manutenção do DBA
• Seus custos com hardware de armazenamento podem sair do controle• Quando coisas ruins acontecem
• Muito trabalho manual• Leva uma eternidade para recuperar
Backup de Banco de Dados: Termos
• Online Backup (também “Hot” ou “Online”)– Backup enquanto o BD está no ar
– Interrupção zero no negócio durante os backups
• Backup Incremental– Backup da porção de dados que mudou desde o último backup
completo.
• Backup Parcial– Backup de tabelas selecionadas.
• Ponto de Recuperação Consistente (também Point in Time Recovery)– Recuperação dos dados em um estado consistente exatamente
como estava em determinada data e hora.
• Roll Forward Recovery– Recuperação do BD que aplica os dados até uma data e hora
específica.
Determining Backup Strategy
Low Value Data High Value Data
Low
Cha
nge
Hig
h C
hang
e
Cha
nge
Fre
quen
cy
Value of Data
F: Daily
I: Hourly
F: Weekly
I: Daily
F: Weekly
I: Daily
F: Monthly
I: Weekly
F: Monthly
F: Daily
I: Hourly
A: Replication, Backup on Slave
F: Daily
I: Hourly
A: Binlog Backups: 5 min
F: Full I: Incremental A: Additional
As Questões Fundamentais
• Quais são meus requisitos de recuperação?– Verifique sua tolerância para perda de dados: Recovery Point
Objective (RPO)• Quão frequente os backups devem ser feitos?• É necessário point-in-time recovery?
– Verifique sua tolerância para tempo de indisponibilidade: Recovery Time Objective (RTO)• Tempo de indisponibilidade: Identificação do problema +
aplicação do plano de recuperação + tempo do sistema• RTO por nível de granularidade, ex. BD, tablespace,
tabela, linha– Determine sua política de retenção de backups • Local físico na empresa, fora da empresa, por quanto
tempo
• As ferramentas atendem meus requisitos?
Método de Backup 1: Completo (Full Backup)
• Adequado para:– BD que podem tolerar horas/dias de indisponibilidade (RTO)– Mudanças de média a grande intensidade nos dados entre
um backup e outro (ex. mais que 30%)– Ambientes onde o disco pode ser alocado para pelo menos
1x o tamanho atual do banco de dados
• Estratégia de Backup: – Backups Completos com compressão opcional dos dados – Backup Completo arquivado em fita, conforme necessidade
Método de Backup 2: Completo + Incremental
• Adequado para:– BD que podem tolerar não mais que algumas horas de
indisponibilidade (RTO)– Ambientes onde o disco pode ser alocado para pelo menos
1x o tamanho atual do banco de dados
• Estratégia de backup:– Backup Completo Ocasional, seguido de Backups
Incrementais mais frequentes– Para recuperar – aplicar o Backup Completo e depois aplicar
1 ou mais Backup Incrementais– Backup Completo arquivado em fita, conforme necessidade– Backups Incrementais mantidos em disco, conforme
necessidade
Método de Backup 3: Completo + Incremental + Log
• Adequado para:– BD que podem tolerar não mais que alguns minutos de inatividade
(RTO)
– Ambientes onde o disco pode ser alocado para pelo menos 1x o tamanho atual do banco de dados
• Estratégia de Backup:– Backup Completo inicial, seguido de Backups Incrementais
– Backup dos Logs de Transação (Logs Binários ou Binlogs)
– Para recuperar – aplicar o Backup Completo e depois aplicar 1 ou mais Backup Incrementais
– Ao final, Roll Forward do Log de Transação até o “minuto” desejado.
– Backup Completo arquivado em fita, conforme necessidade
– Backups Incrementais mantidos em disco, conforme necessidade
Método de Backup 4: Utilização do Slave (Replicação)
• Adequado para:– BD que toleram apenas poucos minutos de tempo de
recuperação em um evento de falha
– Ambientes com hardware simétrico dedicado à tolerância a falhas (failover)
– Ambientes que a infraestrutura de armazenamento de backup (storage) pode ser compartilhada entre as instâncias Master e Slave
• Estratégia de Backup:– Replicação Master / Slave configurada
– Slave atua como um BD físico em espera
– Fazer backup Completo e Incremental no Slave
– O Backup deve poder ser recuperado no Master ou Slave
– Backups podem ser realizados em cada BD para otimizar a proteção
Determining Backup Strategy
Low Value Data High Value Data
Low
Cha
nge
Hig
h C
hang
e
Cha
nge
Fre
quen
cy
Value of Data
F: Daily
I: Hourly
F: Weekly
I: Daily
F: Weekly
I: Daily
F: Monthly
I: Weekly
F: Monthly
F: Daily
I: Hourly
A: Replication, Backup on Slave
F: Daily
I: Hourly
A: Binlog Backups: 5 min
F: Full I: Incremental A: Additional
Comparação das Estratégias de Backup
Método Backup Recuperação
Método 1:Backups Completos
• Tempos mais longos de backup• Mais espaço de armazenamento • Economiza espaço com compressão
• Fácil de recuperar• Tempos mais rápidos de recuperação
Método 2: Completo + Incremental
• Tempos mais curtos de backup• Menos espaço de armazenamento• Requer espaço de mais de 1x o tamanho atual do banco de dados
• Granularidade mais fina • Menor tempo de recuperação• Backup Completo primeiro, depois Incrementais
Método 3: Completo + Incremental + Log
• Storage compartilhado• Requer espaço de mais de 1x o tamanho atual do banco de dados
• Granularidade ainda mais fina • Tempos de recuperação mais lentos• Backup Completo primeiro, depois Incrementais, depois adicionais
Método 4: Utilização do Slave (Replicação)
• Usado com 1 dos anteriores• Libera Master para mais carga• Requer espaço de mais de 1x o tamanho atual do banco de dados
• Alta-disponibilidade (failover)• Backups são último recurso, no caso de falha grave ou necessidade de realizar PITR
MySQL Enterprise BackupRecursos & Benefícios
MySQL Server - Recursos
Online BackupOnline Maintenance Operations
Database/Security AuditingParallel SQL operations
Performance / Load-Testing Utility
0%
5%
10%
15%
20%
25%
30%
35%
40%
Como você classificaria asseguintes capacidades do MySQL em termos de importância? Resultados"Extremamente Importantes"
- Online Backup é o recurso #1 requerido para Clientes MySQL
MySQL Backup - Preocupações
Backup and/or Recovery takes too longBackups aren't automated
I don't have a MySQL backup solutionThe MySQL backup solution I have works fine
Backup failure goes unnoticed
0%
5%
10%
15%
20%
25%
30%
35%
40%
Quais são suas preocupações com sua atual solução de backup?
- Performance de Backup & Recovery é a Preocupação #1
MySQL Enterprise Backup
• Online Backup para o InnoDB• Suporte para o MyISAM (read-only)• Backup & Recuperação de alta-performance• Compressão• Backup Completo (Full)• Backup Incremental• Backups Parciais• Point in Time Recovery• Tamanho do BD ilimitado• Multiplas Plataformas
– Windows, Linux, Unix
Benefícios
• Online “Hot” Backup (sem-bloqueio)– Leituras e Escritas no InnoDB– Leituras para as tabelas MyISAM
• Alta Performance– Backup: >3x mais rápido do que mysqldump
(export)– Restore: >10x mais rápido do que mysqldump
• Backups Consistentes– Point in Time Recovery
• Compressão– Compressão de vários níveis– Redução de 70% ou mais no espaço de storage
requerido
Benefícios
• Confiável
– Mais de 7 anos de confiança.
• Escalável para grandes Databases
– Sem limitação de tamanho de Database
• Fácil de Automatizar
– Fácil de integrar com vários sistemas de agendamento
– Examplos: cron, OSB scheduler, outros
MySQL Enterprise Backup 3.5: Novos Recursos
• Backup Incremental
• Suporte ao formato InnoDB Barracuda
• Backup de tabelas comprimidas
• Backup de arquivos de partição
• Backup de bancos in-memory
• Com opção --exec-when-locked
• Adicionado tabela mysql system para manter o status do backup, progresso e histórico.
Backups de Alta Performance
26GB - 8 Tables 32GB - 33 Tables0
5
10
15
20
25
30
Backup
mysqldumpMySQL Enterprise Backup
O que deverá entrar no Backup
Min
uto
s
Backups são até 3.5x mais rápidos do que o MySQL Dump
Recuperação de Alta Performance
26GB - 8 Tables 32GB - 33 tables0
20
40
60
80
100
120
140
Restore
mysqldumpMySQL Enterprise Backup
Restore Target
Min
ute
s
A Recuperação é até 16x mais rápida do que MySQL Dump
- mysqldump performance não é linear (mais table/indexes impactam na performance)- MySQL Enterprise performance é próximo ao linear
Compressão no Backup
22 GB - sysbench db26GB - 8 Tables
32GB - 33 tables
0
5
10
15
20
25
30
35
Backup Compression
UncompressedCompressed
GB
O tamanho do Backup é reduzido de 65% até 93%
Tipos de Backup de Banco de Dados Vantagens & Desvantagens
Ferramentas de Backup MySQL
• Hot Backup (online)
– MySQL Enterprise Backup
• Export/Import (cópias portáveis – backup lógico)
– mysqldump
• Standby Copy (hot swap)
• Replicação
• Cold Backup (offline)
– Cópias físicas dos arquivos mesmo com servidor em shutdown
• File System Volume Managers (snapshots)
– LVM, por exemplo - cria uma cópia snapshot
mysqldump
• Vantagens– Good for small databases or tables– Good assurance that database files are not corrupt – Logical Backup – thus flexible and portable
• Desvantagens– Very slow restore times– Uses database processing cycles and resources– Not Online (requires Transaction or Locks on Tables in
the database)– Not Incremental (requires a Full Backup every time)– Not Consistent (unless transaction is used)
MySQL Replication
• Vantagens– Rolling “snapshot”– Quick Recovery - via failover– Non-Blocking– Works well in conjunction with other backup options
• Desvantagens– Only latest “Point in Time” (point it time keeps moving
forward)– Not historical– Not for archival purposes– Doesn’t protect from “oops”
LVM Snapshots
• Vantagens– Quick– Feature of Linux– Good to use in conjunction with backups
• Desvantagens– It’s a snapshot
– Still need to make a backup copy – which is “full” in size
– Performance degrades with each concurrent snapshot– Snapshots need to be released
– Cross File System Limitations
MySQL Enterprise Backup
• Vantagens– Physical Backup so Fast – esp. restores– Flexible - many options – Archival– Scalable– Consistent– Supported
• Desvantagens• Requires some planning
Comparação dos Tipos de Backupmysqldump LVM Snapshots MySQL Replication MySQL Enterprise
Backup
Full Backup ✔ ✔ ✔ ✔
Incremental Backups
✖ ✔ ✖ ✔
Partial Backups ✔ ✖ ✖ ✔Compression Support
✖ ✖ ✖ ✔
Allows updates ✖ ✖ ✔ ✔Point in Time - Consistent
✖ ✔ ✔ ✔
Backup Speed Poor Good Very Good Very Good
Recovery Speed Very Poor Good Very Good Very Good
Partial Restore ✔ ✖ ✖ ✔Corruption Detection
✔ ✖ ✖ ✔
Meets Regulatory Archive Req.
✔ ✖ ✖ ✔
Supports DDL ✔ ✖ ✖ ✔
MySQL Enterprise BackupComo usar
mysqlbackup (innobackup): Exemplos
• Backup Completo (Full Backup)mysqlbackup --user=dba --password=xyz --compress /etc/my.cnf /backups
• Backup Incremental– Apenas dados que mudaram
mysqlbackup --incremental --lsn 2261747124 /etc/my.cnf /incr-backup
• Backup Parcial– Tabelas no database ‘test’ que contém .ib.* (regex).
mysqlbackup --include 'test\.ib.*' /etc/my.cnf /backups
Dicas: InnoDB e MyISAM
• InnoDB tables are fully accessible during backup
– Insert, Update & Delete
• MyISAM tables cannot be updated during backup
– Uses FLUSH TABLES WITH READ LOCK near the end of the backup
• Works best if …
– Wait for insert/update/delete transactions during MyISAM backup
– Do not run long SELECT queries during the backup
– MyISAM tables are small, thus copied quickly
Ibbackup: Passos típicos para Backup/Restore
•Take Backup'– ibbackup my.cnf backup.cnf
•Prepare backup for restore– ibbackup –apply-log backup.cnf
•Copy innodb backup files to mysqld datadir•Start mysqld•Performs recovery during startup
Mais informações
• Informações sobre o produtohttp://www.mysql.com/products/enterprise/backup.html
• Documentaçãohttp://dev.mysql.com/doc/mysql-enterprise-backup/3.5/en/index.html
• Backup Forumhttp://forums.mysql.com/list.php?28
• Download (30 dias - trial)http://edelivery.oracle.com/
Dúvidas
Obrigado!
Twitter: http://twitter.com/MySQLBR
Youtube: http://www.youtube.com/MySQLBR
Facebook: MySQL Brasil
Downloads: http://dev.mysql.com/downloads
Documentação: http://dev.mysql.com/doc