Scénario : Chargement delta
Lorsque vous exécutez un chargement delta, l'utilitaire de chargement de données compare le fichier que vous chargez aux données dans la base de données. Si l'utilitaire détecte qu'il existe des données pour un objet dans la base de données, il remplace ces données par les données qui se trouvent dans le fichier d'entrée. Si le fichier d'entrée contient des données pour des colonnes spécifiques seulement, l'opération de chargement remplace tout de même les valeurs de toutes les colonnes pour l'objet dans la base de données. L'utilitaire remplace les données dans la base de données par les données qui se trouvent dans le fichier d'entrée, et remplace les autres valeurs de colonne pour l'objet par la valeur null. Si vous ne voulez pas que l'utilitaire remplace les données d'une colonne lorsque vous exécutez un chargement delta, configurez l'utilitaire afin d'empêcher la mise à jour de la colonne au cours d'une opération de chargement. Pour plus d'informations, voir Configuration d'une liste d'exclusion de colonnes.
Si vous chargez des modifications pour des entrées de catalogue ou des descriptions d'entrée de catalogue, vous pouvez exécuter l'utilitaire de chargement de données en mode mise à jour. Le mode mise à jour compare les données qui sont stockées dans la base de données aux données qui se trouvent dans le fichier et met à jour uniquement les colonnes qui comportent des modifications. Si aucune valeur n'est définie pour des colonnes de base de données dans le fichier d'entrée, l'opération de chargement ne change pas la valeur dans la base de données. Pour plus d'informations, consultez la rubrique Scénario : Chargement de mise à jour d'entrée de catalogue
Recommandations de configuration
- Spécifiez le mode de chargement de données
Replacedans le fichier de configuration de l'ordre de chargement des données wc-dataload.xml sauf si vous chargez de nouvelles données dans la base de données. Vous pouvez cependant utiliser le modeInserten vue d'améliorer les performances. Si le mode de chargement des données est défini surInsert, les données du fichier CSV en entrée sont directement chargées dans la base de données sans la vérification des données existantes. Si les données existent, une exception de clé en double est générée. - Spécifiez un nombre de validations de
1et une taille de lot de1pour minimiser l'impact sur votre site de production. Si vous spécifiez un nombre de validations et une taille de lot élevés, un nombre plus élevé de lignes est verrouillé dans les tables de base de données, et la durée du verrouillage est plus longue. Lorsque des lignes sont verrouillées, il se peut que les informations correspondantes ne soient pas disponibles en ligne. - Ne spécifiez pas de plage de clés avec une clé de départ et une clé de fin, sauf si vous êtes certain qu'elle ne générera pas de conflit de clé.
- Spécifiez une taille de
0pour le cache du programme de résolution d'ID si votre base de données est volumineuse. Le chargement du cache du programme de résolution d'ID pour une table volumineuse peut être long et consommer beaucoup de mémoire. Il se peut aussi que ce cache ne puisse pas être chargé pour une table volumineuse en raison du plafond de la taille de la pile JVM. Ainsi, dans le cas d'une base de données volumineuse, la taille du cache du programme de résolution d'ID est0. Associez-la à une valeur plus élevée seulement si vous voulez charger des données dans de petites tables.
Pour plus d'informations sur l'exécution de l' utilitaire de chargement de données, après la définition du mode de chargement des données pour un chargement de données data, voir Configuration et exécution de l'utilitaire de données de chargement
Exemple
Replace, un nombre de validations et une taille de lot peu élevés, sans plage de clés fixe :<_config:LoadOrder commitCount="1" batchSize="1" dataLoadMode="Replace" >
<_config:LoadItem name="CatalogEntry" businessObjectConfigFile="wc-loader-catalog-entry.xml" >
<_config:DataSourceLocation location="CatalogEntry.csv" />
</_config:LoadItem>
</_config:LoadOrder> 0 :<_config:IDResolver className="com.ibm.commerce.foundation.dataload.idresolve.IDResolverImpl" cacheSize="0" />