[SSIS] Caching : présentation élémentaire des modes de mise-en-cache du Lookup Transformation

Ce billet présente brièvement les modes de caching (ou mise-en-cache) supportés par la recherche de transformation (lookup transformation). Il y aborde également quelques bonnes pratiques d’utilisation.

Les différentes méthodes de caching du Lookup Transformation

Il existe 3 modes de mise-en-cache de données supportés par le Lookup Transformation :

  • Full cache à Dans ce mode, toutes les données issues de l’opération de lookup sont chargées en cache. La mise-en-cache se fait avant l’exécution du data flow au sein duquel est effectué le lookup. Il s’agit du mode de mise-en-cache par défaut.
  • Partial cache àDans ce mode, aucune mise-en-cache n’est effectuée durant la phase de pré-exécution du data flow. Toutefois, au cours de l’opération de lookup, SSIS compare chaque ligne de la table de référence avec celles de la source de données, et en cas de correspondance effectue une mise-en-cache des lignes de données concernées. Dans le cas d’une saturation du cache, SSIS supprime certaines lignes du cache en se basant sur leurs statistiques d’utilisation afin de déterminer les lignes les moins lues.
  • No cache à Comme son nom l’indique, SSIS n’effectue aucune mise-en-cache des lignes de données durant l’opération de lookup. Pour chaque ligne venant de la source de données, la base de données, d’où a été construite la table de référence, est simplement requêtée pour obtenir les lignes de données correspondantes.

Conseils et bonnes pratiques d’utilisation

Côté bonnes pratiques, optez pour…

  • … le mode full cache :
    • Si la table de référence n’est pas trop volumineuse (à moins de posséder assez de mémoire pour la contenir), et que seul un sous-ensemble très large de la table de référence est traité.
    • Si la base de données à traiter est soumise à de fortes charges, et que l’on souhaite réduire le nombre de requêtes à lui envoyer.
Si la table de référence n’est pas fréquemment soumise à des modifications pouvant rendre obsolètes les données en cache, et que vous disposez d’assez de mémoire, le mode full cache est le bon choix.
  • … le mode partial cache :
    • Si la table de référence est très volumineuse, et que peu d’enregistrements seront utilisés ou en correspondance avec la source de données.
    • Si la source de données n’est pas très volumineuse.
    • Si de nouvelles lignes de données sont souvent ajoutées dans la table de référence.
Assurez-vous que les paramètres de contrôle de la taille du cache sont correctement adaptés. Pour toute information complémentaire : http://blogs.msdn.com/b/mattm/archive/2008/10/18/calculating-the-size-of-your-lookup-cache.aspx.
  • … le mode no cache :
    • Si un petit nombre de lignes est traité.
    • Si la table de référence est soumise à des modifications trop fréquentes (i.e., insertions, suppressions, mises-à-jour).
N’envisagez le mode no cache que si vous êtes sûrs qu’aucun des autres modes de caching n’est satisfaisant ou que vous n’avez pas assez de mémoire.

Pour aller plus loin…

Vous pouvez garder un œil ici, pour consulter les autres billets relatifs au SSIS caching.

Publicités

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s