SQL Sever 2008 : Change Data Capture

Je viens d’écrire un article sur une des fonctionnalités de SQL Server 2008 : le Change Data Capture (ou CDC). Je l’avais commencé avec la CTP2 (ça date). Il est maintenant terminé. Cet article dresse un portrait assez complet de la fonctionnalité et propose un petit tutoriel de mise en oeuvre.

Vous pouvez le consulter sur le site de Bewise: http://www.bewise.fr/SiteCollectionDocuments/Articles/article-57.doc 
Le code source est disponible ici.

Prochaine étape : l’utilisation dans un cas concret d’ETL avec SSIS.

Voici un petit aperçu en ligne :

Introduction

Le Change Data Capture (que nous appellerons CDC) est une nouvelle fonctionnalité de SQL Server 2008. Apparu dès la CTP2, Cet article se base sur la CTP5 et il n’est pas exclu qu’il y ait des modifications dans les versions suivantes.

Le CDC a une orientation initiale pour les processus d’ETL. L’objectif de CDC est d’optimiser l’intégration des données  en requêtant directement les modifications faites sur les bases de productions, plutôt que de comparer la source et la destination.

Bien entendu, on peut étendre l’utilisation du CDC à de la synchronisation entre 2 bases, à de l’audit ou à tout autre besoin nécessitant de connaître ce qu’il se passe sur une table.

Les exemples de cet article se basent sur AdventureWorks. Nous utiliserons la table des commandes SalesOrderHeader.

Principes de fonctionnement

Le CDC capture les modifications qui se font sur les tables. On choisit les tables sur lesquelles on souhaite faire la capture, toutes les modifications ne sont évidemment pas monitorées. On peut même restreindre la capture à quelques colonnes d’une table.

Le CDC est un processus asynchrone. Il fonctionne comme la réplication transactionnelle à savoir qu’un « agent » lit le journal de transaction (transaction log) et met de côté les modifications dans des tables spécifiques.

C’est la (ou les) applications « clients » qui viennent chercher les modifications. La récupération des modifications se fait sur demande en mode pull.

Votre 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 )

Connexion à %s