Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Comparando o Percona XtraBackup com o MySQL Enterprise Backup:Parte um

Quando se trata de backups e arquivamento de dados, os departamentos de TI geralmente estão sob estresse para cumprir acordos de nível de serviço rigorosos, bem como fornecer procedimentos de backup mais robustos que minimizariam o tempo de inatividade, acelerariam o processo de backup, menos e atendem a requisitos de segurança rígidos.

Existem várias maneiras de fazer backup de um banco de dados MySQL, mas podemos dividir esses métodos em dois grupos - lógicos e físicos.

Os Backups Lógicos contêm dados que são exportados usando comandos SQL e armazenados em um arquivo. Pode ser, por exemplo, um conjunto de comandos SQL, que, quando executados, resultarão na restauração do conteúdo do banco de dados. Com algumas modificações na sintaxe do arquivo de saída, você pode armazenar seu backup em arquivos CSV.

Os backups lógicos são fáceis de executar, apenas com um one-liner, você pode fazer um backup de toda a sua tabela, banco de dados ou todos os bancos de dados mysql na instância.

Infelizmente, os backups lógicos têm muitas limitações. Eles são geralmente mais lentos do que um físico. Isso ocorre devido à sobrecarga necessária para executar comandos SQL para obter os dados e, em seguida, executar outro conjunto de comandos SQL para obter os dados de volta ao banco de dados. Eles são menos flexíveis, a menos que você escreva cargas de trabalho de backup complexas que incluam várias etapas. Ele não funciona bem em um ambiente paralelo, oferece menos segurança e assim por diante e assim por diante.

Backups físicos no MySQL World

O MySQL não vem com backup físico online para edição da comunidade. Você pode pagar por uma versão Enterprise ou usar uma ferramenta de terceiros. A ferramenta de terceiros mais popular no mercado é o XtraBackup. Aqueles que vamos comparar neste artigo do blog.

Percona XtraBackup é o software de backup quente MySQL/MariaDB de código aberto muito popular que executa backups sem bloqueio para bancos de dados InnoDB e XtraDB. Ele se enquadra na categoria de backup físico, que consiste em cópias exatas do diretório de dados do MySQL e dos arquivos abaixo dele.

Uma das maiores vantagens do XtraBackup é que ele não bloqueia seu banco de dados durante o processo de backup. Para bancos de dados grandes (100+ GB), ele oferece um tempo de restauração muito melhor em comparação com o mysqldump. O processo de restauração envolve a preparação de dados MySQL dos arquivos de backup, antes de substituí-los ou trocá-los pelo diretório de dados atual no nó de destino.

Percona XtraBackup funciona lembrando o número de seqüência de log (LSN) quando é iniciado e, em seguida, copia os arquivos de dados para outro local. Copiar dados leva tempo e, se os arquivos estiverem mudando, eles refletirão o estado do banco de dados em diferentes momentos. Ao mesmo tempo, o XtraBackup executa um processo em segundo plano que fica de olho nos arquivos de log de transações (também conhecido como redo log) e copia as alterações dele. Isso deve ser feito continuamente porque os logs de transação são gravados de forma round-robin e podem ser reutilizados após algum tempo. O XtraBackup precisa dos registros do log de transações para cada alteração nos arquivos de dados desde o início da execução.

Ao usar esta ferramenta você pode:

  • Crie backups quentes do InnoDB, que são concluídos de forma rápida e confiável, sem pausar seu banco de dados ou adicionar carga ao servidor
  • Faça backups incrementais
  • Mover tabelas entre servidores MySQL online
  • Crie novos slaves de replicação MySQL facilmente
  • Transmita backups MySQL compactados para outro servidor
  • Economize espaço em disco e largura de banda de rede

O MySQL Enterprise Backup oferece backups dinâmicos, online e sem bloqueio em várias plataformas. Não é uma ferramenta de backup gratuita, mas oferece muitos recursos. O custo padrão da licença é de US$ 5.000 (mas pode variar de acordo com seu contrato com a Oracle).

Plataformas suportadas pelo processo de backup

MySQL Enterprise

Pode ser executado em Linux, Windows, Mac e Solaris. O que é essencial também pode armazenar backup em fita, o que geralmente é uma solução mais barata do que gravar em discos. As gravações diretas em fita suportam integração com Veritas Netbackup, Tivoli Storage Manager e EMC NetWorker.

XtraBackup

O XtraBackup pode ser executado apenas na plataforma Linux, o que pode ser, sem dúvida, um impedimento para aqueles que executam no Windows. Uma solução aqui talvez seja a replicação para o escravo rodando no Linux e executando o backup a partir daí.

Principais diferenças do processo de backup

O MySQL Enterprise Backup oferece um rico conjunto de recursos e funcionalidades de retorno e recuperação, incluindo melhorias significativas de desempenho em relação aos métodos de backup MySQL existentes.

O Oracle mostra que o backup corporativo é 49x mais rápido que o mysqldump. Isso, é claro, pode variar dependendo de seus dados, mas há muitos recursos para melhorar o processo de backup. Um backup paralelo é definitivamente uma das maiores diferenças entre mysqldump e backup corporativo. Aumenta o desempenho por processamento multi-thread. O recurso mais interessante, no entanto, é a compactação.

--comprimir

Cria um backup em formato compactado. Para um backup regular, entre todos os mecanismos de armazenamento suportados pelo MySQL, apenas os arquivos de dados do formato InnoDB são compactados e possuem a extensão .ibz após a compactação. Da mesma forma, para um backup de imagem única, apenas os arquivos de dados do formato InnoDB dentro da imagem de backup são compactados. O log binário e os arquivos de log de retransmissão são compactados e salvos com a extensão .bz ao serem incluídos em um backup compactado.

-compress-method=zlib,lz4(default), lzma, punch-hole

--compress-level=LEVEL(0-9)

--include-tables=REGEXP

Backups do MySQL com ClusterControl

ClusterControl permite agendar backups usando XtraBackup e mysqldump. Ele pode armazenar os arquivos de backup localmente no nó em que o backup é feito ou os arquivos de backup também podem ser transmitidos para o nó do controlador e compactados dinamicamente. Ele não suporta backup do MySQL Enterprise, no entanto, com os recursos estendidos do mysqldump e do XtraBackup, pode ser uma boa opção.

ClusterControl é o sistema de gerenciamento de banco de dados de código aberto completo para usuários com ambientes mistos. Ele fornece funcionalidade avançada de gerenciamento de backup para MySQL ou MariaDB.

Com ClusterControl você pode:

  • Criar políticas de backup
  • Monitore o status de backup, execuções e servidores sem backups
  • Executar backups e restaurações (incluindo uma recuperação pontual)
  • Controlar a retenção de backup
  • Salvar backups no armazenamento em nuvem
  • Validar backups (teste completo com a restauração no servidor autônomo)
  • Criptografar backups
  • Compactar backups
  • E muitos outros

Conclusão

Como um DBA, você precisa certificar-se de que os bancos de dados sejam submetidos a backup regularmente e que os procedimentos de recuperação apropriados estejam implementados e testados. Tanto o Percona XtraBackup quanto o MySQL Enterprise Backup fornecem aos DBAs uma solução de backup online de alto desempenho com tecnologia de compressão e criptografia de dados para garantir que seus dados estejam protegidos em caso de inatividade ou interrupção

Os backups devem ser planejados de acordo com o requisito de restauração. A perda de dados pode ser total ou parcial. Por exemplo, você nem sempre precisa recuperar todos os dados. Em alguns casos, você pode querer fazer uma recuperação parcial restaurando tabelas ou linhas ausentes. Com o conjunto de recursos de alcance, ambas as soluções seriam uma ótima substituição do mysqldump, que ainda é um método muito popular para fazer o backup. Ter mysqldump também é importante para recuperação parcial, onde bancos de dados corrompidos podem ser corrigidos analisando o conteúdo do dump. Os logs binários nos permitem obter uma recuperação pontual, por exemplo, até antes do servidor MySQL cair.

Isso é tudo para a primeira parte, na próxima parte vamos testar o desempenho de ambas as soluções e executar alguns casos reais de backup e cenários de recuperação.