Mysql Enterprise Backup overview

Preview:

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 usar

Citation preview

<Insert Picture Here>

Marcelo Telles Souzamarcelo.t.souza@oracle.com

Airton Lastori airton.lastori@oracle.com

MySQL Enterprise Backup"Hot" Backup Online para MySQL

Marcos Trujillomarcelo.trujillo@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.

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

Recommended