Gestion des bases de données MDM - 6.3

Talend Data Fabric Guide d'installation pour Windows

EnrichVersion
6.3
EnrichProdName
Talend Data Fabric
task
Installation et mise à niveau
EnrichPlatform
Studio Talend
Talend Activity Monitoring Console
Talend Administration Center
Talend Artifact Repository
Talend CommandLine
Talend Data Preparation
Talend Data Stewardship
Talend DQ Portal
Talend ESB
Talend Identity Management
Talend Installer
Talend JobServer
Talend Log Server
Talend MDM Server
Talend MDM Web UI
Talend Project Audit
Talend Repository Manager
Talend Runtime
Talend SAP RFC Server

Les bases de données disponibles dépendent de la version de Talend MDM utilisée.

Pour plus d'informations concernant les bases de données supportées, consultez Bases de données compatibles.

Notez que, si vous travaillez avec une base de données Oracle, vous devez vous assurer que l'utilisateur Oracle que Talend MDM utilise pour se connecter à la base de données n'a pas le rôle DBA afin d'évier des erreurs inattendues.

Gestion des bases de données SQL

Vous avez la possibilité de stocker le référentiel MDM et vos enregistrements de données maître dans une base de données SQL. Pour des raisons liées aux licences, si vous souhaitez utiliser l'une des bases de données SQL supportées au lieu de la base de données H2 embarquée avec chaque produit, vous devez télécharger et installer manuellement les pilotes de la base de données dans <TomcatPath>\webapps\talendmdm\WEB-INF\lib avant d'utiliser les produits Talend.

Pour plus d'informations concernant les bases de données supportées, consultez Bases de données compatibles.

Se connecter à la base de données H2 embarquée

Le serveur MDM inclut une console Web que vous pouvez utiliser pour accéder directement à la base de données H2 embarquée afin d'effectuer des tâches d'administration. Pour plus d'information sur l'utilisation de la base de données H2 et de la console Web, référez-vous à la documentation de la base données H2 sur http://www.h2database.com.

Pour se connecter à la console Web H2, procédez comme suit :

  1. Dans un navigateur Web, saisissez l'adresse de la console H2 (par exemple, http://localhost:8180/talendmdm/h2console/console).

  2. Dans la fenêtre d'identification qui s'ouvre, saisissez l'identifiant (Username) et le mot de passe (Password) d'un utilisateur MDM ayant des droits d'administrateur (par exemple, administrator/administrator, ou admin/talend), puis cliquez sur Login.

    L'écran de connexion à la console H2 s'ouvre.

  3. Saisissez les informations de connexion liées à la base de données, puis cliquez sur Connect.

    La console H2 s'ouvre avec un accès à la base de données MDM.

Travailler avec Staging Area

L'implémentation de Talend MDM, où les enregistrements de données maître sont stockés dans une base de données SQL, inclut une Staging Area dans laquelle les utilisateurs MDM peuvent charger les données qui sont ensuite validées de façon asynchrone.

Cette zone est un miroir de la zone de stockage SQL contenant les enregistrements des données maître. La seule différence est que la base de données de Staging area n'inclut pas les contraintes dans son schéma (telles que les valeurs NULL ou l'intégrité des clés étrangères). Cependant, cela ne signifie pas que les enregistrements ayant des clés étrangères non valides peuvent être chargés dans la base de données Maître si l'intégrité des clés étrangères est activée.

Pour chaque conteneur de données (un conteneur de données étant une instance de stockage SQL), un second stockage SQL, Staging area, existe pour le conteneur de données en question. Par exemple, si vous avez un conteneur de données appelé Product, un conteneur de données appelé Product#STAGING existe également.

Les utilisateurs MDM peuvent charger des données dans Staging Area de différentes façons :

  • en utilisant des composants SQL : exécutez des instructions INSERT sur la base de données, à l'aide de composants JDBC ou d'intégration de données,

  • en utilisant des composants MDM : utilisez les composants tMDMOuput et tMDMBulkload en spécifiant que le conteneur de données est "data_container_name#STAGING" (par exemple, "Product#STAGING" à la place de "Product")

    Notez que le tMDMOutput n'autorise pas l'insertion ou la mise à jour de données non valides.

Talend MDM fournit à la fois une interface utilisateur et un accès REST pour déclencher le transfert de la zone Staging Area à la base de données maître. Ce transfert est appelé l'étape de validation de la zone de préparation car durant cette étape, les enregistrements de Staging Area sont validés selon les règles de validation MDM (telles qu'XSD, les règles Security et Validation).

Pour plus d'informations sur le déclenchement de ce transfert depuis l'interface Web de Talend MDM, consultez le Guide utilisateur de Talend MDM Web User Interface.

Principales différences entre Staging Area et base de données maître

Il y a relativement peu de différences entre le schéma de la base de données maître et celui de Staging Area.

Différence

Description

Pas de relations de Clé étrangère

Dans Staging Area, toutes les relations de clé étrangère sont désactivées. Ceci permet aux utilisateurs de charger les données sans prendre en compte les relations entre entités.

Colonne supplémentaire pour la source

Dans Staging Area, le schéma de la base de données contient une colonne de texte supplémentaire où les utilisateurs MDM peuvent fournir des détails sur l'origine de l'enregistrement. Cette colonne est libre et non obligatoire.

Par exemple, en chargeant des données dans Staging Area, un utilisateur peut indiquer que les enregistrements ayant l'ID 1 viennent de SAP et les enregistrements ayant l'ID 2 viennent d'un autre système existant.

Colonne supplémentaire pour le statut

Dans Staging Area, cette colonne est utilisée pour stocker des actions effectuées par MDM sur l'enregistrement staging. Cette colonne contient un code :

  • "000" ou NULL signifie "nouvel enregistrement".

  • les valeurs "2nn" (200, 201...) signifient que l'enregistrement a passé avec succès une étape de validation des enregistrements.

  • les valeurs "4nn" (400, 401...) signifient que l'enregistrement n'a pas passé l'étape de validation des enregistrements.

Configuration du serveur MDM

Le fichier mdm.conf qui est situé dans le répertoire <$INSTALLDIR>\conf contient toutes les informations de configuration du serveur MDM. Vous pouvez modifier certaines informations de ce fichier afin de changer le comportement du serveur dans certaines situations.

Modifier le fichier mdm.conf

Vous pouvez modifier le fichier mdm.conf afin de personnaliser la configuration du serveur MDM selon vos besoins.

Les paramètres et leur valeur par défaut disponibles dans le fichier sont listés dans le tableau ci-dessous :

Paramètres

Paramètres et valeurs par défaut

Utilisation

Paramètres système

admin.user=admin

admin.password=talend

Spécifie les informations d'authentification pour l'utilisateur administrateur par défaut du serveur MDM.

Ce mot de passe est crypté au démarrage du serveur MDM. Pour plus d'informations concernant la modification du mot de passe par défaut, consultez Gestion des mots de passe dans les fichiers de configuration.

system.data.auto.init=true

Indique si le serveur MDM initialise automatiquement les données système durant le démarrage avec des données par défaut.

system.data.auto.upgrade=true

Indique si le serveur MDM met à niveau automatiquement les données système.

system.data.force.upgrade=false

Indique si les tâches de migration des données système seront exécutées, quel que soit la version de la base de données système existante.

system.locale.default=en

Spécifie les paramètres régionaux système par défaut.

max.export.browserecord=1000

Indique le nombre maximal d'enregistrements à exporter dans Talend MDM Web User Interface.

max_cache_size=5000

Indique la taille maximale du cache pour les enregistrements MDM.

cluster_override=false

Indique s'il faut écraser le contenu existant dans la base de données pour le conteneur système lors du démarrage du serveur MDM.

Paramètres SGBDR

db.autoPrepare=true

Indique si le serveur MDM doit essayer ou non de créer une base de données par lui-même.

db.datasources=${mdm.root}/conf/datasources.xml

Pointe vers un fichier fournissant les informations de connexion à la base de données.

db.default.datasource=H2-Default

Indique au serveur MDM quelle source de données spécifiée par défaut dans db.datasources doit être utilisée.

Moteur de souscription

subscription.engine.autostart=true

Indique si JMS (Java Message Service) dans le système sera démarré automatiquement.

system.cluster.storage.index.replication=true

Indique si la réplication d'index doit être appliquée ou non par stockage.

mdm.routing.engine.broker.url = vm://localhost

Spécifie l'URL de connexion pour le service JMS.

routing.engine.max.execution.time.millis=300000

Indique le nombre maximal de millisecondes que prend un événement de routage pour être traité. La valeur "0" indique que l'événement de routage n'expire jamais.

Par exemple, la valeur "300000" équivaut à 5 minutes.

mdm.routing.engine.consumers=5-10

Indique le nombre d'événements de routage pouvant être traités simultanément.

Sa valeur supporte une plage de nombres. Par exemple, "5-10" signifie qu'au moins 5 événements sont traités, avec un maximum de 10 si tous les événements précédents sont en cours de traitement.

mdm.routing.engine.broker.sessionCacheSize=1

Indique le nombre de sessions JMS en cache par type d'accusé de réception de session (auto, client, dups_ok, transacted). Si nécessaire, vous pouvez augmenter ce nombre dans un environnement à haute simultanéité.

Synchronisation des utilisateurs de Bonita

scheduler.enabled=true

Indique s'il faut activer ou non le processus périodique de synchronisation des utilisateurs de Bonita entre le serveur MDM et le serveur Bonita.

scheduler.retryCount=10

Spécifie le nombre de nouvelles tentatives lorsque le processus de synchronisation échoue.

scheduler.retryInterval.seconds=60

Spécifie l'intervalle de temps en secondes entre chaque nouvelle tentative.

scheduler.period.seconds=3600

Spécifie l'intervalle de temps séparant les périodes de synchronisation.

scheduler.initialDelay.seconds=10

Spécifie le temps supplémentaire autorisé pour la synchronisation initiale après démarrage du système.

scheduler.shutdownTimeout.seconds=30

Indique le délai à la fin duquel le système arrête convenablement le processus de synchronisation lorsque celui-ci est terminé.

realtime.synchronize.enabled=true

Indique s'il faut activer ou non la synchronisation en temps réel.

Identifiant et mot de passe des utilisateurs techniques de Bonita

technical.user=install

technical.password=install

Spécifie les informations d'authentification pour les utilisateurs techniques de Bonita.

Ce mot de passe est crypté au démarrage du serveur MDM. Pour plus d'informations concernant la modification du mot de passe par défaut, consultez Gestion des mots de passe dans les fichiers de configuration.

Note

Les utilisateurs techniques de Bonita sont utilisés par MDM pour se connecter au serveur Bonita BPM et effectuer des opérations comme le déploiement de workflows et la synchronisation des utilisateurs des workflows. Pour plus d'informations concernant la configuration de la connexion entre le serveur MDM et le serveur Bonita BPM, consultez Installer manuellement le serveur BPM de Bonita.

Améliorer les performances lors du chargement des données depuis la Staging Area

Le fichier mdm.conf, situé dans le répertoire <$INSTALLDIR>\conf, inclut plusieurs propriétés qui peuvent être modifiées pour améliorer les performances.

Propriété

Type

Description

staging.validation.updatereport

boolean

Lorsque vous exécutez le processus de validation qui charge les données depuis la Staging Area vers Talend MDM, par défaut ce processus génère des rapports de mises à jour qui enregistrent les insertions dans le Journal et initient les déclencheurs.

Pour que le serveur MDM ne génère pas de rapport de mises à jour lors du chargement des données depuis la Staging Area, passez cette propriété à false.

staging.validation.pool

int

Par défaut, le serveur MDM affecte deux threads au processus de validation qui charge les données depuis la Staging Area vers Talend MDM.

Si la machine sur laquelle tourne le serveur MDM a suffisamment de CPU disponible, modifiez la valeur de cette propriété pour augmenter le nombre de threads qui peuvent être utilisés.

staging.validation.commit

int

Par défaut, lors du chargement des données depuis la Staging Area vers Talend MDM, Talend MDM commite les enregistrements sur la base de données maître tous les 1000 objets validés.

Pour améliorer les performances, augmentez cette valeur pour réduire le nombre de commits effectués sur la base de données.

staging.validation.buffer.threshold

int

Une mémoire tampon est utilisée pour transférer les enregistrements depuis la Staging Area vers la base de données maître. Par défaut, ce tampon contient un maximum de 1000 enregistrements ; une fois ce seuil atteint, l'action de lecture dans la Staging Area est mise en pause et une vérification est effectuée toutes les secondes pour voir si le nombre d'enregistrements dans le tampon a diminué.

La lecture depuis Staging Area étant toujours plus rapide que l'écriture vers la base de données maître, réduisez la valeur correspondant à la taille de la mémoire tampon si vous rencontrez des problèmes liés à la mémoire.

Gestion des mots de passe dans les fichiers de configuration

Pour des questions de sécurité, les mots de passe sont cryptés dans les fichiers de configuration datasources.xml, tdsc-database.properties et mdm.conf, dans le répertoire <MDM_ROOT>/conf/, pour que les chaînes de caractères des mots de passe ne s'affichent pas en texte clair.

Ici, MDM_ROOT fait référence à l'emplacement où est situé le fichier HOME MDM après installation des modules MDM. Pour plus d'informations concernant l'installation des modules MDM, consultez Installation manuelle du serveur MDM et de Talend Data Stewardship Console.

  • datasources.xml : ce fichier contient les mots de passe pour le Talend MDM, pour accéder à différents types de bases de données. Pour un exemple d'utilisation du fichier datasources.xml, consultez Gérer l'utilisation des bases de données SQL par le serveur MDM.

  • mdm.conf : ce fichier contient toutes les informations de configuration du serveur MDM, y compris deux mots de passe : admin.password et technical.password. Pour plus d'informations, consultez Configuration du serveur MDM.

  • tdsc-database.properties : ce fichier contient les mots de passe pour accéder à la base de données utilisée par Talend Data Stewardship Console. Pour plus d'informations, consultez Guide utilisateur de Talend Data Stewardship Console.

Si nécessaire, vous pouvez utiliser un mot de passe en texte clair pour modifier le mot de passe crypté par défaut.

Par ailleurs, vous pouvez d'abord crypter un mot de passe à l'aide du CommandLine, puis l'utiliser directement dans les fichiers de configuration. Pour plus d'informations, consultez Crypter les mots de passe à l'aide du CommandLine.

L'exemple suivant vous montre comment utiliser un mot de passe en texte clair pour modifier le mot de passe par défaut de l'administrateur par défaut du serveur MDM dans le fichier mdm.conf.

  1. Ouvrez le fichier <MDM_ROOT>/conf/mdm.conf.

  2. Trouvez le mot de passe administrateur crypté par défaut.

    admin.password=aYfBEdcXYP3t9pofaispXA==,Encrypt
  3. Supprimez le mot de passe existant, y compris ",Encrypt" et saisissez un nouveau mot de passe en texte clair pour l'administrateur par défaut.

  4. Sauvegardez vos modifications et fermez le fichier.

    Au prochain démarrage du serveur MDM, le nouveau mot de passe sera crypté et le fichier mis à jour avec ce nouveau mot de passe crypté.

Indexation des bases de données

Cette section décrit les changements que vous pouvez effectuer sur la façon dont vos bases de données sont indexées.

Regénérer un index plein texte

Lorsque vous stockez vos enregistrements de données dans une base de données SQL, vous devez parfois regénérer les index plein texte, par exemple pour régler les problèmes liés à la désynchronisation des index.

Pour regénérer un index plein texte lorsque vous utilisez une base de données SQL, procédez comme suit :

  • Saisissez l'adresse suivante dans votre navigateur :

    http://server:port/talendmdm/services/run?action=reindex&container=<name>

    server:port correspond au serveur et au port sur lesquels Talend MDM est installé (ex : localhost:8180), name fait référence au nom du conteneur de données pour lequel vous souhaitez regénérer l'index (ex : Product).

Gérer l'utilisation des bases de données SQL par le serveur MDM

Le fichier datasources.xml situé dans le répertoire <$INSTALLDIR>\conf contient des informations concernant l'utilisation des bases de données SQL par Talend MDM, notamment leur emplacement. La version initiale de ce fichier est créée lors de l'installation, mais les administrateurs peuvent modifier ce fichier au besoin.

Gérer les modes de recherche dans la base de données

Dans MDM de Talend, les enregistrements de données maître peuvent être stockés dans une base de données SQL. Un second stockage SQL existe également et sert de Staging Area pour la base de données maître. Pour plus d'informations, consultez Travailler avec Staging Area.

Les recherches dans la base de données maître supportent les recherches plein texte et les recherches SQL standard, alors que les recherches dans la base de données de préparation supportent uniquement les recherches SQL standard.

Les recherches SQL standard considèrent le contenu comme une phrase complète à mettre en correspondance. Les recherches plein texte interprètent le contenu de recherche comme une phrase contenant plusieurs mots et les enregistrements correspondant à l'un des mots seront retournés. Par exemple, si le contenu de la recherche est "test first name", la recherche plein texte considère cette recherche comme trois mots indépendants "test", "first" et "name", alors que la recherche SQL standard la considère comme une phrase "test first name".

Par défaut, le mode de recherche plein texte est utilisé pour les recherches dans la base de données maître.

Si nécessaire, vous pouvez modifier les paramètres par défaut dans le fichier <$INSTALLDIR>\conf\datasources.xml pour optimiser les recherches dans la base de données maître.

L'exemple suivant présente comment utiliser la recherche SQL standard pour les recherches dans la base de données maître :

  1. Ouvrez le fichier <$INSTALLDIR>\conf\datasources.xml.

  2. Ajoutez l'option contains-optimization avec la valeur like à la suite de l'option fulltext-index-directory. Par exemple :

    <fulltext-index-directory>E:\Talend-MDMServer\data
    \indexes\H2-Default</fulltext-index-directory>
    <contains-optimization>like</contains-optimization>
  3. Sauvegardez vos modifications.

La valeur de l'option contains-optimization peut être :

Valeur

Description

like

C'est la valeur par défaut lorsqu'aucun index plein texte n'est configuré. Dans ce cas, le mode de recherche SQL standard est utilisé pour les recherches dans la base de données maître.

disabled

Une fois cette valeur configurée, une exception sera retournée si MDM rencontre une condition CONTAINS.

fulltext

C'est la valeur par défaut lorsque des index plein texte sont disponibles. Dans ce cas, le mode de recherche plein texte est utilisé pour les recherches dans la base de données maître.

Si l'option contains-optimization est configurée à fulltext, le serveur MDM va effectuer des recherches insensibles à la casse, quelle que soit la valeur de case-sensitive-search. Pour plus d'informations, consultez Gérer la sensibilité à la casse dans les recherches de bases de données.

Gérer la sensibilité à la casse dans les recherches de bases de données

Selon la configuration de votre base de données SQL, les recherches dans la base de données peuvent être sensibles à la casse.

Pour rendre les recherches insensibles à la casse, configurez la valeur de l'option <case-sensitive-search> dans le fichier <$INSTALLDIR>\conf\datasources.xml à false.

Par exemple :

<datasources xmlns="http://www.talend.com/mdm/datasources">
    <datasource name="MySQL-DS1">
        <master>
            <type>RDBMS</type>
            <rdbms-configuration>
                ...
                <case-sensitive-search>false</case-sensitive-search>
                ...
            </rdbms-configuration>
        </master>
    </datasource>
</datasources>

Si cette option n'est pas disponible, toutes les recherches effectuées sur la base de données sont sensibles à la casse.