Le Blog Amazon Web Services

Amazon RDS for Oracle – Partie 4 : Moderniser votre base de données

Oracle occupe une position dominante dans le paysage des bases de données relationnelles depuis des décennies. Cette prédominance historique crée des défis spécifiques lorsque les organisations souhaitent migrer leurs bases de données Oracle vers Amazon Web Services (AWS).

Nous vous proposons une série de 4 blog posts qui répondent aux questions suivantes :

Bravo à vous ! Votre base de données est désormais opérationnelle sur Amazon Relational Database Service (RDS) . En éliminant les tâches ardues et chronophages, vous pouvez maintenant vous consacrer pleinement à la création de valeur pour vos utilisateurs.

Nous ne voyons pas cela comme la fin du projet, mais uniquement le début d’une nouvelle opportunité qui est la modernisation de votre base de données. En effet, il est possible de migrer votre workload base de données d’Oracle vers une base de données PostgreSQL ou MySQL. Migrer vers Amazon Aurora PostgreSQL, par exemple, va vous permettre d’avoir une base de données qui tirera bénéfice des avantages du cloud afin de vous fournir une base de données avec une meilleure scalabilité, disponibilité, et durabilité : https://aws.amazon.com/tutorials/break-free-from-legacy-databases/why-migrate-oracle-to-amazon-aurora/

La fonctionnalité qui illustre le mieux cette capacité est la réplication d’Aurora de chaque écriture validée à travers six nœuds de stockage répartis sur trois zones de disponibilité. Cette réplication améliore la disponibilité de vos données et vous offre la possibilité d’effectuer un scaling horizontal en créant jusqu’à 15 « read-replicas » distribués sur ces six nœuds de stockage. De plus, tout cela est réalisé sans aucun surcoût lié aux licences.

La scalabilité verticale n’est pas négligée, vous pouvez augmenter la capacité de votre serveur (CPU) pour répondre à une hausse de votre charge de travail, sans vous soucier de l’impact sur le coût des licences. Cependant, changer sa base de données n’est pas une opération simple, surtout lorsqu’il existe un historique important. Le processus se divise en trois parties.

  • La migration des objets bases de données (tables, indexes, objets PL/SQL …)
  • La migration des données
  • La migration du code SQL dans le code applicatif

Nous allons passer en revue chaque partie et voir quelles sont les solutions à notre disposition.

La migration des objets bases de données

La migration des objets de base de données

Après avoir créé votre base de données, vous devez migrer vos objets de base de données. Ces objets incluent les segments de données comme les tables et les index, ainsi que les éléments non-segmentés tels que les vues, les déclencheurs et les procédures stockées. AWS Database Migration Service schéma conversion (DMS SC) simplifie cette étape critique de votre migration.

AWS DMS SC est un service cloud entièrement géré et sans serveur qui ne génère aucun coût supplémentaire. Ce service évalue d’abord la complexité de votre migration d’Oracle vers un autre moteur de base de données relationnelle. Vous recevez ensuite un rapport d’évaluation détaillé via la console AWS qui identifie les objets et le code convertis avec succès, ainsi que ceux nécessitant une analyse plus approfondie.

Le service convertit automatiquement vos objets de base de données et les migre vers votre environnement cible. Vous pouvez choisir d’appliquer directement les recommandations de conversion dans votre base de données de destination. Cette approche automatisée accélère votre processus de migration tout en réduisant les efforts manuels.

AWS DMS SC exploite l’intelligence artificielle générative pour migrer jusqu’à 90 % des objets issus de bases de données commerciales comme Oracle et SQL Server vers PostgreSQL. Cette capacité d’automatisation intelligente transforme une tâche traditionnellement complexe en un processus rationalisé et efficace.

Retrouvez plus d’informations sur le sujet via ce blog post : https://aws.amazon.com/blogs/aws/aws-data-migration-service-improves-database-schema-conversion-with-generative-ai/

Le service présente plusieurs avantages par rapport à l’ancien Schema Conversion Tool (SCT). AWS DMS SC nécessite l’existence de la base source pour fonctionner, contrairement à SCT qui peut travailler avec des schémas exportés. Alors que SCT s’appuie sur des règles prédéfinies pour la migration, AWS DMS SC utilise l’analyse prédictive pour générer ses recommandations. De plus, AWS DMS SC fonctionne directement depuis la console AWS, éliminant le besoin de télécharger et d’installer un outil séparé comme SCT.

Cette approche moderne de la conversion de schémas vous permet de bénéficier des dernières innovations en matière d’intelligence artificielle tout en conservant un contrôle total sur le processus de migration. Une fois la migration des objets terminée, vous pouvez procéder à l’étape suivante : la migration des données proprement dite.

Les fonctionnalités, limitations et prérequis sont disponibles ici : https://docs.aws.amazon.com/dms/latest/userguide/CHAP_SchemaConversion.html

Migration des données

Pour la migration des données, nous utiliserons le service cloud AWS Database Migration Service (DMS) :
https://docs.aws.amazon.com/dms/latest/sbs/chap-rdsoracle2postgresql.html

Ce service effectuera la transition entre votre base de données source Oracle et votre base de données cible PostgreSQL de l’une des manières suivantes : un chargement complet, une capture de données modifiées (CDC) pour répliquer les modifications en temps réel, ou une combinaison des deux, avec un chargement complet initial suivi d’une CDC pour maintenir la base de données cible à jour. AWS DMS offre trois avantages principaux : une interruption de service minimale, une base de données continuellement mise à jour pour les tests de non-régression, et une réplication bidirectionnelle permettant d’intégrer AWS DMS comme solution de rollback dans le plan de migration.

Pour utiliser Oracle comme base de données source, consultez les prérequis et limites ici : https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html.

Pour PostgreSQL comme base de données cible, les informations sont disponibles ici : https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.PostgreSQL.html.

Enfin, il est nécessaire de migrer le code SQL dans le code applicatif.

La migration du code SQL dans le code applicatif

Vos objets et vos données dans votre base de données sont migrés. C’est une étape importante qui a été franchie. Il reste cependant le code SQL inclus dans votre applicatif. Le code SQL issu d’un « Object-Relational Mapping » (ORM) ne sera pas abordé ici, car nous avons souvent la possibilité de changer la base de données cible pour modifier le code SQL généré. Pour le code SQL « hard-codé » dans le code applicatif, vous pouvez bénéficier d’Amazon Q Developer qui depuis le 25 Novembre 2024, va transformer automatiquement le code SQL qui est contenu soit :

Dans le cadre de Java, une fois Amazon Q intégré à votre IDE, (https://docs.aws.amazon.com/amazonq/latest/qdeveloper-ug/q-in-IDE-setup.html), vous allez pouvoir via le prompt facilement et rapidement convertir votre code SQL via le prompt : « /transform », puis choisir la base de données concernée.

Cette étape, comme les deux précédentes, doit également être fortement testée avant le passage en production.

Conclusion

Dans cette série de blog posts, nous vous avons accompagné dans votre migration vers le cloud, vous avez modernisé votre base de données. La prochaine étape est la modernisation de votre application. Nous disposons de plusieurs outils et programmes pour vous aider à moderniser votre code applicatif .

Les équipes AWS sont disponibles pour vous accompagner dans cette démarche. Les architectes solutions peuvent vous aider à structurer votre migration, définir la meilleure cible et le meilleur dimensionnement de vos instances Oracle.

Dimitri Fryc

Dimitri Fryc

Dimitri est Architecte de Solutions Spécialiste bases de données AWS depuis 2021. Basé à Lyon, il aide au quotidien les entreprises à adopter et optimiser leurs bases de données relationnelle et NoSQL sur AWS.

Jaouad Zouaghi

Jaouad Zouaghi

Jaouad est Architecte de Solutions Spécialiste bases de données SQL/NOSQL basé à Paris, aidant les organisations à migrer leur workload de base de données vers AWS.
Il a une expérience importante sur les bases de données relationnelles, avec une appétence pour les sujets de criticité : Performance, haute disponibilité, PRA… Si vous souhaitez tirer bénéfice des capacités du cloud, pour vos workloads, n’hésitez pas à le contacter.