Configuration d'Unica Campaign en vue de l'utilisation des utilitaires de chargement de base de données

Vous pouvez améliorer les performances en utilisant un utilitaire de chargement de base de données pour toutes les sources de données.

Pourquoi et quand exécuter cette tâche

Remarque : Ces instructions supposent que vous utilisez une base de données DB2® sur un système d'exploitation pris en charge différent de z/OS®. Si vous utilisez une autre base de données, adaptez les instructions en conséquence. Si vous utilisez une version DB2® sur z/OS®, voir Utilisation des utilitaires de chargement de base de données avec DB2 sur z/OS.

Unica Campaign prend en charge les utilitaires de chargement disponibles auprès des fournisseurs de base de données. Vous devez obtenir des copies sous licence de ces utilitaires.

Les utilitaires de chargement peuvent améliorer les performances de l'envoi des listes d'ID dans des tables temporaires et celles de l'exportation des données d'Unica Campaign dans la base de données. Les données sont, par exemple, exportées lors des processus d'instantané, de liste d'adresses ou de liste d'appels.

Les utilitaires de chargement peuvent améliorer les performances de manière significative. Les tests sur DB2® indiquent que sans utilitaire de chargement, l'insertion d'un million de lignes demande une puissance de traitement cinq fois supérieure, et augmente de façon significative les opérations d'entrée-sortie sur les disques. Les résultats varient en fonction du matériel utilisé.

Important : Les paramétrages qui suivent peuvent avoir un impact sur les ressources système sur les performances.

Procédure

Pour configurer Unica Campaign en vue de l'utilisation d'un utilitaire de chargement de base de données, vous devez réaliser trois opérations principales pour chaque source de données : créer deux modèles de fichier de contrôle du chargement, créer un script ou un exécutable pour lancer l'utilitaire de chargement, et définir les propriétés de configuration du programme de chargement dans Unica Campaign.

  1. Créez deux modèles de fichier de contrôle du chargement.

    La plupart des utilitaires de chargement de base de données ont besoin d'un fichier de contrôle. Unica Campaign est capable de générer dynamiquement des fichiers de contrôle à partir de modèles créés par vous.

    1. Créez un modèle de fichier de contrôle du chargement destiné à l'ajout d'enregistrements dans une base vide. Le modèle doit comporter les lignes suivantes. Le nom de cet exemple de modèle est loadscript.db2 :
      connect to <DATABASE> user <USER> using <PASSWORD>;
      load client from <DATAFILE> of del modified by coldel| insert into <TABLE>(
      <FIELDNAME><,>
      )
      nonrecoverable;
    2. Créez un modèle de fichier de contrôle du chargement destiné à l'ajout d'enregistrements à la suite des données existantes. Le modèle doit comporter les lignes suivantes. Le nom de cet exemple de modèle est loadappend.db2 :
      connect to <DATABASE> user <USER> using <PASSWORD>;
      load client from <DATAFILE> of del modified by coldel| insert into <TABLE>(
      <FIELDNAME><,>
      )
      nonrecoverable;

      Vous disposez maintenant de modèles permettant de charger des données dans une table de base de données nouvelle ou vide et d'ajouter des données dans une table de base de données existante.

      Unica Campaign remplit les jetons DATABASE, USER, PASSWORD, DATAFILE, TABLE et FIELDNAME des modèles, et crée un fichier de configuration appelé CONTROLFILE pour le programme de chargement DB2®.

  2. Créez un script ou un exécutable pour démarrer l'utilitaire de chargement.

    Pour appeler l'utilitaire de chargement, Unica Campaign utilise un script shell (ou un exécutable sous Windows), identifié dans la propriété de configuration Loadercommand. Vous pouvez définir soit un appel direct à l'exécutable de l'utilitaire de chargement de base de données, soit un appel à un script qui lance cet utilitaire.

    1. Pour cet exemple, vous devez créer un script de shell appelé db2load.sh pour démarrer le programme de chargement. Vous pouvez remplacer le chemin /tmp par le répertoire de votre choix :
      #!/bin/sh
      cp $1 /tmp/controlfile.tmp
      cp $2 /tmp/db2load.dat
      db2 -tvf $1 >> /tmp/db2load.log
    2. Modifiez les droits du fichier script de sorte qu'il dispose du droit d'exécution :
      chmod 755 db2load.sh
  3. Définissez les propriétés de configuration du programme de chargement dans Unica Campaign.

    Les propriétés de configuration du programme de chargement identifient les modèles de fichier de contrôle et indiquent l'emplacement du script ou de l'exécutable. Veillez à ajuster les paramètres de configuration de chaque source de données.

    1. Sélectionnez Paramètres > Configuration, puis Campaign|partitions|partition1|dataSources|<datasourcename>.
      Remarque : Lors de l'utilisation d'UA_SYSTEM_TABLES (comme l'historique de contacts), le programme de chargement bcp est appelé pour n'importe quel nombre d'enregistrements.

      Cependant, en cas d'utilisation d'autres sources de données, il est appelé sur la base de la valeur du paramètre "MinReqForLoaderCommand".

    2. Définissez les propriétés qui commencent par le mot Loader. Pour les informations importantes, voir Campaign | partitions | partition[n] | dataSources.
      • LoaderCommand : Chemin du script ou de l'exécutable chargé d'appeler l'utilitaire de chargement de base de données. Un script doit être spécifié dans CAMPAIGN_HOME/partition/partition[n]. La plupart des utilitaires de chargement nécessitent plusieurs arguments afin d'être lancés correctement. L'exemple suivant montre, encadrés par des chevrons, les jetons requis par DB2®. Entrez les jetons exactement tels quels. Ils sont remplacés par les éléments spécifiés lors de l'exécution de la commande. Exemple : /HCL/Campaign/partition/partition1/db2load.sh <CONTROLFILE> <DATAFILE>
      • LoaderCommandForAppend : Chemin du script ou de l'exécutable chargé d'appeler l'utilitaire de chargement de base de données pour ajouter des enregistrements à la fin d'une table de base de données. Un script doit être spécifié dans CAMPAIGN_HOME/partition/partition[n]. Exemple : /HCL/Campaign/partition/partition1/db2load.sh <CONTROLFILE> <DATAFILE>
      • LoaderDelimiter et LoaderDelimiterForAppend : Délimiteur utilisé dans le modèle de fichier de contrôle du programme de chargement.
      • LoaderControlFileTemplate : Le modèle de fichier contrôle qui est configuré pour Unica Campaign. Exemple : loadscript.db2
      • LoaderControlFileTemplateForAppend : Le modèle de fichier de contrôle du chargement destiné à l'ajout d'enregistrements à la suite des données existantes. Exemple : loadappend.db2
      • Tous les autres paramètres Loader : indiquez-les comme requis pour votre mise en œuvre, en fonction des informations fournies dans la rubrique Campaign | partitions | partition[n] | dataSources.
    3. Effectuez cette étape si vous utilisez également Unica Optimize.
      Remarque : Unica Optimize ne met pas à jour les sources de données de la base de données de l'utilisateur. Les informations ci-après ne s'appliquent donc PAS aux sources de données de la base de données de l'utilisateur.

      Unica Optimize utilise les paramètres du chargeur de la source de données UA_SYSTEM_TABLES pour mettre à jour des tables Unica Optimize au cours de l'exécution de la session. Ces paramètres étant communs à Unica Campaign et Unica Optimize, vous devez configurer le chargeur comme suit :

      • Paramètres du chargeur Unica Optimize : évitez d'utiliser des chemins relatifs pour les scripts du chargeur dans la configuration du chargeur de source de données UA_SYSTEM_TABLES. Utilisez plutôt des chemins absolus.
      • Si Unica Campaign et Unica Optimize sont installés sur des machines différentes, créez des structures de dossier identiques, en utilisant le chemin d'accès absolu sur la machine Campaign et Unica Optimize. Assurez-vous que le chemin absolu est accessible à la fois pour les programmes d'écoute Unica Campaign et Unica Optimize à partir de leurs machines respectives.
      • Si Unica Campaign et Unica Optimize sont installés sur la même machine, vous n'avez pas besoin de créer la structure de dossiers, car elle existe déjà.
      Exemple :

      Dans l'exemple suivant, Unica Campaign et Unica Optimize sont installés sur des machines distinctes et Unica Campaign possède la configuration de chargeur suivante :

      LoaderCommand : /HCL/Campaign/partitions/partition1/db2load.sh <FICHIER_DE_CONTROLE> <FICHIER_DE_DONNEES>

      LoaderCommandForAppend : /HCL/Campaign/partitions/partition1/db2load.sh <FICHIER_DE_CONTROLE> <FICHIER_DE_DONNEES>

      Dans cet exemple, vous devez créer le répertoire /HCL/Campaign/partitions/partition1/ sur la machine Unica Optimize et copier tous les fichiers script requis spécifiques au chargeur sur la machine Unica Optimize. Pour plus de détails, consultez la rubrique relative à la configuration de du chargeur de la base de données dans le document Unica Optimize - Guide d'utilisation

Résultats

Unica Campaign effectue les actions suivantes lorsqu'il écrit dans la base de données : il commence par créer un fichier de données temporaire à largeur fixe ou à texte délimité. S'il est défini par la propriété LoaderControlFileTemplate, un fichier de contrôle temporaire est créé dynamiquement en fonction du modèle de fichier et de la liste des zones à envoyer à la base de données. Puis, il émet la commande définie par la propriété de configuration LoaderCommand. Enfin, il nettoie le fichier de données temporaires et le fichier de contrôle.