Eranea : solution transparente de migration de bases de données1. Solution de
transformation / migration de bases de
données
1. Introduction
Les bases de données constituent la mémoire de
l'entreprise à long terme. Leur contenu doit donc
survivre aux évolutions technologiques et
commerciales du marché informatique qui
bouillonne actuellement de nouvelles solutions
(NoSql, Hadoop, bases clefs-valeurs, bases de
données en mémoire, cloud computing, etc.) après
une période de relative stabilité autour du modèle
relationnel cristallisé autour de standards comme
IBM Db2, Oracle Database, Microsoft Sql Server.
Le DSI doit donc « transporter cette mémoire » de
l'entreprise d'une génération technologique à
l'autre en maximisant la fluidité et l'invisibilité du
transfert des données critiques vers une nouvelle
plate-forme d'hébergement des données. La
suppression des risques associés est clef pour le
maintien de la qualité de service aux applications
critiques de l'entreprise.
Cette tâche est rendue plus complexe par le fait
que chaque constructeur ne respecte qu'en partie
les standards d'accès (Sql) et par le fait que ces
standards sont incomplets sur certains pans de
leurs spécifications
En réponse à ce besoin, Eranea propose une
solution :
• Holistique : elle couvre à la fois la
transformation des structures (tables,
indexes) et la transformation en temps réel
des requêtes d'accès.
• Incrémentale : la migration des données
peut le plus souvent s'effectuer par
fragments de la base de données : des
mécanismes d'intégrité transactionnelle
comme le protocole X/Open XA
permettent de garantir la cohérence des
données même réparties entre l'ancienne et
la nouvelle base de données durant la
transformation.
• Transparente : l'adaptation des requêtes
d'accès pour le respect de la syntaxe du
nouveau gestionnaire de données est
initialement transparente au code
applicatif. Une moteur d'interception /
transformation en temps réel des requêtes
et des réponses permet une bascule initiale
sans aucun modification du code
applicatif.
• Efficace : c'est dans le moteur de
transformation temps réel que sont
réalisées toutes les adaptations de requêtes
vers la nouvelle base. Il n'y a donc
initialement aucun impact sur les
développeurs qui peuvent rester focalisés
sur leurs travaux habituels d'amélioration
fonctionnelle
• Sans risque : la transparence de la bascule
vers la nouvelle base de données et la
progressivité de cette bascule permettent
d'éliminer tous les risques de projet.
2. Objectifs
Le DSI poursuit différents objectifs quand il
décide de migrer ses bases de données :
• Optimisation (financière) : les bases de
www.eranea.com © Eranea 2015 Page 1 de 4
2. données Open Source de type PostgreSQL
ont largement progressé au fil des
dernières années. Le dernier « quadrant
magique » du Gartner Group les place à
égalité fonctionnelle avec les produits
commerciaux. Leur avantage au niveau
des coûts de licence est ensuite indéniable.
source : Gartner Group 2015
• Rationalisation : au fil des nouvelles
applications, la diversité, voire
l'incohérence, des technologies de bases
de données a émergé dans l'entreprise. Le
DSI doit nécessairement rassembler toutes
les données sur une plate-forme unifiée
afin d'en garder le contrôle et d'en
maîtriser les coûts dans une période où
leur volume explose.
• Flexibilité / Agilité : l'évolution
technologique des bases de données est
actuellement en ébullition. La gestion et
l'utilisation optimale des données
d'entreprise à travers les nouvelles
technologies (Big Data, etc.) est
essentielle pour en extraire la quintessence
compétitive. Leur transformation doit
donc être menée par des moyens simples
et efficaces.
3. Références
La technologie Eranea a déjà permis la réalisation
de multiples migrations de bases de données, en
particulier au travers des projets de transformation
d'applications métier critiques vers Java/web, son
métier de base.
Pour citer les plus récents :
• Transformation de DB2 vers PostgreSQL
de la base de données du système de core
banking d'une grande banque privée
internationale : 14'000 tables relationnelles
et 5 téraoctets de données
• Transformation de DB2 vers Sql Server
d'une compagnie d'assurance : 1'500 tables
relationnelles et 500 gigaoctets de
données.
La technologie Eranea est donc solidement
éprouvée et vous permettra de transporter vos
données d'entreprise vers une nouvelle plate-
forme dans le cadre d'un projet efficace et sans
risque.
4. Méthodologie
Eranea applique à la transformation de données
les mêmes pratiques qu'elle utilise dans la
transformation globale de grands systèmes vers le
cloud computing :
• automatisation : les différentes étapes de
transformation d'une bases de données
sont par essence répétées à plusieurs
reprises au cours de le vie du projet.
Eranea dispose donc d'outils entièrement
automatiques d'analyse et transformation
du ddl (création des structures), de
déchargement, rechargement des données
et du dml (accès aux données). Ces étapes
peuvent ainsi être répétées autant que
nécessaire sans explosion des coûts
humains durant la vie du projet alors que
la base de données continue à évoluer
dans son contenu et ses structures pendant
que le projet de transformation se
poursuit.
• Incrémentalité :
www.eranea.com © Eranea 2015 Page 2 de 4
3. ◦ les techniques mises en œuvre par la
technologie Eranea permettent une
bascule de la base de données vers la
nouvelle cible « par morceaux » en
divisant les données en sous
-ensembles indépendant migrés de
manière indépendante.
◦ la bascule vers la nouvelle cible est
transparente pour l'application jusqu'à
la fin du projet : le moteur de
transformation intercepte les requêtes
envoyées vers la base de données en
temps réel, les analyse et les modifie
pour les rendre compatibles avec le
nouveau moteur mais en préservant
leur iso-fonctionnalité par rapport à
l'ancien moteur. Ainsi les développeurs
ne subissent aucun impact durant la
migration. C'est seulement quand la
bascule est terminée que la
transformation des requêtes d'accès
peut être mise en place dans le code
source de référence de l'application.
• Productivité : l'intégralité de la
transformation se produit de manière
transparente et sans gel de maintenance
pour les utilisateurs finaux et les
développeurs informatiques. La
productivité de chacun est donc conservée.
• Sécurité : l'incrémentalité et la
transparence de la méthode, couplée à une
mécanique de tests objectifs et quantifiés
permet d'assurer une migration dénuée de
tout risque.
• Transparence : de multiples rapports issus
des outils d'analyse et de transformation
permettent au client de mesurer très tôt
l'ampleur des modifications apportées par
la technologie Eranea sur ses données et
sur les méthodes d'accès applicative.
5. Technologie
La solution Eranea se compose principalement
des outils suivants :
• Un outil d'analyse et de transformation
des contenants (tables, indexes, intégrité
référentielle, triggers, autorisations, etc.) :
il assure que ces contenants sont redéfinis
de manière compatible avec la plate-
forme cible avec une structure la plus
proche possible de l'origine.
• Un outil de déchargement / rechargement
des données : totalement parallèle (multi-
threads), il permet de traiter de très
grands volumes de données avec des
performances de très haut niveau. Lors du
rechargement, il adapte les données
déchargées de la source à un format
compatible avec la cible (encodage,
structure, etc.)
• Un moteur de transformation des
requêtes : basé sur différentes techniques
d'interception selon le contexte, il capture
le texte de la requête qu'il analyse à la
manière d'un compilateur sql pour ensuite
regénérer une nouvelle requête
compatible avec le nouvelle cibles. Au
retour des données, il en adapte les
formats si nécessaire pour préserver la
transparence applicative. Ce moteur peut
fonctionner en mode passif où il ne fait
que capturer les requêtes et données
retournées qui le traversent afin de les
analyser ainsi que de capturer divers
paramètres de performances (débit, temps
de réponse, etc.)
Ces pierres angulaires de la solution sont, de plus,
dotées de fonctions de reporting très détaillées qui
apportent toute la transparence nécessaire sur les
transformations réalisées à tous les niveaux pour
assurer la migration vers la nouvelle cible.
Enfin, l'ensemble des travaux réalisés par ces
www.eranea.com © Eranea 2015 Page 3 de 4
4. divers composants est fait en mode totalement
automatique pour en assurer la répétabilité
efficace.
6. Organisation du projet
Un projet se décompose en standard ainsi :
1. Analyse et réalisation de la transformation
des contenants vers la nouvelle cible
(environnement de test).
2. Analyse et réalisation du déchargement /
rechargement des données (environnement
de test).
3. En parallèle des étapes ci-dessus, mise en
place du moteur d'interception en mode
passif sur les systèmes de production pour
analyser l'activité et permettre au moteur
d'évaluer les transformations qu'il devra
réaliser.
4. Mise en action sur les jeux de test (batch
et interactif) fournis par le client.
Quantification de la pertinence des tests
réalisés par la mise en œuvre d'outils de
code coverage. Validation très stricte de
l'iso-fonctionnalité par comparaison des
résultats obtenus dans l'application lors de
l'exécution sur la base source et sur la base
cible et par comparaison des changements
effectués sur les données dans les deux
bases
5. Passage en production par bascule
progressive des sous-ensembles de
données indépendants d'un point de vue de
l'intégrité transactionnelle (propriétés
ACID). Pendant cette période, le
changement de cible est totalement
masqué à l'application
6. Adaptation ultérieure du code applicatif de
référence au langage d'accès natif de la
nouvelle cible. Cette adaptation est
totalement progressive : le moteur
d'interception peut être laissé en fonction
tant que la dernière requête n'est pas
modifiée. Donc, les développeurs peuvent
réaliser de travail de maintenance de
manière progressive, sans contrainte
temporelle imposée par la transformation,
au fil de leurs besoins d'évolution
fonctionnelle de l'application.
Lors de tels projets, Eranea accompagne ses
clients qui le souhaitent sur l'acquisition des
compétences et la mise en place de l'architecture
technique et des procédures opérationnelles
idoines par rapport à la nouvelle cible.
7. Prochaines étapes
Vous avez une base de données critique au
fonctionnement de votre entreprise à transformer
sans risque vers une nouvelle cible afin de
rationaliser, d'optimiser, de transformer votre
système informatique ?
Nous sommes à votre disposition pour toute
question ou information complémentaire.
Contactez-nous par mail : contact@eranea.com
www.eranea.com © Eranea 2015 Page 4 de 4