Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comparaison de Percona XtraBackup à MySQL Enterprise Backup :première partie

En ce qui concerne les sauvegardes et l'archivage des données, les services informatiques sont souvent sous pression pour respecter des accords de niveau de service stricts ainsi que pour fournir des procédures de sauvegarde plus robustes qui minimiseraient les temps d'arrêt, accéléreraient le processus de sauvegarde, coûteraient moins, et répondre à des exigences de sécurité strictes.

Il existe plusieurs façons d'effectuer une sauvegarde d'une base de données MySQL, mais nous pouvons diviser ces méthodes en deux groupes :logique et physique.

Les sauvegardes logiques contiennent des données qui sont exportées à l'aide de commandes SQL et stockées dans un fichier. Il peut s'agir, par exemple, d'un ensemble de commandes SQL qui, une fois exécutées, entraîneront la restauration du contenu de la base de données. Avec quelques modifications de la syntaxe du fichier de sortie, vous pouvez stocker votre sauvegarde dans des fichiers CSV.

Les sauvegardes logiques sont faciles à effectuer, uniquement avec une seule ligne, vous pouvez effectuer une sauvegarde de l'ensemble de votre table, base de données ou de toutes les bases de données mysql dans l'instance.

Malheureusement, les sauvegardes logiques ont de nombreuses limitations. Ils sont généralement plus lents qu'un physique. Cela est dû à la surcharge nécessaire pour exécuter des commandes SQL pour extraire les données, puis pour exécuter un autre ensemble de commandes SQL pour récupérer les données dans la base de données. Ils sont moins flexibles, sauf si vous écrivez des charges de travail de sauvegarde complexes qui incluraient plusieurs étapes. Cela ne fonctionne pas bien dans un environnement parallèle, offre moins de sécurité, etc.

Sauvegardes physiques dans MySQL World

MySQL n'est pas livré avec une sauvegarde physique en ligne pour l'édition communautaire. Vous pouvez soit payer pour une version Enterprise, soit utiliser un outil tiers. L'outil tiers le plus populaire sur le marché est XtraBackup. Ceux que nous allons comparer dans cet article de blog.

Percona XtraBackup est le logiciel de sauvegarde à chaud MySQL/MariaDB open source très populaire qui effectue des sauvegardes non bloquantes pour les bases de données InnoDB et XtraDB. Il entre dans la catégorie des sauvegardes physiques, qui consiste en des copies exactes du répertoire de données MySQL et des fichiers en dessous.

L'un des principaux avantages de XtraBackup est qu'il ne verrouille pas votre base de données pendant le processus de sauvegarde. Pour les grandes bases de données (plus de 100 Go), il offre un temps de restauration bien meilleur par rapport à mysqldump. Le processus de restauration implique de préparer les données MySQL à partir des fichiers de sauvegarde, avant de les remplacer ou de les basculer avec le répertoire de données actuel sur le nœud cible.

Percona XtraBackup fonctionne en se souvenant du numéro de séquence du journal (LSN) lorsqu'il démarre, puis copie les fichiers de données vers un autre emplacement. La copie de données prend du temps, et si les fichiers changent, ils reflètent l'état de la base de données à différents moments. En même temps, XtraBackup exécute un processus d'arrière-plan qui garde un œil sur les fichiers du journal des transactions (alias redo log) et en copie les modifications. Cela doit être fait en permanence car les journaux de transactions sont écrits à tour de rôle et peuvent être réutilisés après un certain temps. XtraBackup a besoin des enregistrements du journal des transactions pour chaque modification apportée aux fichiers de données depuis le début de son exécution.

En utilisant cet outil, vous pouvez :

  • Créez des sauvegardes InnoDB à chaud, qui se terminent rapidement et de manière fiable, sans mettre en pause votre base de données ni ajouter de charge au serveur
  • Effectuer des sauvegardes incrémentielles
  • Déplacer des tables entre les serveurs MySQL en ligne
  • Créez facilement de nouveaux esclaves de réplication MySQL
  • Diffuser les sauvegardes MySQL compressées vers un autre serveur
  • Économiser de l'espace disque et de la bande passante réseau

MySQL Enterprise Backup fournit des sauvegardes à chaud, en ligne et non bloquantes sur plusieurs plates-formes. Ce n'est pas un outil de sauvegarde gratuit, mais il offre de nombreuses fonctionnalités. Le coût de la licence standard est de 5 000 USD (mais peut varier en fonction de votre accord avec Oracle.) 

Plateformes prises en charge par le processus de sauvegarde

MySQL Entreprise

Il peut fonctionner sous Linux, Windows, Mac et Solaris. Ce qui est essentiel, il peut également stocker la sauvegarde sur bande, ce qui est généralement une solution moins chère que les écritures sur disques. Les écritures directes sur bande prennent en charge l'intégration avec Veritas Netbackup, Tivoli Storage Manager et EMC NetWorker.

XtraBackup

XtraBackup ne peut s'exécuter que sur la plate-forme Linux, ce qui peut sans aucun doute être un obstacle pour ceux qui s'exécutent sous Windows. Une solution ici peut-être la réplication vers l'esclave fonctionnant sous Linux et exécutant la sauvegarde à partir de là.

Différences principales du processus de sauvegarde

MySQL Enterprise Backup fournit un riche ensemble de fonctionnalités et de fonctionnalités de sauvegarde et de récupération, y compris des améliorations significatives des performances par rapport aux méthodes de sauvegarde MySQL existantes.

Oracle montre que la sauvegarde d'entreprise est encore 49 fois plus rapide que mysqldump. Cela, bien sûr, peut varier en fonction de vos données, mais il existe de nombreuses fonctionnalités pour améliorer le processus de sauvegarde. Une sauvegarde parallèle est certainement l'une des plus grandes différences entre mysqldump et la sauvegarde d'entreprise. Il augmente les performances grâce au traitement multithread. La fonctionnalité la plus intéressante, cependant, est la compression.

--compresser

Crée une sauvegarde au format compressé. Pour une sauvegarde régulière, parmi tous les moteurs de stockage supportés par MySQL, seuls les fichiers de données au format InnoDB sont compressés, et ils portent l'extension .ibz après la compression. De même, pour une sauvegarde d'image unique, seuls les fichiers de données au format InnoDB à l'intérieur de l'image de sauvegarde sont compressés. Les fichiers journaux binaires et journaux de relais sont compressés et enregistrés avec l'extension .bz lorsqu'ils sont inclus dans une sauvegarde compressée.

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

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

--include-tables=REGEXP

Sauvegardes MySQL avec ClusterControl

ClusterControl vous permet de planifier des sauvegardes à l'aide de XtraBackup et mysqldump. Il peut stocker les fichiers de sauvegarde localement sur le nœud où la sauvegarde est effectuée, ou les fichiers de sauvegarde peuvent également être diffusés en continu sur le nœud du contrôleur et compressés à la volée. Il ne prend pas en charge la sauvegarde MySQL Enterprise, mais avec les fonctionnalités étendues de mysqldump et XtraBackup, cela peut être une bonne option.

ClusterControl est le système de gestion de base de données open source tout compris pour les utilisateurs d'environnements mixtes. Il fournit une fonctionnalité de gestion de sauvegarde avancée pour MySQL ou MariaDB.

Avec ClusterControl, vous pouvez :

  • Créer des politiques de sauvegarde
  • Surveiller l'état des sauvegardes, les exécutions et les serveurs sans sauvegardes
  • Exécuter des sauvegardes et des restaurations (y compris une restauration ponctuelle)
  • Contrôler la conservation des sauvegardes
  • Enregistrer les sauvegardes dans le stockage cloud
  • Valider les sauvegardes (test complet avec la restauration sur le serveur autonome)
  • Crypter les sauvegardes
  • Compresser les sauvegardes
  • Et bien d'autres

Conclusion

En tant que DBA, vous devez vous assurer que les bases de données sont régulièrement sauvegardées et que des procédures de récupération appropriées sont en place et testées. Percona XtraBackup et MySQL Enterprise Backup fournissent aux DBA une solution de sauvegarde en ligne hautes performances avec une technologie de compression et de cryptage des données pour garantir que vos données sont protégées en cas d'indisponibilité ou de panne

Les sauvegardes doivent être planifiées en fonction des besoins de restauration. La perte de données peut être totale ou partielle. Par exemple, vous n'avez pas toujours besoin de récupérer l'intégralité des données. Dans certains cas, vous souhaiterez peut-être simplement effectuer une récupération partielle en restaurant les tables ou les lignes manquantes. Avec l'ensemble de fonctionnalités de portée, les deux solutions seraient un excellent remplacement de mysqldump, qui est toujours une méthode très populaire pour effectuer la sauvegarde. Avoir mysqldump est également important pour la récupération partielle, où les bases de données corrompues peuvent être corrigées en analysant le contenu du vidage. Les journaux binaires nous permettent de réaliser une récupération ponctuelle, par exemple, juste avant que le serveur MySQL ne tombe en panne.

C'est tout pour la première partie, dans la partie suivante, nous allons tester les performances des deux solutions et exécuter des scénarios de sauvegarde et de restauration de cas réels.