Utiliser le Change Data
Capture (CDC)
Le chargement du Data Warehouse(DW) se fait en deux
étapes :
1.
Chargement Initial : c’est
le premier chargement qui se fait lorsqu’on veut alimenter le DW la première
fois. Lors de ce chargement, on utilise des requêtes SQL sur la source
directement car on va récupérer tout le lot de données nécessaires.
2.
Chargement
Incrémental : ce chargement se fait d’une manière périodique selon
la fréquence de mise à jour de données qui est définie par la DSI et le métier.
Il a pour objectif de ne charger que les nouvelles insertions ainsi que les
mises à jour.
Donc, lors de chargement incrémental, au lieu d’interroger
tous le lot de données de la source, il y a un moyen qui est la Change Data
Capture.
C’est un moyen qui permet de capturer tous les changements
qui surgissent sur la base de données source. Pour cela, il faut l’activer sur
la source, mais il faut savoir que le CDC est nettoyé chaque jour par défaut,
donc il faut penser à reprogrammer le nettoyage du CDC selon votre besoin.
Sous SSIS, il y a des taches qui permettent de récupérer les
données à partir du CDC directement. On peut l’utiliser et il est très
efficace.
Comme on peut penser, à une autre solution : on peut
interroger les tables de CDC (ce sont des tables système) au lieu des tables de
la source. Il faut distinguer entre une insertion et modification. Ces tables
contiennent tous les champs de table source sur laquelle on a activé le CDC et
ceux qu’on veut capturer (il y a une possibilité de n’activer le CDC que sur les
champs d’une table qu’on veut suivre), ainsi que d’autres colonnes propres au
CDC, entre autre ([--operation])
1.
Si code=2 : il s’agit
d’une nouvelle ligne insérée dans la table
2.
Si code= 3 alors c’est
l’ancienne avant modification
3.
Si code=4 alors la nouvelle
valeur après modification
4.
Si code=1 il s’agit d’une
ligne supprimée.
Donc la même requêtes SQL qui fait le chargement à partir de
la table source vous l’orienter vers le CDC au lieu de la table source
directement et vous gardez votre ETL tel qu’il est.
Parfois, dans le cas des systèmes métiers qui connaissent
beaucoup d’opération, le CDC peut contenir un grand lot de données vu le
mouvement du système métier. Pour cela, parfois on pense à ne récupérer que les
clés des lignes qui ont connu le changement et puis faire une jointure avec la
table source et récupérer la dernière valeur insérée. C’est un moyen pour s’en
passer des états de changement intermédiaires.
Pour conclure, c’est aux ingénieurs d’évaluer leurs besoins
en termes d’information et décider de la façon qui les arrange le plus.
Comments
Post a Comment
Put your comments here, please.
Share with us you vision...