Conversion de schémas de base de données à l'aide de AWS SCT - AWS Schema Conversion Tool

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Conversion de schémas de base de données à l'aide de AWS SCT

Vous pouvez utiliser AWS Schema Conversion Tool (AWS SCT) pour convertir vos schémas de base de données existants d'un moteur de base de données en un autre. La conversion d'une base de données à l'aide de AWS SCT l'interface utilisateur peut être assez simple, mais plusieurs éléments doivent être pris en compte avant de procéder à la conversion.

Par exemple, vous pouvez AWS SCT effectuer les opérations suivantes :

  • Vous pouvez l'utiliser AWS SCT pour copier un schéma de base de données sur site existant vers une instance de base de données Amazon RDS exécutant le même moteur. Cette fonction vous permet d'analyser les économies de coûts potentielles en cas de déplacement vers le cloud et de changement de votre type de licence.

  • Dans certains cas, les fonctionnalités de base de données ne peuvent pas être converties en fonctionnalités Amazon RDS équivalentes. Si vous hébergez et gérez vous-même une base de données sur la plateforme Amazon Elastic Compute Cloud (Amazon EC2), vous pouvez émuler ces fonctionnalités en les remplaçant AWS par des services.

  • AWS SCTautomatise une grande partie du processus de conversion de votre schéma de base de données de traitement des transactions en ligne (OLTP) en instance de base de données MySQL Amazon Relational Database Service (Amazon RDS), en cluster de bases de données Amazon Aurora ou en instance de base de données PostgreSQL. Les moteurs de base de données source et cible contiennent de nombreuses fonctionnalités et fonctionnalités différentes et AWS SCT tentent de créer un schéma équivalent dans votre instance de base de données Amazon RDS dans la mesure du possible. Si aucune conversion directe n'est possible, AWS SCT fournit une liste des actions possibles que vous pouvez effectuer.

AWS SCTprend en charge les conversions OLTP (traitement des transactions en ligne) suivantes.

Base de données source Base de données cible

IBM Db2 pour z/OS (version 12)

Édition compatible avec Amazon Aurora MySQL, Édition compatible avec Amazon Aurora PostgreSQL, MySQL, PostgreSQL

IBM Db2 LUW (versions 9.1, 9.5, 9.7, 10.5, 11.1 et 11.5)

Aurora MySQL, Aurora PostgreSQL, MariaDB, MySQL, PostgreSQL

Base de données Microsoft Azure SQL

Aurora MySQL, Aurora PostgreSQL, MySQL, PostgreSQL

Microsoft SQL Server (version 2008 R2 et supérieure)

Aurora MySQL, Aurora PostgreSQL, Babelfish pour Aurora PostgreSQL, MariaDB, Microsoft SQL Server, MySQL, PostgreSQL

MySQL (version 5.5 et supérieure)

Aurora PostgreSQL, MySQL, PostgreSQL

Vous pouvez migrer le schéma et les données de MySQL vers un cluster de bases de données Aurora MySQL sans utiliserAWS SCT. Pour plus d'informations, consultez la section Migration de données vers un cluster de base de données Amazon Aurora.

Oracle (version 10.2 et supérieures)

Aurora MySQL, Aurora PostgreSQL, MariaDB, MySQL, Oracle, PostgreSQL

PostgreSQL (version 9.1 et supérieure)

Aurora MySQL, Aurora PostgreSQL, MySQL, PostgreSQL

SAP ASE (12,5, 15,0, 15,5, 15,7 et 16,0)

Aurora MySQL, Aurora PostgreSQL, MariaDB, MySQL, PostgreSQL

Pour plus d'informations sur la conversion d'un schéma d'entrepôt de données, reportez-vous à la sectionConversion de schémas d'entrepôts de données vers Amazon Redshift à l'aide de AWS SCT.

Pour convertir votre schéma de base de données en Amazon RDS, vous devez suivre les étapes de haut niveau suivantes :

  • Création de règles de migration dans AWS SCT— Avant de convertir votre schéma avecAWS SCT, vous pouvez définir des règles qui modifient le type de données des colonnes, déplacer des objets d'un schéma à un autre et modifier le nom des objets.

  • Conversion de votre schéma à l'aide de AWS SCT: AWS SCT crée une version locale du schéma converti que vous pouvez consulter, mais elle ne l'applique pas à votre instance de base de données cible tant que vous n'êtes pas prêt.

  • Création de rapports d'évaluation de la migration avecAWS SCT: AWS SCT crée un rapport d'évaluation de la migration de base de données qui détaille les éléments du schéma qui ne peuvent pas être convertis automatiquement. Vous pouvez utiliser ce rapport pour identifier où vous devez créer un schéma dans votre instance de base de données Amazon RDS compatible avec votre base de données source.

  • Gestion des conversions manuelles dans AWS SCT— Si certains de vos éléments de schéma ne peuvent pas être convertis automatiquement, vous avez deux choix : mettre à jour le schéma source puis procéder à une nouvelle conversion, ou créer des éléments de schéma équivalents dans votre instance de base de données Amazon RDS cible.

  • Mettre à jour et actualiser votre schéma converti dans AWS SCT— Vous pouvez mettre à jour votre AWS SCT projet avec le schéma le plus récent de votre base de données source.

  • Enregistrer et appliquer votre schéma converti dans AWS SCT— Lorsque vous êtes prêt, AWS SCT appliquez le schéma converti dans votre projet local à votre instance de base de données Amazon RDS cible.

Création de règles de migration dans AWS SCT

Avant de convertir votre schéma avecAWS SCT, vous pouvez configurer des règles de migration. Les règles de migration AWS SCT peuvent effectuer des transformations telles que la modification du type de données des colonnes, le déplacement d'objets d'un schéma à un autre et la modification du nom des objets. Supposons, par exemple, que votre schéma source contienne un ensemble de tables nommétest_TABLE_NAME. Vous pouvez définir une règle qui remplace le préfixe par test_ le préfixe du demo_ schéma cible.

Note

Vous pouvez uniquement créer des règles de migration pour différents moteurs de base de données source et cible.

Vous pouvez créer des règles de migration qui exécutent les tâches suivantes :

  • Ajouter, supprimer ou remplacer un préfixe

  • Ajouter, supprimer ou remplacer un suffixe

  • Modifier le classement des colonnes

  • Modifier le type de données

  • Modifier la longueur dechar, varcharnvarchar, et les types de string données

  • Déplacer des objets

  • Renommer des objets

Vous pouvez créer des règles de migration pour les objets suivants :

  • Database (Base de données)

  • Schema (Schéma)

  • Tableau

  • Colonne

Création de règles de migration

Vous pouvez créer des règles de migration et les enregistrer dans le cadre de votre projet. Votre projet étant ouvert, utilisez la procédure suivante pour créer des règles de migration.

Pour créer des règles de migration
  1. Dans le menu Affichage, choisissez le mode Cartographie.

  2. Dans Mappages de serveurs, choisissez une paire de serveurs source et cible.

  3. Choisissez Nouvelle règle de migration. La boîte de dialogue Règles de transformation s'affiche.

  4. Choisissez Add new rule. Une nouvelle ligne est ajoutée à la liste de règles.

  5. Configurez votre règle :

    1. Pour Name (Nom), saisissez un nom pour votre règle.

    2. Sous For, choisissez le type d'objet auquel la règle s'applique.

    3. Pour savoir où, entrez un filtre à appliquer aux objets avant d'appliquer la règle de migration. La clause Where est évaluée à l'aide d'une clause Like. Vous pouvez entrer un nom exact pour sélectionner un objet, ou spécifier un modèle afin de sélectionner plusieurs objets.

      Les champs disponibles pour la clause where varient en fonction du type de l'objet. Par exemple, s"il s'agit du type d'objet schéma, un seul champ est disponible pour le nom de schéma.

    4. Pour Actions, choisissez le type de règle de migration que vous souhaitez créer.

    5. Selon le type de règle, entrez une ou deux valeurs supplémentaires. Par exemple, pour renommer un objet, entrez le nouveau nom de l'objet. Pour remplacer un préfixe, entrez l'ancien préfixe et le nouveau préfixe.

      Pour les types de données char, varchar, nvarchar et string, vous pouvez modifier la longueur du type de données à l'aide de l'opérateur de multiplication. Par exemple, la %*4 valeur transforme le type de varchar(10) données envarchar(40).

  6. Après avoir configuré votre règle de migration, choisissez Enregistrer pour enregistrer votre règle. Vous pouvez également choisir Cancel pour annuler vos modifications.

    La boîte de dialogue des règles de transformation
  7. Une fois que vous avez ajouté, modifié ou supprimé les règles, choisissez Save All pour enregistrer toutes vos modifications.

  8. Choisissez Fermer pour fermer la boîte de dialogue des règles de transformation.

Vous pouvez utiliser l'icône à bascule pour désactiver une règle de migration sans la supprimer. Vous pouvez utiliser l'icône de copie pour dupliquer une règle de migration existante. Vous pouvez utiliser l'icône en forme de crayon pour modifier une règle de migration existante. Vous pouvez utiliser l'icône de suppression pour supprimer une règle de migration existante. Pour enregistrer les modifications que vous apportez à vos règles de migration, choisissez Enregistrer tout.

Exportation des règles de migration

Si vous avez l'AWS DMShabitude de migrer vos données de votre base de données source vers votre base de données cible, vous pouvez fournir des informations sur vos règles de migration versAWS DMS. Pour plus d'informations sur les tâches, consultez la section Utilisation des tâches AWS Database Migration Service de réplication.

Pour exporter les règles de migration
  1. Dans leAWS Schema Conversion Tool, choisissez Mapping View dans le menu Affichage.

  2. Dans Règles de migration, choisissez une règle de migration, puis sélectionnez Modifier la règle de migration.

  3. Choisissez Exporter le script pour AWS DMS.

  4. Accédez à l'emplacement où vous souhaitez enregistrer votre script, puis choisissez Save. Vos règles de migration sont enregistrées sous forme de script JSON qui peut être utilisé parAWS DMS.

Conversion de votre schéma à l'aide de AWS SCT

Une fois que vous avez connecté votre projet à la fois à votre base de données source et à votre instance de base de données Amazon RDS cible, votre AWS Schema Conversion Tool projet affiche le schéma de votre base de données source dans le panneau de gauche. Le schéma est présenté sous forme d'arborescence, et chaque nœud de l'arborescence est « avec chargement différé ». Lorsque vous sélectionnez un nœud dans l'arborescence, AWS SCT demande les informations de schéma de votre base de données source à ce moment-là.

Vous pouvez choisir des éléments de schéma de votre base de données source, puis convertir le schéma en schéma équivalent pour le moteur de base de données de votre instance DB cible. Vous pouvez choisir n'importe quel élément de schéma de votre base de données source de convertir. Si l'élément de schéma que vous choisissez dépend d'un élément parent, puis AWS SCT génère également le schéma de l'élément parent. Supposons, par exemple, que vous choisissiez une table à convertir. Si tel est le cas, AWS SCT génère le schéma de la table et la base de données dans laquelle se trouve la table.

Conversion de schémas

Pour convertir un schéma à partir de votre base de données source, cochez la case correspondant au nom du schéma à convertir. Choisissez ensuite ce schéma dans le panneau de gauche de votre projet. AWS SCTmet en évidence le nom du schéma en bleu. Ouvrez le menu contextuel (clic droit) du schéma, puis choisissez Convertir le schéma, comme illustré ci-dessous.

Convert schema (Convertir le schéma)

Une fois que vous avez converti le schéma de votre base de données source, vous pouvez choisir des éléments de schéma dans le volet gauche de votre projet et afficher le schéma converti dans les panneaux centraux de votre projet. Le panneau situé dans la partie centrale inférieure affiche les propriétés et la commande SQL pour créer le schéma converti, comme illustré ci-après.

Choose source schema item (Choisir l'élément de schéma source)

Une fois que vous avez converti votre schéma, vous pouvez enregistrer votre projet. Les informations de schéma de votre base de données source sont enregistrées avec votre projet. Cette fonctionnalité signifie que vous pouvez travailler hors ligne sans être connecté à votre base de données source. AWS SCT se connecte à votre base de données source pour mettre à jour le schéma dans votre projet si vous choisissez Refresh from Database (Actualiser depuis la base de données) pour votre base de données source. Pour plus d'informations, veuillez consulter Mettre à jour et actualiser votre schéma converti dans AWS SCT.

Vous pouvez créer un rapport d'évaluation de la migration de base de données des éléments qui ne peuvent pas être convertis automatiquement. Le rapport d'évaluation est utile pour identifier et résoudre les éléments de schéma qui ne peut pas être convertis automatiquement. Pour plus d'informations, veuillez consulter Création de rapports d'évaluation de la migration avecAWS SCT.

Lorsqu'AWS SCT génère un schéma converti, il ne l'applique pas immédiatement à l'instance de base de données cible. En revanche, le schéma converti est stocké localement jusqu'à ce que vous soyez prêt à l'appliquer à l'instance DB cible. Pour plus d'informations, veuillez consulter Appliquer votre schéma converti.

Modification du schéma converti

Vous pouvez modifier le schéma converti et enregistrer les modifications dans le cadre de votre projet.

Pour modifier le schéma converti
  1. Dans le volet gauche qui affiche le schéma de votre base de données source, sélectionnez l'élément pour lequel vous voulez modifier le schéma converti.

  2. Dans le volet situé dans la partie centrale inférieure qui affiche le schéma converti pour l'élément sélectionné, choisissez l'onglet SQL.

  3. Dans le texte affiché pour l'onglet SQL, modifiez le schéma comme requis. Le schéma est automatiquement enregistré avec votre projet comme vous le mettez à jour.

    Actualiser le schéma de l'instance de base de données cible

Les modifications que vous apportez au schéma converti sont stockées avec votre projet lorsque vous effectuez des mises à jour. Si vous convertissez nouvellement un élément de schéma de votre base de données source et que vous avez fait des mises à jour de schéma précédemment converti pour cet élément, ces mises à jour existantes sont remplacées par l'élément de schéma nouvellement converti basé sur votre base de données source.

Effacer un schéma converti

Jusqu'à ce que vous appliquiez le schéma à votre instance de base de données cible, AWS SCT stocke uniquement le schéma converti localement dans votre projet. Vous pouvez effacer le schéma planifié de votre projet en choisissant le nœud d'arborescence pour votre instance de base de données, puis en choisissant Refresh from Database. Aucun schéma n'ayant été écrit dans votre instance de base de données cible, l'actualisation à partir de la base de données supprime les éléments de schéma planifiés dans votre AWS SCT projet afin qu'ils correspondent à ceux qui existent dans votre instance de base de données source.

Gestion des conversions manuelles dans AWS SCT

Le rapport d'évaluation inclut une liste d'éléments qui ne peuvent pas être convertis automatiquement vers le moteur de base de données de votre instance de base de données Amazon RDS cible. Pour chaque élément qui ne peut pas être converti, il y a un élément de l'action sur l'onglet Action Items.

Vous pouvez réagir aux éléments d'action du rapport d'évaluation des manières suivantes :

  • Modifiez votre schéma de base de données source.

  • Modifiez votre schéma de base de données cible.

Modification de votre schéma source

Pour certains éléments, il peut être plus facile de modifier le schéma de base de données de votre base de données source en un schéma pouvant être converti automatiquement. Tout d'abord, vérifiez que les nouvelles modifications sont compatibles avec l'architecture de votre application, puis mettez à jour le schéma dans votre base de données source. Enfin, actualisez votre projet avec les informations de schéma mises à jour. Vous pouvez ensuite convertir le schéma mis à jour et générer un nouveau rapport d'évaluation de la migration de la base de données. Les éléments d'action n'apparaissent plus pour les éléments qui ont été modifiés dans le schéma source.

L'avantage de ce processus est que le schéma mis à jour est toujours disponible lors de l'actualisation à parti de votre base de données source.

Modification de votre schéma cible

Pour certains éléments, il peut être plus facile d'appliquer le schéma converti à votre base de données cible, et d'ajouter ensuite les éléments de schéma équivalent manuellement à votre base de données cible pour les éléments qui n'ont pas pu être convertis automatiquement. Vous pouvez écrire tout le schéma qui peut être converti automatiquement à votre instance DB cible en appliquant le schéma. Pour plus d'informations, veuillez consulter Enregistrer et appliquer votre schéma converti dans AWS SCT.

Le schéma qui est écrit dans votre instance DB cible ne contient pas les éléments qui ne peuvent pas être convertis automatiquement. Après avoir appliqué le schéma à votre instance DB cible, vous pouvez alors créer manuellement un schéma dans votre instance DB cible qui est équivalent à celui de la base de données source. Les éléments d'action dans le rapport d'évaluation de la migration de base de données contiennent des suggestions sur la façon de créer le schéma équivalent.

Avertissement

Si vous créez manuellement le schéma de votre instance DB cible, enregistrez une copie de n'importe quel travail manuel que vous faites. Si vous appliquez de nouveau le schéma converti à partir de votre projet à votre instance DB cible, il remplace le travail manuel que vous avez terminé.

Dans certains cas, vous ne pouvez pas créer de schéma équivalent dans votre instance DB cible. Vous devrez reconcevoir une partie de votre application et de votre base de données afin d'utiliser les fonctionnalités disponibles dans le moteur de base de données pour votre instance de base de données cible. Dans d'autres cas, vous pourrez simplement ignorer le schéma qui ne peut pas être converti automatiquement.

Mettre à jour et actualiser votre schéma converti dans AWS SCT

Vous pouvez mettre à jour le schéma source et le schéma cible dans votre projet AWS Schema Conversion Tool.

  • Source : si vous mettez à jour le schéma de votre base de données source, AWS SCT remplace le schéma de votre projet par le schéma le plus récent de votre base de données source. A l'aide de cette fonctionnalité, vous pouvez mettre à jour votre projet si les modifications ont été apportées au schéma de votre base de données source.

  • Cible : si vous mettez à jour le schéma de votre instance de base de données Amazon RDS cible, AWS SCT remplace le schéma de votre projet par le schéma le plus récent de votre instance de base de données cible. Si vous n'avez pas appliqué de schéma à votre instance de base de données cible, AWS SCT supprime le schéma converti de votre projet. Vous pouvez ensuite convertir le schéma de votre base de données source en une instance DB cible propre.

Vous mettez à jour le schéma de votre AWS SCT projet en choisissant Refresh from Database.

Note

Lorsque vous actualisez votre schéma, AWS SCT charge les métadonnées uniquement lorsque cela est nécessaire. Pour charger complètement l'ensemble du schéma de votre base de données, ouvrez le menu contextuel (clic droit) correspondant à votre schéma, puis choisissez Charger le schéma. Par exemple, vous pouvez utiliser cette option pour charger simultanément les métadonnées de votre base de données, puis travailler hors connexion.

Enregistrer et appliquer votre schéma converti dans AWS SCT

Lorsque AWS Schema Conversion Tool génère le schéma converti (comme indiqué dans Conversion de votre schéma à l'aide de AWS SCT), il n'applique pas immédiatement le schéma converti à l'instance de base de données cible. Au lieu de cela, le schéma converti est stocké localement dans votre projet jusqu'à ce que vous soyez prêt à l'appliquer à l'instance DB cible. A l'aide de cette fonctionnalité, vous pouvez travailler avec des éléments de schéma qui ne peuvent pas être convertis automatiquement à votre moteur de base de données cible. Pour plus d'informations sur les éléments qui ne peuvent pas être convertis automatiquement, consultez Création de rapports d'évaluation de la migration avecAWS SCT.

De manière facultative, l'outil peut enregistrer votre schéma converti en un fichier en tant que script SQL avant d'appliquer le schéma à votre instance DB cible. Vous pouvez faire appliquer par l'outil le schéma converti directement à votre instance DB cible.

Enregistrer votre schéma converti dans un fichier

Vous pouvez enregistrer votre schéma converti sous forme de scripts SQL dans un fichier texte. Grâce à cette approche, vous pouvez modifier les scripts SQL générés à partir de AWS SCT pour les éléments que l'outil ne peut pas convertir automatiquement. Vous pouvez ensuite exécuter vos scripts mis à jour sur votre instance DB cible pour appliquer votre schéma converti à votre base de données cible.

Pour enregistrer votre schéma converti sous forme de scripts SQL
  1. Choisissez votre schéma et ouvrez le menu contextuel (clic droit).

  2. Choisissez Enregistrer en tant que SQL.

  3. Entrez le nom du fichier et choisissez Enregistrer.

  4. Enregistrez votre schéma converti à l'aide de l'une des options suivantes :

    • Fichier unique

    • Un seul fichier par étape

    • Un seul fichier par déclaration

Pour choisir le format du script SQL
  1. Dans le menu Paramètres, choisissez Paramètres du projet.

  2. Choisissez Enregistrer les scripts.

  3. Pour Vendor, choisissez la plate-forme de base de données.

  4. Pour Enregistrer les scripts SQL dans, choisissez la manière dont vous souhaitez enregistrer votre script de schéma de base de données.

  5. Cliquez sur OK pour enregistrer les paramètres.

Appliquer votre schéma converti

Lorsque vous êtes prêt à appliquer votre schéma converti à votre instance de base de données Amazon RDS cible, choisissez l'élément de schéma dans le panneau de droite de votre projet. Ouvrez le menu contextuel (clic droit) pour l'élément de schéma, puis choisissez Apply to database, comme indiqué ci-dessous.

Apply to database (Appliquer à la base de données)

Le schéma du pack d'extensions

La première fois que vous appliquez votre schéma converti à votre instance de base de données cible, AWS SCT ajoute un schéma supplémentaire à cette dernière. Ce schéma met en œuvre les fonctions système de la base de données source nécessaires lors de l'écriture du schéma converti dans l'instance DB cible. Le schéma est appelé schéma de kit d'extension.

Ne modifiez pas ce schéma ou vous risquez d'obtenir des résultats inattendus dans le schéma converti écrit dans l'instance de base de données cible. Lorsque votre schéma est entièrement migré vers l'instance de base de données cible et que vous n'avez plus besoin de AWS SCT, vous pouvez supprimer le schéma de kit d'extension.

Le schéma de kit d'extension est nommé selon votre base de données source, comme suit :

  • IBM DB2 LUW : aws_db2_ext

  • Microsoft SQL Server: aws_sqlserver_ext

  • MySQL: aws_mysql_ext

  • Oracle: aws_oracle_ext

  • PostgreSQL: aws_postgresql_ext

  • ÉTUI À SAVON : aws_sapase_ext

Pour plus d'informations, veuillez consulter Utilisation des AWS Lambda fonctions du pack d' AWS SCT extension .