Migrer les données métier
L'assistant de migration de contenu peut être utilisé pour effectuer une migration ciblée des entités principales sélectionnées et des données transactionnelles connexes d'un environnement à un autre. Par exemple, la migration d'un sous-ensemble de comptes et de ses données connexes à des fins de test.
Les points suivants mettent en évidence les principales différences entre les données métier et les données de configuration, qui doivent faire l'objet d'une attention particulière lors de la conception des migrations de données métier :
-
Lors de la migration des données métier, le nombre d'enregistrements dans un jeu de données est en général beaucoup plus élevé que dans un jeu de données de configuration uniquement. Bien qu'il n'existe pas de limite explicite à la taille d'un jeu de données, il est nécessaire de prévoir une limite raisonnable.
-
Le fait que de grands ensembles d'entités dépendent de relativement peu d'entités dans le même jeu de données ralentit considérablement le processus d'importation. Cette situation se produit lors de la combinaison des données de configuration, des données principales et des données de transaction de volume élevé dans une migration unique. Nous recommandons donc de concevoir des migrations distinctes pour ces classes de données. Pour plus d'informations, reportez-vous à la section Réduire la dépendance entre les objets de migration ci-dessous.
-
Toutes les entités métier disposent d'une clé générée par le système. Pour plus d'informations, voir la section Données avec clés primaires générées par le système.
Les sections suivantes abordent des sujets et des concepts liés à la migration des données métier.
Réduire la dépendance entre les objets de migration
L'assistant de migration de contenu (CMA) tire parti de l'intégrité référentielle de l'application et des règles métier pour s'assurer que les entités restent conformes et valides lorsqu'elles sont importées dans un autre environnement. Ces règles permettent d'empêcher l'importation d'une entité lorsque l'une des entités qu'elle référence n'existe pas dans l'environnement cible. Lorsque l'entité de référencement et l'entité référencée font toutes deux partie du même jeu de données, elles établissent une dépendance qui détermine la séquence dans laquelle ces entités doivent être traitées afin d'être importées avec succès. Notez que l'outil prend en charge même les situations plus complexes et rares dans lesquelles la dépendance entre les entités est cyclique, c'est-à-dire que l'entité A (directement ou indirectement) fait référence à l'entité B tandis que l'entité B (directement ou indirectement) renvoie à l'entité A, pour laquelle le traitement séquentiel ne suffit pas à garantir une importation réussie.
L'outil utilise des relations de clé étrangère entre les entités d'un même jeu de données pour identifier les ensembles d'entités dépendantes et les regrouper dans des enregistrements de transaction de migration distincts. Notez que ces clés étrangères sont définies dans le référentiel de modèle de données de l'application et non au niveau de la base de données pour plus de flexibilité. Plus la transaction de migration est volumineuse, plus le processus pour importer tous ses objets s'avère complexe. Ainsi, bien que l'outil soit conçu pour prendre en charge tous les types de dépendance (séquentielle et cyclique), le traitement de très grands ensembles d'objets dépendants peut entraîner un coût d'exécution important.
Si les entités de configuration ont tendance à être fortement interdépendantes, le nombre total d'entités qui composent l'ensemble des objets de configuration est relativement faible. Par conséquent, l'incidence sur les performances que ces dépendances ont lors de l'importation d'un jeu de données de configuration uniquement est négligeable. D'autre part, les entités de configuration ont tendance à être référencées sur de nombreuses entités principales et de transaction, car elles contrôlent de nombreux aspects des règles métier de ces dernières. Ainsi, la combinaison de données de configuration et de données métier dans le même jeu de données est susceptible de former des ensembles extrêmement importants d'entités métier qui dépendent d'un petit nombre d'entités de configuration. Il est donc fortement recommandé d'importer ou de configurer les données de configuration dans l'environnement cible avant d'y importer des données métier.
De la même manière, certaines données transactionnelles ont tendance à être d'un volume beaucoup plus important que les entités de données principales qu'elles référencent. Ici aussi, il est vivement recommandé de migrer les entités de données principales avant leurs données transactionnelles connexes de volume élevé. Par exemple, de nombreux enregistrements de mesure d'intervalle (données de transaction) font référence au même composant de mesure (données principales). La migration d'un grand volume de données de mesure avec leur composant de mesure entraîne une transaction de migration très importante dont l'importation peut prendre beaucoup de temps. L'importation des composants de mesure avant la migration de leurs mesures d'intervalle éliminera les dépendances inutiles dans le jeu de données des mesures uniquement et améliorera considérablement les performances du processus global.
Volume de données raisonnable
Le volume global de toutes les entités métier à migrer dans un jeu de données unique doit être de taille raisonnable. Par exemple, l'importation de plusieurs centaines de comptes et de leurs données principales et transactionnelles connexes est considérée avoir une taille raisonnable. Si la quantité de données migrées est trop importante, les limites de l'outil en termes physiques et en termes de performances peuvent être atteintes.
Vous pouvez utiliser n'importe quelle méthode de requête de migration prise en charge pour décrire les entités à exporter. Si vous choisissez une requête de migration Liste d'entités, envisagez d'utiliser la zone Entité de collecte pour créer la liste des entités au fur et à mesure que vous les parcourez sur leurs portails respectifs.
Source unique de données
L'assistant de migration de contenu utilise la clé primaire d'une entité pour déterminer si elle est nouvelle dans l'environnement cible et doit donc être ajoutée ou si elle référence un enregistrement existant et doit donc être remplacée par la nouvelle version. Toutes les entités métier disposent de clés générées par le système, qui sont propres à l'environnement. Il est donc possible d'avoir des entités différentes dans des environnements distincts ayant la même clé primaire. Lors de la migration d'entités dont les clés sont générées par le système, il est fortement recommandé de migrer les données vers un environnement cible à partir d'un seul environnement source et d'éviter de créer de telles entités dans l'environnement cible à l'aide de l'application. Cette pratique garantit que les clés primaires d'une entité importée sont toujours synchronisées avec leur environnement source. Pour obtenir plus d'informations et connaître les points à prendre en compte, voir la section Données avec clés primaires générées par le système.
Pas de suppression
L'assistant de migration de contenu ne gère pas la suppression d'entités de quelque nature que ce soit, qu'il s'agisse d'entités de configuration ou métier. Si un test doit être répété à l'aide d'un instantané initial des données, vous devez restaurer l'environnement cible sur une sauvegarde effectuée avant l'importation des données de test et importer la dernière version des données de test. S'il n'est pas nécessaire de supprimer les entités précédemment importées, vous pouvez continuer à recharger les données de test à partir d'un environnement source unique, selon les besoins.
Mode d'importation en masse
Par défaut, le processus d'importation crée un objet de migration pour chaque entité importée. Cela permet de générer des rapports détaillés et de gérer les erreurs au niveau de l'entité. Lors de l'importation d'un jeu de données à volume élevé d'entités métier, cette gestion granulaire a un impact sur les performances. Dans ce cas, vous pouvez utiliser l'option Importation en masse sur la requête d'importation du jeu de données de migration. Dans ce mode, un seul enregistrement d'objet de migration est créé pour plusieurs entités du même objet de maintenance. De la même manière, un seul enregistrement de transaction de migration est créé pour plusieurs groupes de transactions logiques. Utilisez cette option pour réduire les efforts de gestion des objets de migration tout au long du processus et ainsi améliorer les performances.
Notez que chaque entité est toujours comparée et validée individuellement comme avec un traitement d'importation standard, mais si une entité n'est pas valide, l'objet de migration entier n'est pas appliqué, ce qui a un impact sur toutes les entités regroupées avec lui. Le mode d'importation en masse est utile lors de l'importation d'un grand ensemble de données à partir d'une source de données validée assurant que pratiquement 'aucune erreur n'est attendue.
Cette option est uniquement prise en charge pour les objets de maintenance principaux et de transaction, c'est-à-dire qu'elle ne s'applique pas aux migrations de configuration.
Mode Insérer uniquement
Par défaut, l'étape de comparaison du processus d'importation doit déterminer si l'entité importée est nouvelle et doit donc être ajoutée, si elle représente une modification d'une entité existante et doit être mise à jour ou si l'entité n'est pas modifiée. Lors de l'importation d'un jeu de données à volume élevé d'entités métier qui sont toutes nouvelles dans l'environnement actuel, cette vérification prend beaucoup de temps et peut être évitée. Dans ce cas, vous pouvez utiliser l'option Insérer uniquement dans la requête d'importation de jeu de données de migration pour indiquer que toutes les entités importées sont censées être de nouveaux ajouts à l'environnement actuel. Ce faisant, le processus d'importation évite les étapes inutiles consistant à déterminer si l'entité doit être ajoutée ou mise à jour et contribue ainsi à une importation plus rapide.
Cette option est uniquement prise en charge pour les objets de maintenance principaux et de transaction, c'est-à-dire qu'elle ne s'applique pas aux migrations de configuration.
Processus en mode batch distincts pour la gestion des objets métier de migration
Par défaut, les mêmes processus en mode batch d'importation gèrent les migrations de configuration et de données métier. En règle générale, les migrations de données métier concernent un volume élevé d'enregistrements par rapport aux jeux de données de configuration, beaucoup plus légers. Leur traitement conjoint par le même processus en mode batch peut ralentir les performances des migrations de configuration, et donc les empêcher de s'exécuter plus rapidement et plus fréquemment. Le problème concerne principalement les environnements de type test où les migrations de classes de données mixtes sont plus courantes : les données de configuration sont importées à partir d'un environnement inférieur et les plus volumineuses données de test à partir d'un environnement supérieur. Vous pouvez ajuster la configuration de l'installation standard dans ces environnements pour tirer parti d'une séparation des processus d'importation pour les données de configuration et les données métier.
Notez que la possibilité de séparer les processus d'importation ne s'applique qu'aux objets de migration en raison de leur volume. Le jeu de données de migration et les enregistrements de transaction présentent un volume réduit et sont donc gérés par les mêmes processus en mode batch.
Des processus en mode batch désignés sont fournis pour l'importation d'objets de migration contenant des données métier, mais ils ne sont pas utilisés par défaut :
-
F1-MGOPB - Moniteur d'objet de migration (données métier)
-
F1-MGOAB - Moniteur d'objet de migration (données métier) - Appliquer
Pour utiliser ces processus en mode batch distincts pour les données métier, procédez comme suit :
-
Mettez à jour l'objet métier Objet de migration pour les données métier (F1-MigrObjectBus) pour référencer les contrôles de batch relatifs aux données métier dans les états suivants :
-
En attente, Erreur d'application, Vérification requise - Moniteur d'objet de migration (données métier) - F1-MGOPB
-
Approuvé - Moniteur d'objet de migration (données métier) - Appliquer - F1-MGOAB
-
-
Si votre organisation utilise des soumissions de traitement par événement pour les traitements par lots de l'assistant de configuration de contenu, voir Exécution de traitements par lots pour plus d'informations sur les étapes de configuration.
