Intégration des données et ETL - cours.etsmtl.ca · Source: “EII - ETL – EAI What, Why, and...

43
MTI820 Entrepôts de données et intelligence d’affaires Intégration des données et ETL 1 Département de génie logiciel et des TI MTI820 Hiver 2011 – © S. Chafki, C. Desrosiers

Transcript of Intégration des données et ETL - cours.etsmtl.ca · Source: “EII - ETL – EAI What, Why, and...

Page 1: Intégration des données et ETL - cours.etsmtl.ca · Source: “EII - ETL – EAI What, Why, and How!”, Tom Yu, 2005 Group 13 Information Integration – Data Patterns EII Structured

MTI820 −Entrepôtsdedonnéesetintelligenced’affaires

IntégrationdesdonnéesetETL

1DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.Chafki,C.Desrosiers

Page 2: Intégration des données et ETL - cours.etsmtl.ca · Source: “EII - ETL – EAI What, Why, and How!”, Tom Yu, 2005 Group 13 Information Integration – Data Patterns EII Structured

Lecycledevied’unprojetenBI• Diagrammedefluxdetravail:

2

Planificationdeprojet/programme

Définitiondes

besoinsd’affaires

Conceptiondel’architecturetechnique

Modélisationdesdonnées

Conceptiondesapplicationde

BI

Sélectionetinstallationdes

produits

Conceptionphysique

ConceptionetdéveloppementdusystèmeETL

Développementdesapplications

deBI

Déploiement

Croissance

Maintenance

Gestiondeprojet/programme

DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.Chafki,C.Desrosiers

Page 3: Intégration des données et ETL - cours.etsmtl.ca · Source: “EII - ETL – EAI What, Why, and How!”, Tom Yu, 2005 Group 13 Information Integration – Data Patterns EII Structured

Question• Pourquoiest-ilnécessairedefairel’intégrationdes

données?

DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.Chafki,C.Desrosiers 3

Page 4: Intégration des données et ETL - cours.etsmtl.ca · Source: “EII - ETL – EAI What, Why, and How!”, Tom Yu, 2005 Group 13 Information Integration – Data Patterns EII Structured

Lesproblèmesdessourcesdedonnées1. Sourcesdiversesetdisparates;

2. SourcessurdifférentesplateformesetOS;

3. Applicationslegacy utilisantdesBDetautrestechnologiesobsolètes;

4. Historiquedechangementnon-préservédanslessources;

5. Qualitédedonnéesdouteuse etchangeantedansletemps;

6. Structuredessystèmessourceschangeantedansletemps;

7. Incohérenceentrelesdifférentessources;

8. Donnéesdansunformatdifficilementinterprétableouambigu.

DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.Chafki,C.Desrosiers 4

Page 5: Intégration des données et ETL - cours.etsmtl.ca · Source: “EII - ETL – EAI What, Why, and How!”, Tom Yu, 2005 Group 13 Information Integration – Data Patterns EII Structured

Question• Quellessontlesprincipalesapprochesd’intégrationet

quelssontleursprincipauxavantages/inconvénients?

DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.Chafki,C.Desrosiers 5

Page 6: Intégration des données et ETL - cours.etsmtl.ca · Source: “EII - ETL – EAI What, Why, and How!”, Tom Yu, 2005 Group 13 Information Integration – Data Patterns EII Structured

Approches d’intégration

DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.Chafki,C.Desrosiers 6

Source:“EII- ETL– EAIWhat,Why,andHow!”,TomYu,2005

IBM Software Group

13

Information Integration – Data Patterns

EII

StructuredData Source

unstructured

LegacyData Source

Data Virtualization

SQL(or Content)

� Real-time information access� Federation of data from multiple

sources� Dynamic drill down� Semi-structured & unstructured

data

EAI

Application

Application

Application

InterpretTransform

Route

� Process based integration of application data

� Message-based, transaction-oriented processing

� Workflow and data orchestration, content-based routing

DataSource

DataSource

extract

transform

load

Target /Data

Warehouse

ETL

� Bulk data integration � Set-based & hierarchical

transformations� High scale, batch-oriented data

delivery

Extract,TransformandLoad• Intégrationetlivraison desdonnées enlot

• Transformationsappliquéessur lesdonnées

EnterpriseInformationIntergration• Fédération dedonnées provenantdeplusieurs sources

• Accès temps-réel auxdonnées• Données structuréesou semi-structurées

IBM Software Group

13

Information Integration – Data Patterns

EII

StructuredData Source

unstructuredLegacy

Data Source

Data Virtualization

SQL(or Content)

� Real-time information access� Federation of data from multiple

sources� Dynamic drill down� Semi-structured & unstructured

data

EAI

Application

Application

Application

InterpretTransform

Route

� Process based integration of application data

� Message-based, transaction-oriented processing

� Workflow and data orchestration, content-based routing

DataSource

DataSource

extract

transform

load

Target /Data

Warehouse

ETL

� Bulk data integration � Set-based & hierarchical

transformations� High scale, batch-oriented data

delivery

EnterpriseApplicationIntergration• Processus d’intégrationdesdonnées d’applications

• Basé sur l’échange demessagessur unbuscommun

IBM Software Group

13

Information Integration – Data Patterns

EII

StructuredData Source

unstructuredLegacy

Data Source

Data Virtualization

SQL(or Content)

� Real-time information access� Federation of data from multiple

sources� Dynamic drill down� Semi-structured & unstructured

data

EAI

Application

Application

Application

InterpretTransform

Route

� Process based integration of application data

� Message-based, transaction-oriented processing

� Workflow and data orchestration, content-based routing

DataSource

DataSource

extract

transform

load

Target /Data

Warehouse

ETL

� Bulk data integration � Set-based & hierarchical

transformations� High scale, batch-oriented data

delivery

Page 7: Intégration des données et ETL - cours.etsmtl.ca · Source: “EII - ETL – EAI What, Why, and How!”, Tom Yu, 2005 Group 13 Information Integration – Data Patterns EII Structured

Extract,TransformandLoad(ETL)• Caractéristiques:

– Permetlaconsolidationdesdonnéesàl’aidedestroisopérationssuivantes:• Extraction:identifieretextrairelesdonnéesdesourcesayantsubiunemodificationdepuisladernièreexécution;

• Transformation:appliquerdiverses transformationsauxdonnéespourlesnettoyer,lesintégreretlesagréger;

• Chargement:insérerlesdonnéestransforméesdansl’entrepôtetgérerleschangementsauxdonnéesexistantes(ex:stratégiesSCD).

– Traitenormalement degrandequantitésdedonnéesenlotscédulés;

– Estsurtoututiliséaveclesentrepôtsdedonnéesetlescomptoirsdedonnées.

DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.Chafki,C.Desrosiers 7

Page 8: Intégration des données et ETL - cours.etsmtl.ca · Source: “EII - ETL – EAI What, Why, and How!”, Tom Yu, 2005 Group 13 Information Integration – Data Patterns EII Structured

Extract,TransformandLoad(ETL)• Avantages:

– Optimisépourlastructuredel’entrepôtdedonnées;– Peuttraiterdegrandesquantitésdedonnéesdansunemême

exécution(traitementenlot);– Permetdestransformationscomplexesetagrégationssurles

données;– Lacéduled’exécutionpeutêtrecontrôléeparl’administrateur;– Ladisponibilitéd’outilsGUIsurlemarchépermetd’améliorer la

productivité;– Permetlaréutilisationdesprocessusettransformations(ex:

packages dansSSIS).

DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.Chafki,C.Desrosiers 8

Page 9: Intégration des données et ETL - cours.etsmtl.ca · Source: “EII - ETL – EAI What, Why, and How!”, Tom Yu, 2005 Group 13 Information Integration – Data Patterns EII Structured

Extract,TransformandLoad(ETL)• Inconvénients:

– Processusdedéveloppement longetcoûteux;– Gestiondeschangementsnécessaire;– Exigedel’espacedisquepoureffectuerlestransformations

(staging area);– Exécutéindépendamment dubesoinréel;– Latencedesdonnéesentrelasourceetl’entrepôt;– Unidirectionnel (dessourcesversl’entrepôtdedonnées).

DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.Chafki,C.Desrosiers 9

Page 10: Intégration des données et ETL - cours.etsmtl.ca · Source: “EII - ETL – EAI What, Why, and How!”, Tom Yu, 2005 Group 13 Information Integration – Data Patterns EII Structured

EntrepriseInformationIntegration (EII)• Caractéristiques:

– Fournitunevueunifiéedesdonnéesdel'entreprise,oùlessourcesdedonnéesformentunefédération;

– Lessourcesdedonnéesdispersées sontconsolidées àl'aided'uneBDvirtuelle, demanièretransparenteauxapplicationsutilisantcesdonnées;

– TouterequêteàlaBDvirtuelle estdécomposéeensous-requêtesauxsourcesrespectives,dontlesréponsessontassembléesenunrésultatunifiéetconsolidé;

– Permetdeconsolideruniquement lesdonnéesutilisées,aumomentoùellessontutilisées (sourcedata pulling).

– Letraitementen-ligne desdonnéespeutcependantentraînerdesdélais importants.

DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.Chafki,C.Desrosiers 10

Page 11: Intégration des données et ETL - cours.etsmtl.ca · Source: “EII - ETL – EAI What, Why, and How!”, Tom Yu, 2005 Group 13 Information Integration – Data Patterns EII Structured

EntrepriseInformationIntegration (EII)• Avantages:

– Accèsrelationnelàdessourcesnon-relationnelles;

– Permetd’explorerlesdonnéesaveclacréationdumodèledel’entrepôtdedonnées;

– Accélèreledéploiement delasolution;

– PeutêtreréutiliséparlesystèmeETLdansuneitérationfuture;

– Aucundéplacementdedonnées.

DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.Chafki,C.Desrosiers 11

Page 12: Intégration des données et ETL - cours.etsmtl.ca · Source: “EII - ETL – EAI What, Why, and How!”, Tom Yu, 2005 Group 13 Information Integration – Data Patterns EII Structured

EntrepriseInformationIntegration (EII)• Inconvénients:

– Requiert lacorrespondancedesclésd’unesourceàl’autre;

– Consolidationdesdonnéespluscomplexequedansl’ETL;

– Surtaxelessystèmesources;

– Pluslimitéquel’ETLdanslaquantitédedonnéespouvantêtretraitée;

– Transformationslimitées surlesdonnées;

– Peutconsommerunegrandebandepassanteduréseau.

DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.Chafki,C.Desrosiers 12

Page 13: Intégration des données et ETL - cours.etsmtl.ca · Source: “EII - ETL – EAI What, Why, and How!”, Tom Yu, 2005 Group 13 Information Integration – Data Patterns EII Structured

EntrepriseApplicationIntegration (EAI)• Caractéristiques:

– Approchepermettantdefourniràl'entrepôtdesdonnéesprovenantdessources(sourcedatapushing);

– Reposesurl'intégrationetlepartagedesfonctionnalitésdesapplicationssourcesàl'aided'unearchitectureSOA;

– Généralementutiliséentempsréelouensemi-temps réel(NearRealTime);

– L'EAIneremplacepasleprocessusETL,maispermetdesimplifiercedernier.

DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.Chafki,C.Desrosiers 13

Page 14: Intégration des données et ETL - cours.etsmtl.ca · Source: “EII - ETL – EAI What, Why, and How!”, Tom Yu, 2005 Group 13 Information Integration – Data Patterns EII Structured

EntrepriseApplicationIntegration (EAI)• Avantages:

– Facilitel’interopérabilitédesapplications;– Permetl’accèsen(quasi)temps-réel;– Netransfèrequelesdonnéesnécessaires;– Contrôleduflotdel’information.

DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.Chafki,C.Desrosiers 14

Page 15: Intégration des données et ETL - cours.etsmtl.ca · Source: “EII - ETL – EAI What, Why, and How!”, Tom Yu, 2005 Group 13 Information Integration – Data Patterns EII Structured

EntrepriseApplicationIntegration (EAI)• Inconvénients:

– Supportlimitéauxtransformationsetagrégationsdesdonnées;– Tailledestransactionslimitée(ennombredelignes);– Développement complexe;– Gestioncomplexedel’intégritésémantiquedesdonnées (e.g.,

règlesd’affaires);– Utiliselabandepassanteduréseaudurantlesheuresdepointe.

DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.Chafki,C.Desrosiers 15

Page 16: Intégration des données et ETL - cours.etsmtl.ca · Source: “EII - ETL – EAI What, Why, and How!”, Tom Yu, 2005 Group 13 Information Integration – Data Patterns EII Structured

Comparaison entrelesapproches d’intégrationETL EII EAI

Flot dedonnées Unidirectionnel(sourcesà l’entrepôt)

Bidirectionnel Bidirectionnel

Mouvement dedonnées

Lotscédulés Aumoment delarequête

Déclenché parlatransaction

Latence Journalier à mensuel Temps-réel Quasitemps-réel

Transformations/agrégations desdonnées

Grandecapacité Moyenne capacité Faible capacité

Volumedesdonnées Grand(millionsoumilliardsdelignes)

Moyen(10,000 –1,000,000delignes)

Petit(100-1000 lignes)

DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.Chafki,C.Desrosiers 16

Page 17: Intégration des données et ETL - cours.etsmtl.ca · Source: “EII - ETL – EAI What, Why, and How!”, Tom Yu, 2005 Group 13 Information Integration – Data Patterns EII Structured

Quand utiliser lesapproches d’intégration• ApprocheETL:

– Consolidationd’unegrandequantitédedonnées– Transformationscomplexes

• ApprocheEII:– Relierunentrepôt(EDW)existantavecdesdonnéesdesources

spécifiques– Donnéessourcesvolatilesetaccessiblesàl’aidederequêtes

simples(ex:SQL).

• ApprocheEAI:– Intégrationdetransactions– Requêtesanalytiques simples– Sourcesnon-accessiblesdirectement

DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.Chafki,C.Desrosiers 17

Page 18: Intégration des données et ETL - cours.etsmtl.ca · Source: “EII - ETL – EAI What, Why, and How!”, Tom Yu, 2005 Group 13 Information Integration – Data Patterns EII Structured

Exemplesdeproduitscommerciaux• OutilsETL:

– OracleWarehouse Builder;– IBMInfosphere InformationServer;– MicrosoftSQLServerIntegration Services(SSIS);– SASDataIntegration Studio.

• OutilsEAI:– IBMWebSphereMessageBroker;– MicrosoftBizTalkServer;– OracleSOASuite.

• OutilsEII:– SAPBusinessObjects DataFederator;– IBMWebSphereFederation Server.

DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.Chafki,C.Desrosiers 18

Page 19: Intégration des données et ETL - cours.etsmtl.ca · Source: “EII - ETL – EAI What, Why, and How!”, Tom Yu, 2005 Group 13 Information Integration – Data Patterns EII Structured

Question• Quellessontlesprincipalesétapesdansle

développementdusystèmeETL?

DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.Chafki,C.Desrosiers 19

Page 20: Intégration des données et ETL - cours.etsmtl.ca · Source: “EII - ETL – EAI What, Why, and How!”, Tom Yu, 2005 Group 13 Information Integration – Data Patterns EII Structured

Tâchesetétapesdel'ETL

DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.Chafki,C.Desrosiers 20

Déterminer lesdonnéesnécessairesàlasolutiondeBI

Déterminer lessourcesinternesetexternesrenfermantcesdonnées

Définirlesrèglesd'extractiondesdonnéescibles

Définirlesrèglesdetransformationetdenettoyagedesdonnées

Planifierlesagrégationsdedonnées

Préparerlestaging area etlesoutilsd'assurancequalité

Définirlesprocédurespourlechargementdedonnées

ETLdestablesdedimension

ETLdestablesdefaits

Page 21: Intégration des données et ETL - cours.etsmtl.ca · Source: “EII - ETL – EAI What, Why, and How!”, Tom Yu, 2005 Group 13 Information Integration – Data Patterns EII Structured

Extractiondesdonnées• Identificationdessources:

1. Énumérer lesitemscibles(métriquesetattributsdedimension)nécessairesàl'entrepôtdedonnées;

2. Pourchaqueitemcible,trouverlasourceetl'itemcorrespondantdecettesource;

3. Siplusieurssourcessonttrouvées,choisirlapluspertinente;4. Sil'itemcibleexigedesdonnéesdeplusieurssources,former

desrèglesdeconsolidation;5. Sil'itemsourcerefermeplusieursitemscibles(ex:unseul

champspourlenometl'adresseduclient),définirdesrèglesdedécoupage;

6. Inspecterlessourcespourdesvaleursmanquantes.

DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.Chafki,C.Desrosiers 21

Page 22: Intégration des données et ETL - cours.etsmtl.ca · Source: “EII - ETL – EAI What, Why, and How!”, Tom Yu, 2005 Group 13 Information Integration – Data Patterns EII Structured

Extractiondesdonnées• Extractioncomplète:

– Capturel'ensemble desdonnéesàuncertaininstant(snapshotdel'étatopérationnel);

– Normalementemployée dansdeuxsituations:1. Chargementinitialdesdonnées;2. Rafraîchissementcompletdesdonnées(ex:modification

d'unesource).– Peutêtretrèscoûteuseentemps(ex:plusieursheures/jours).

• Extraction incrémentale:– Captureuniquement lesdonnéesquiontchangéesouontété

ajoutéesdepuisladernièreextraction;– Peutêtrefaitededeuxfaçons:

1. Extractiontemps-réel;2. Extractiondifférée(enlot).

DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.Chafki,C.Desrosiers 22

Page 23: Intégration des données et ETL - cours.etsmtl.ca · Source: “EII - ETL – EAI What, Why, and How!”, Tom Yu, 2005 Group 13 Information Integration – Data Patterns EII Structured

Question• Commentpeut-onextrairelesdonnéesquiontchangées

danslessources:– Entemps-réel?– Endifféré(lot)?

DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.Chafki,C.Desrosiers 23

Page 24: Intégration des données et ETL - cours.etsmtl.ca · Source: “EII - ETL – EAI What, Why, and How!”, Tom Yu, 2005 Group 13 Information Integration – Data Patterns EII Structured

BDsources

Extractiondesdonnées• Extractiontemps-réel:

– S'effectueaumomentoùlestransactionssurviennentdanslessystèmessources.

DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.Chafki,C.Desrosiers 24

triggersOption1:Captureàl'aidedesjournauxdetransactions

Journaldetransactions

Fichiersgénérésparlessources

Systèmesopérationnels

sources

Fichiersgénérésparlestriggers

Zonedepréparationdedonnées(staging area)

Option3:Capturedanslesapplicationssources

Option2:Captureàl'aidedetriggers

Page 25: Intégration des données et ETL - cours.etsmtl.ca · Source: “EII - ETL – EAI What, Why, and How!”, Tom Yu, 2005 Group 13 Information Integration – Data Patterns EII Structured

Extractiondesdonnées• Option1:Captureàl'aidedujournaldestransactions

– UtiliseleslogsdetransactionsdelaBDservantàlarécupérationencasdepanne;

– AucunemodificationrequiseàlaBDouauxsources;– Doitêtrefaitavantlerafraîchissementpériodiquedujournal;

– Paspossibleaveclessystèmeslegacy oulessourcesàbasedefichiers(ilfautuneBDjournalisée).

DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.Chafki,C.Desrosiers 25

Page 26: Intégration des données et ETL - cours.etsmtl.ca · Source: “EII - ETL – EAI What, Why, and How!”, Tom Yu, 2005 Group 13 Information Integration – Data Patterns EII Structured

Extractiondesdonnées• Option2:Captureàl'aidedetriggers

– Desprocéduresdéclenchées(triggers)sontdéfiniesdanslaBDpourrecopierlesdonnées àextrairedansunfichierdesortie;

– Meilleurcontrôledelacaptured'évènements;– ExigedemodifierlesBDsources;– Paspossibleaveclessystèmeslegacy oulessourcesàbasedefichiers.

DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.Chafki,C.Desrosiers 26

Page 27: Intégration des données et ETL - cours.etsmtl.ca · Source: “EII - ETL – EAI What, Why, and How!”, Tom Yu, 2005 Group 13 Information Integration – Data Patterns EII Structured

Extractiondesdonnées• Option3:Captureàl'aidedesapplicationssources

– Lesapplicationssourcessontmodifiées pourécrirechaqueajoutetmodificationdedonnéesdansunfichierd'extraction;

– Exigedesmodificationsauxapplicationsexistantes;– Entraînedescoûtsadditionnelsdedéveloppement etde

maintenance;– Peutêtreemployé surdessystèmes legacy etlessystèmesà

basedefichiers.

DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.Chafki,C.Desrosiers 27

Page 28: Intégration des données et ETL - cours.etsmtl.ca · Source: “EII - ETL – EAI What, Why, and How!”, Tom Yu, 2005 Group 13 Information Integration – Data Patterns EII Structured

BDsources

Extractiondesdonnées• Extractiondifférée:

– Extraittousleschangementssurvenusdurantunepériodedonnée(ex:heure,jour,semaine,mois).

DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.Chafki,C.Desrosiers 28

Extractiond'aujourd'hui

Fichiersd'extractionutilisantlestimestamps

Systèmesopérationnels

sources

Fichiersd'extractionutilisantla

comparaisonZonedepréparation

dedonnées(staging area)

Option1:Capturebaséesurlestimestamps

Option2:Captureparcomparaisondefichiers

Programmed'extraction

Extractiond'hier

Programmedecomparaison

Page 29: Intégration des données et ETL - cours.etsmtl.ca · Source: “EII - ETL – EAI What, Why, and How!”, Tom Yu, 2005 Group 13 Information Integration – Data Patterns EII Structured

Extractiondesdonnées• Option1:Capturebaséesurlestimestamps

– Uneestampille(timestamp)d'écritureestajoutéeàchaquelignedessystèmessources;

– L'extractionsefaituniquement surlesdonnéesdontletimestamp estplusrécentqueladernièreextraction;

– Fonctionneaveclessystèmeslegacy etlesfichiersplats,maispeutexigerdesmodificationsauxsystèmessources;

– Gestioncompliquéedessuppressions.

DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.Chafki,C.Desrosiers 29

Page 30: Intégration des données et ETL - cours.etsmtl.ca · Source: “EII - ETL – EAI What, Why, and How!”, Tom Yu, 2005 Group 13 Information Integration – Data Patterns EII Structured

Extractiondesdonnées• Option2:Captureparcomparaisondefichiers

– Comparedeuxsnapshots successifsdesdonnéessources;– Extraitseulement lesdifférences(ajouts,modifications,suppressions)entrelesdeuxsnapshots;

– Peutêtreemployésurdessystèmeslegacy etlessystèmesàbasedefichiers,sansaucunemodification;

– Exigedeconserverunecopiedel'étatdesdonnéessources;

– Approcherelativement coûteuse.

DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.Chafki,C.Desrosiers 30

Page 31: Intégration des données et ETL - cours.etsmtl.ca · Source: “EII - ETL – EAI What, Why, and How!”, Tom Yu, 2005 Group 13 Information Integration – Data Patterns EII Structured

Extractiondesdonnées• Considérations pratiques:

– Choisir,pourchaquesource,lafenêtretemporelledurantlaquelle serafaitel'extraction;

– Déterminer laséquencedestâchesd'extraction;– Déterminer commentgérerlesexceptions.

DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.Chafki,C.Desrosiers 31

Page 32: Intégration des données et ETL - cours.etsmtl.ca · Source: “EII - ETL – EAI What, Why, and How!”, Tom Yu, 2005 Group 13 Information Integration – Data Patterns EII Structured

Question• Quellessontlestransformationsàeffectuersurles

donnéessourcesavantdeleschargerdansl’entrepôt?

DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.Chafki,C.Desrosiers 32

Page 33: Intégration des données et ETL - cours.etsmtl.ca · Source: “EII - ETL – EAI What, Why, and How!”, Tom Yu, 2005 Group 13 Information Integration – Data Patterns EII Structured

Transformationdesdonnées• Typesdetransformation:

1. Révisiondeformat:• Ex:Changerletypeoulalongueurdechampsindividuels.

2. Décodagedechamps:• Consoliderlesdonnéesdesourcesmultiples

– Ex:['homme','femme']vs['M','F']vs[1,2].• Traduirelesvaleurscryptiques

– Ex:'AC','IN','SU'pourlesstatutsactif,inactif etsuspendu.

3. Pré-calculdesvaleursdérivées:• Ex:profit calculéàpartirdeventes etcoûts.

4. Découpagedechampscomplexes:• Ex:extrairelesvaleursprénom,secondPrénom etnomFamille

àpartird'uneseulechaînedecaractèresnomComplet.

DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.Chafki,C.Desrosiers 33

Page 34: Intégration des données et ETL - cours.etsmtl.ca · Source: “EII - ETL – EAI What, Why, and How!”, Tom Yu, 2005 Group 13 Information Integration – Data Patterns EII Structured

Transformationdesdonnées• Typesdetransformation(suite):

5. Fusiondeplusieurschamps:• Ex:informationd'unproduit

– Source1:codeetdescription;– Source2:typesdeforfaits;– Source3:coût.

6. Conversiondejeudecaractères:• Ex:EBCDIC(IBM)versASCII.

7. Conversiondesunitésdemesure:• Ex:impérialàmétrique.

8. Conversiondedates:• Ex:'24FEB2011'vs'24/02/2011'vs'02/24/2011'.

9. Pré-calculdesagrégations:• Ex:ventesparproduitparsemaineparrégion.

10. Déduplication:• Ex:Plusieursenregistrementspourunmêmeclient.

DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.Chafki,C.Desrosiers 34

Page 35: Intégration des données et ETL - cours.etsmtl.ca · Source: “EII - ETL – EAI What, Why, and How!”, Tom Yu, 2005 Group 13 Information Integration – Data Patterns EII Structured

Transformationdesdonnées• Problèmederésolutiond'entités:

– Survientlorsqu'unemêmeentitéseretrouvesurdifférentes sources,sansqu'onaitlacorrespondanceentrecessources;• Ex:clientsdelonguedateayantunidentifiantdifférentsurlesdifférentessources;

– L'intégrationdesdonnées requiertderetrouverlacorrespondance;– Approchesbaséessurdesrèglesderésolution

• Ex:lesentitésdoiventavoiraumoinsNchampsidentiques(fuzzylookup /matching).

• Problèmedessourcesmultiples:– Survientlorsqu'uneentitépossèdeunereprésentationdifférentesur

plusieurssources;– Approchesdesélection:

• Choisirlasourcelaplusprioritaire;• Choisirlasourceayantl'informationlaplusrécente.

DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.Chafki,C.Desrosiers 35

Page 36: Intégration des données et ETL - cours.etsmtl.ca · Source: “EII - ETL – EAI What, Why, and How!”, Tom Yu, 2005 Group 13 Information Integration – Data Patterns EII Structured

Transformationdesdonnées• Gestiondeschangementsdimensionnels:

– Déterminer lastratégiedegestiondeschangements(SCDType1,2ou3)dechaqueattributdimensionnelmodifié;

– Préparerl'imagedechargement(load image)enconséquence:• SCDType1:anciennevaleurécrasée;• SCDType2:nouvelleligneajoutée;• SCDType3:déplacementdel'anciennevaleurdanslacolonned'historiqueetécrituredelanouvellevaleurdanslacolonnecourante.

DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.Chafki,C.Desrosiers 36

Page 37: Intégration des données et ETL - cours.etsmtl.ca · Source: “EII - ETL – EAI What, Why, and How!”, Tom Yu, 2005 Group 13 Information Integration – Data Patterns EII Structured

Exemplesdetransformations:(SSIS)

DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.Chafki,C.Desrosiers 37

Page 38: Intégration des données et ETL - cours.etsmtl.ca · Source: “EII - ETL – EAI What, Why, and How!”, Tom Yu, 2005 Group 13 Information Integration – Data Patterns EII Structured

Transformationdesdonnées• Matricedetransformation:

DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.Chafki,C.Desrosiers 38

Champs cible Table cible Champs source Table source Règle de transformation

Page 39: Intégration des données et ETL - cours.etsmtl.ca · Source: “EII - ETL – EAI What, Why, and How!”, Tom Yu, 2005 Group 13 Information Integration – Data Patterns EII Structured

Chargementdesdonnées• Typesdechargement:

– Chargementinitial:• Faituneseulefoislorsdel'activationdel'entrepôtdedonnées;• Lesindexesetcontraintesd'intégritéréférentielle (cléétrangères) sontnormalementdésactivés temporairement;

• Peutprendreplusieursheures.

– Chargementincrémental:• Faitunefoislechargementinitialcomplété;• Tientcomptedelanaturedeschangements(ex:SCDType1,2ou3);• Peutêtrefaitentemps-réelouenlot.

– Rafraîchissement complet:• Employélorsquelenombredechangementsrendlechargementincrémentaltropcomplexe;

• Ex:lorsqueplusde20%desenregistrementsontchangédepuisledernierchargement.

DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.Chafki,C.Desrosiers 39

Page 40: Intégration des données et ETL - cours.etsmtl.ca · Source: “EII - ETL – EAI What, Why, and How!”, Tom Yu, 2005 Group 13 Information Integration – Data Patterns EII Structured

Chargementdesdonnées• Considération additionnelles:

– Faireleschargementsenlotdansunepériode creuse(entrepôtdedonnéesnonutilisé);

– Considérer labandepassanterequisepourlechargement;– Avoirunplanpourévaluer laqualitédesdonnéeschargéesdans

l'entrepôt;– Commencerparchargerlesdonnéesdestablesdedimension.

DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.Chafki,C.Desrosiers 40

Page 41: Intégration des données et ETL - cours.etsmtl.ca · Source: “EII - ETL – EAI What, Why, and How!”, Tom Yu, 2005 Group 13 Information Integration – Data Patterns EII Structured

Extract,Load andTransform (ELT)

DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.Chafki,C.Desrosiers 41

Source:RalfGoetz,Whatisthefundamentaldifferencebetween“ETL”and“ELT”intheworldofbigdata?,2017

Datalake

Page 42: Intégration des données et ETL - cours.etsmtl.ca · Source: “EII - ETL – EAI What, Why, and How!”, Tom Yu, 2005 Group 13 Information Integration – Data Patterns EII Structured

Extract,Load andTransform (ELT)• ProblèmesavecETL:

– Traite lesdonnées importantesaumomentdelaconception;– Développement longetcomplexe.

• SolutionELT:– UtiliselestechnologiesBigData (ex:Hadoop,Spark,etc.);– Chargementsrapides,potentiellement temps-réels;– Lacsdedonnées(datalakes)permettent lesdonnéesnon-structurées;

– Transformationsfaitesaumomentdelarequête;– TechnologiesmoinsmaturesqueETLetimplémentation pluscomplexe(ex:codeJavavsoutildédié).

DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.Chafki,C.Desrosiers 42

Page 43: Intégration des données et ETL - cours.etsmtl.ca · Source: “EII - ETL – EAI What, Why, and How!”, Tom Yu, 2005 Group 13 Information Integration – Data Patterns EII Structured

Extract,Load andTransform (ELT)

DépartementdegénielogicieletdesTI MTI820Hiver2011– ©S.Chafki,C.Desrosiers 43

Entrepôts dedonnées Lacsdedonnées

Données Structurées,traitées Semi-/non-structurées,brutes

Traitement Schéma-à-l’écriture Schéma-à-la-lecture

Stockage Coûteux pourgrandesquantités

Stockage à faible coût

Agilité Moins agile,configurationfixe Hautement agile,reconfiguration aubesoin

Sécurité Mature Moins mature

Utilisateurs Professionnels d’affaires Experts en datascience