Slowly Changed Dimension

La réalisation d’un système décisionnel passe par une étape cruciale qui est le processus ETL(Extract, Transform, Load), ce dernier consiste à récupérer les données à partir de sources disparates et hétérogènes, puis appliquer un ensemble de traitements qui permettent de les nettoyer, normaliser et standardiser avant de les charger dans le Data Warehouse ou les Data Mart.

Sous Microsoft SQL server BI suite, il est possible d’implémenter ce processus en créant un projet SSIS (SQL Server Integration Service), ce dernier contient un ensemble de composants qui facilite le traitement de données.

Le chargement de données à partir de la source passe par deux grandes étapes : chargement initial pendant lequel on récupère toutes les données nécessaires pour l’analyse. Un chargement incrémental qui ne permet de récupérer que  les nouveaux enregistrements et les mises à jour dans la source.

Afin de pouvoir assurer la détection de ces changements dans la source, un composant trop adapté est disponible sous SSIS qui est SDC (Slowly Changed Dimension : ce dernier assure la mise à jour des données de dimension selon les changements détectés dans la source.

SCD, et après sa configuration, permet d’avoir automatiquement plusieurs sorties : une pour l’insertion de nouveaux enregistrements, une pour l’écrasement des attributs modifiables, une autre pour historiser les lignes où l’attribut est de type 2 a changé…

La réussite de l’utilisation de ce composent repose sur la bonne conception de la dimension, en définissant le type de chaque attribut : les attributs qu’on peut écraser en cas de modification qui sont de type1, les attributs qui doivent être historisés en cas de changement qui sont de type2. Sous SCD, pour chaque attribut de la dimension il faut choisir entre (attribut d’historisation si type2, modification d’attribut si type1, attribut fixe, si on est sure que cet attribut ne change jamais).
En fonction de cette configuration, SCD paramètre les flux d’insertion et de mise en jour de données, ce qui décharge le développeur d’écrire des lignes de code pour l’assurer.


Lors de l’exécution de l’ETL, SDC fonctionne rapidement et donnent de bons résultats.



Exemple d'utilisation de SCD

Comments

Popular posts from this blog