Qu’est-ce que la migration de base de données ?
Qu’est-ce que la migration de base de données ?
La migration de base de données est un processus qui déplace une base de données d’un environnement à un autre. Alors que les entreprises cherchent à moderniser leurs applications, elles migrent les bases de données associées des serveurs sur site vers le cloud.
La migration des bases de données vers le cloud permet aux entreprises d’améliorer la fiabilité, la capacité de mise à l’échelle et les performances de leurs services. En outre, la migration des données vers le cloud réduit les coûts d’infrastructure liés à la maintenance des centres de données sur site.
Le transfert de volumes de données vers le cloud est important pour garantir l’intégrité des données, la conformité et la continuité des activités. Éléments à prendre en compte :
Budget
La migration des données implique des tâches comme l’audit des données, la cartographie, les tests et la surveillance après la migration. Parfois, l’application qui accède à la base de données doit être modifiée avant la lecture des données de la base de données migrée. Les entreprises doivent prévoir dans leur budget le temps, les coûts et les ressources nécessaires à ces tâches.
Durée d’indisponibilité
Lors de la migration de la base de données, prévoyez la durée d’indisponibilité lorsque vous passez de la source à la cible de destination. Bien qu’aucune durée d’indisponibilité soit impossible, vous pouvez réduire les interruptions d’activité en planifiant la migration et en utilisant des outils de migration de base de données appropriés. Par exemple, vous pouvez tester la base de données cloud bien avant la bascule pour garantir la fiabilité des applications et l’exactitude des données.
Systèmes source et cible
Un transfert homogène déplace les données des systèmes source vers les systèmes cibles dotés de moteurs de bases de données semblables. En revanche, le transfert de données vers une plateforme cible différente est appelé transfert hétérogène. Par exemple, la migration d’une base de données MySQL vers une base de données MySQL est homogène, tandis que le transfert de Postgres SQL vers Amazon Aurora est hétérogène. Le transfert homogène est plus simple, car la base de données peut être déplacée vers la cible de destination sans manipulation supplémentaire. Toutefois, en cas de migration hétérogène, les architectes de bases de données devront nettoyer et transformer les données avant de les transférer.
Type de migration
La migration de base de données peut être des types suivants.
- Une migration partielle ne déplace qu’une partie du jeu de données de la base de données d’origine vers le cloud.
- Une migration complète de la base de données permet de transférer toutes les données de la plateforme source vers la plateforme cible.
Après chaque transfert, la base de données source est déconnectée de l’application. Un autre type de migration est la migration continue ou la réplication des données. Ce type copie indéfiniment les données de la source vers la base de données de destination.
Quels sont les types de migrations de bases de données ?
Avant de procéder à la migration, réfléchissez au type de migration qui correspond le mieux à votre cas d’utilisation.
Migration hors ligne
La migration hors ligne convient au transfert de bases de données non critiques qui peuvent tolérer des durées d’indisponibilité importantes. Lorsque vous effectuez une migration hors ligne, vous devez empêcher les applications d’écrire dans la base de données pendant un certain temps. Le délai permet aux architectes de bases de données de lift-and-shift (transférer) la base de données vers le cloud et de modifier l’application. Les entreprises optent généralement pour la migration hors ligne lorsqu’elles modernisent des systèmes hérités qui ne sont pas pris en charge par les outils de migration vers le cloud. De même, la migration hors ligne des bases de données est idéale pour les projets de test et de développement dans lesquels la mise à jour rapide des données n’est pas essentielle.
Prenons l’exemple de la migration d’une base de données Oracle sur site vers Amazon RDS for Oracle. Bien qu’elles soient hébergées sur des infrastructures différentes, les deux bases de données partagent des moteurs semblables. Par conséquent, le processus de migration des données est simple, comme nous le décrivons ci-dessous.
Étape 1 – Établir la connectivité réseau
Connectez la base de données sur site au cloud AWS à l’aide d’un réseau sécurisé. Vous pouvez configurer un réseau privé virtuel ou utiliser AWS Direct Connect pour activer la connectivité sur site vers le cloud. Avec AWS Direct Connect, vous pouvez connecter directement des bases de données sans les transmettre via Internet public.
Étape 2 – Arrêter l’écriture de l’application
Pour éviter toute modification inattendue de la base de données cible, empêchez les applications d’écrire dans la base de données source.
Étape 3 – Transférer les données d’un site vers le cloud
Déployez ensuite des outils de transfert de données natifs sur un serveur cloud. Pour réduire les coûts, nous vous recommandons de configurer les outils sur Amazon EC2. De cette façon, vous ne payez que pour les ressources utilisées pour exécuter les outils de base de données natifs. Les outils sont ensuite utilisés pour extraire les données de la base de données source et les restaurer dans la base de données cloud.
Étape 4 – Effectuer la bascule de la base de données
Après avoir transféré l’intégralité de la base de données vers le cloud, validez-la pour garantir la cohérence des données. Redirigez ensuite toutes les requêtes de données de l’application vers la nouvelle base de données.
Migration des charges de travail de production
La migration de la charge de travail de production nécessite une approche différente de celle du transfert de bases de données non critiques. Les charges de travail de production et leurs sources de données ne peuvent pas être mises hors ligne. Les utilisateurs doivent pouvoir accéder aux services comme d’habitude, même lorsque le transfert de données est en cours. Par conséquent, une planification et une coordination poussées sont nécessaires pour rendre la migration possible sans fermeture de l’application.
Les architectes utilisent des scripts développés en interne ou des outils de réplication de données tiers pour migrer les bases de données destinées aux charges de travail de production. Les scripts ou outils répliquent les données de la base de données sur site vers la base de données cloud. Pendant la réplication des données, la base de données sur site reste opérationnelle.
Des défis se présentent lorsque les développeurs de logiciels révisent le script afin de répondre aux exigences nouvelles et actuelles en matière de données. En outre, les outils de base de données tiers qu’ils utilisent peuvent nécessiter une mise à jour pour réussir la migration de la base de données.
Réplication de bases de données en ligne
La réplication d’une base de données implique l’écriture de scripts qui configurent les schémas de bases de données dans de nouveaux moteurs de bases de données, puis le transfert des données de la base de données source vers la base de données cible. Les schémas contiennent des définitions permettant de stocker et d’organiser les données dans une base de données pertinente. Les ingénieurs peuvent utiliser des outils de réplication de données tiers pour créer et gérer plusieurs copies de données sur différents serveurs. Les deux approches sont tout aussi difficiles, car elles nécessitent une intervention manuelle considérable, sont sujettes à des erreurs et peuvent s’avérer inefficaces.
Si vous recherchez un moyen plus efficace et plus sécurisé de répliquer des bases de données en ligne, pensez à AWS Database Migration Service (DMS). Il s’agit d’un service cloud qui automatise la migration des bases de données entre différents moteurs de bases de données. Au lieu de créer manuellement un script pour le transfert de données, vous pouvez demander à DMS d’analyser automatiquement les schémas de la base de données d’origine et de créer des schémas pour la base cible. Cette analyse et cette création permettent aux développeurs de se concentrer sur des applications innovantes plutôt que sur une gestion laborieuse des bases de données.
Ci-dessous, nous vous expliquons comment répliquer votre base de données sur site vers le cloud.
Étape 1 – Faire l’inventaire des données existantes
Analysez les bases de données actuellement hébergées sur site. Pour accélérer le processus, utilisez AWS DMS Fleet Advisor. Cet outil analyse la base de données existante et la flotte de serveurs analytiques, puis identifie les chemins de migration potentiels. Il compile également les performances, les schémas, les modèles d’utilisation et d’autres mesures.
Étape 2 – Déplacer la base de données vers le cloud
Utilisez AWS DMS pour migrer l’intégralité de la base de données du centre de données sur site vers le cloud. En outre, vous pouvez activer le mode de capture des données de modification (CDC) de DMS pour permettre une réplication en temps quasi réel. Avec CDC, DMS capture les modifications de données au fur et à mesure qu’elles se produisent dans la base de données d’origine et applique les modifications à toutes les bases de données répliquées.
Refactorisation de la base de données
Dans certains cas, la stratégie de migration de base de données implique une refactorisation ou un transfert hétérogène. Les entreprises refactorisent les bases de données lorsqu’elles modernisent des applications pour plusieurs raisons, notamment en réduisant les coûts de licence, en accédant aux fonctionnalités du cloud et en améliorant la qualité des données. Lors d’une migration hétérogène, les informations stockées dans la base de données source ne peuvent pas être déplacées telles quelles. Les données doivent être nettoyées, transformées et structurées selon les nouveaux schémas pris en charge par la base de données cible.
Vous trouverez ci-dessous les étapes qui vous aideront à refactoriser une base de données.
Étape 1 – Auditer la base de données
Analysez la base de données sur site et identifiez les schémas utilisés pour stocker les données. Planifiez la manière dont les données actuelles seront stockées dans la nouvelle base de données. Parfois, la refactorisation des bases de données implique la consolidation de plusieurs bases de données en une seule ou la distribution de données d’une seule base de données vers plusieurs bases de données.
Étape 2 – Convertir le schéma de base de données
Convertissez le schéma compilé à partir de la base de données source dans les formats requis pour la base de données cible. Vous pouvez utiliser la conversion des schémas AWS DMS pour rationaliser le processus.
Remarque : les ingénieurs de bases de données peuvent avoir besoin de créer ou de modifier manuellement les nouveaux schémas, en particulier pour les ensembles de données très complexes.
Étape 3 – Lancer la migration de la base de données
Migrez les données d’une base de données sur site vers une base de données cloud avec AWS DMS. Pour vous assurer que la base de données cloud capture toutes les modifications lors de la migration, activez le mode CDC. Après avoir transféré toutes les données, redirigez les services de l’application vers la base de données cloud.
Comment AWS peut-elle répondre à vos besoins en matière de migration de base de données ?
Les entreprises migrent leurs bases de données vers le cloud afin de réduire les coûts d’infrastructure, d’améliorer la fiabilité des services et de tirer parti des autres fonctionnalités du cloud. La migration d’une base de données peut être aussi simple que le transfert d’une base de données entière telle quelle ou la reconstruction de schémas complets pour répondre à de nouvelles exigences en matière de données. Quelles que soient les complexités de la migration, il est essentiel de garantir que les données sont transférées de manière sécurisée, précise et ponctuelle. Explorez AWS Database Migration Service pour découvrir les outils gérés qui permettent la bascule en temps quasi réel, l’analyse des bases de données, le transfert automatique de données, etc.