Je dois importer des données de ma base de données existante vers mon instance DB Amazon RDS. Comment le faire avec une interruption minimale ?

Voici les étapes de base à suivre lors de l'importation de données existantes dans une instance DB RDS :

  1. Exportez les données de la base de données source.
  2. Chargez les données exportées.
  3. Importez les données chargées dans une instance DB RDS.

Le processus d'importation de données nécessite des périodes variables de temps d'arrêt du serveur. Celles-ci dépendent en grande partie de la taille de la base de données source à importer, mais également du moteur de base de données utilisé par l'instance DB RDS de destination.

Les recommandations suivantes relatives aux performances s'appliquent à toutes les opérations d'importation/exportation de données RDS :

  • Chargez et déchargez les données en parallèle en utilisant la compression et plusieurs threads.
  • Pour les charges de données importantes, envisagez de désactiver les sauvegardes automatiques en paramétrant la rétention de sauvegarde de l'instance DB RDS sur zéro ; un redémarrage de l'instance DB RDS est nécessaire pour appliquer ce changement. La désactivation des sauvegardes n'est pas recommandée pour les instances de production. La désactivation des sauvegardes empêche la fonctionnalité de restauration à un instant dans le passé, supprime tous les instantanés automatiques précédents pour l'instance DB et empêche la récupération d'instantanés supprimés. Si l'instance DB n'est pas encore en production, la désactivation des sauvegardes peut améliorer les performances de chargement. Cette modification doit être immédiatement annulée une fois le chargement de données terminé. Envisagez également de générer des points de récupération en créant des instantanés manuels à des stades critiques du processus de chargement des données.
  • Désactivez la fonction Multi-AZ pendant l'opération de chargement des données afin de réduire la surcharge engendrée par les opérations d'écriture synchrones des chargements de données Multi-AZ. La fonctionnalité Multi-AZ est une bonne pratique recommandée pour toutes les instances DB RDS de production et elle doit être activée dès que le chargement des données est terminé.
  • Si vous chargez une quantité importante de données en parallèle, veillez à ce que l'ordinateur client dispose de ressources suffisantes pour ne pas devenir un goulet d'étranglement au cours du processus de chargement des données.

Les étapes et les outils nécessaires pour importer des données dans une instance DB RDS dépendent du moteur de base de données utilisé, comme décrit dans les sections suivantes.

MySQL  : consultez Importation et exportation de données à partir d'une instance DB MySQL. Les outils MySQL pouvant être utilisés pour ce processus comprennent mysqldump, mysql et la réplication. La réplication avec MySQL 5.6.13 ou version ultérieure permet de répliquer des données vers et à partir d'une instance RDS externe. La réplication est utile lorsque vous travaillez avec des bases de données plus importantes, car elle enregistre toutes les modifications apportées aux données source pendant l'exportation, le chargement et l'importation de la base de données. Après l'importation de l'ensemble des données dans l'instance DB RDS cible, toutes les modifications apportées aux données source sont répliquées dans l'instance DB RDS cible. Cela permet d'avoir une période de « maintenance serveur » beaucoup plus courte pour passer à l'instance DB RDS.

MariaDB  : consultez Importation de données dans une instance DB MariaDB. Les outils MariaDB pouvant être utilisés pour ce processus comprennent mysqldump, mysql et la réplication standard. La réplication standard à l'aide de MariaDB 5.3 ou version ultérieure permet de répliquer les données vers et à partir d'une instance RDS externe. La réplication est utile lorsque vous travaillez avec des bases de données plus importantes, car elle enregistre toutes les modifications apportées aux données source pendant l'exportation, le chargement et l'importation de la base de données. Après l'importation de l'ensemble des données dans l'instance DB RDS cible, toutes les modifications apportées aux données source sont répliquées dans l'instance DB RDS cible. Cela permet d'avoir une période de « maintenance serveur » beaucoup plus courte pour passer à l'instance DB RDS.

MariaDB et MySOL : pour améliorer les performances de chargement des données pour MariaDB et MySQL, vous pouvez utiliser une ou plusieurs des options suivantes :

  • Définissez la variable système innodb_flush_log_at_trx_commit sur 0.
  • Augmentez la valeur de la variable système innodb_log_file_size afin d'améliorer la capacité du fichier journal.
  • Augmentez la valeur de la variable système max_allowed_packet pour élever la limite supérieure de la taille de la mémoire tampon de paquets de messages.
  • Désactivez auto_commit en utilisant un groupe de paramètres personnalisés pendant toute la durée du chargement des données.
  • Envisagez d'utiliser l'utilitaire tiers MySQL Data Dumper pour importer les données dans votre instance DB RDS.

Remarque
Annulez les modifications apportées à la configuration une fois l'importation de données terminée. Ces modifications ne sont pas optimales pour des opérations de serveur normales.

PostgreSQL  : consultez Importation de données dans PostgreSQL sur Amazon RDS. Les outils PostgreSQL pouvant être utilisés pour ce processus sont pg_dump, psql et la commande copy. Pour améliorer les performances lors du chargement des données, vous pouvez utiliser une ou plusieurs des options suivantes :

  • Utilisez pg_dump –Fc (compressed) pg_restore –j (parallel) pour utiliser la compression et plusieurs threads parallèles. Pour plus d'informations sur ces utilitaires, consultez pg_dump et pg_restore.
  • Augmentez la valeur de l'option de configuration de serveur maintenance_work_mem afin de fournir davantage de mémoire pour les opérations de maintenance. La valeur par défaut de maintenance_work_mem est 16 (Mo).
  • Augmentez la valeur des options de configuration d'exécution checkpoint_segments et checkpoint_timeout. Pour plus d'informations sur ces options, consultez Points de contrôle.
  • Désactivez les paramètres synchronous_commit en utilisant un groupe de paramètres personnalisés pendant toute la durée du chargement des données.

Remarque
Annulez les modifications apportées à la configuration une fois l'importation de données terminée. Ces modifications ne sont pas optimales pour des opérations de serveur normales.

Oracle  : consultez Importation des données dans Oracle sur Amazon RDS. Les petites bases de données peuvent utiliser la Fonction de copie de base de données disponible avec Oracle SQL Developer. Les bases de données plus volumineuses requièrent une pompe à données pour l'exportation et l'importation à l'aide d'un lien de base de données et le transfert de fichiers vers le répertoire défini dans l'instance RDS lors de la spécification des paramètres d'exportation.

SQL Server  : il n'est pas possible de créer des instances DB SQL Server RDS en restaurant des données à partir d'un fichier .BAK. Pour plus d'informations, consultez Importation et exportation de données SQL Server. Les outils SQL Server pouvant être utilisés pour ce processus sont l'Assistant de génération et de publication de scripts, l'Assistant d'importation et d'exportation SQL Server et l'outil de ligne de commande de copie en bloc (bcp.exe) décrit dans Opérations de copie en bloc sur SQL Server. Le billet de blog suivant fournit des informations supplémentaires sur l'importation de données à partir de SQL Server vers une instance DB RDS qui exécute le moteur de base de données SQL Server : How to Migrate SQL Server Database to Amazon RDS Instance.

RDS, importer, migration de données, réplication, exporter, copier, pompe à données, instance DB


Cette page vous a-t-elle été utile ? Oui | Non

Retour au Centre de connaissances AWS Support

Vous avez besoin d'aide ? Consultez le site du Centre AWS Support.

Date de publication : 04/11/2015