BIML (Business Intelligence Markup Language) és un llenguatge de programació que permet generar paquets dtsx d'SSIS automàticament. BIML és propietat de Varigence (www.varigence.com).
BIML permet combinar codi XML amb .Net (Vb o C#) per generar les ETLs. Aquesta combinació ens permet aplicar patrons de disseny o templates per generar per a taules d'un mateix tipus la mateixa estructura en l'ETL.
BIML té una part que és gratuïta i que es pot integrar al SQL Server Data Tools a través del BIDS Helper (https://bidshelper.codeplex.com/) o també el BIML express. I també té una part de pagament MIST que ofereix funcionalitats com fer enginyeria inversa o més facilitat a l'hora de debugar.
En un procés de càrrega d'un DWH tenim les fonts d'origen que es carreguen a l'Staging Area (Extract). A l'Staging Area s'aplica la lògica de negoci fins a transformar les dades en l'estructura que té el DWH (Transform), des d'on, finalment, les dades passen al DWH (Load).
La E i la L del procés ETL és una part que no aporta valor a negoci i que es pot automatitzar mitjançant patrons d'extracció o de càrrega.
BIML ens permetrà aplicar els patrons necessaris per als nostres orígens i destins per no haver de programar el mateix procés per totes les taules.
BIML permet combinar codi XML amb .Net (Vb o C#) per generar les ETLs. Aquesta combinació ens permet aplicar patrons de disseny o templates per generar per a taules d'un mateix tipus la mateixa estructura en l'ETL.
BIML té una part que és gratuïta i que es pot integrar al SQL Server Data Tools a través del BIDS Helper (https://bidshelper.codeplex.com/) o també el BIML express. I també té una part de pagament MIST que ofereix funcionalitats com fer enginyeria inversa o més facilitat a l'hora de debugar.
DWH i BIML
A quines parts de la càrrega d'un DWH ens pot ajudar MIST?En un procés de càrrega d'un DWH tenim les fonts d'origen que es carreguen a l'Staging Area (Extract). A l'Staging Area s'aplica la lògica de negoci fins a transformar les dades en l'estructura que té el DWH (Transform), des d'on, finalment, les dades passen al DWH (Load).
La E i la L del procés ETL és una part que no aporta valor a negoci i que es pot automatitzar mitjançant patrons d'extracció o de càrrega.
BIML ens permetrà aplicar els patrons necessaris per als nostres orígens i destins per no haver de programar el mateix procés per totes les taules.
Un cas real
En un dels meus darrers projectes havia de carregar a l'Staging Area més de 150 taules. Les taules eren de 3 tipus. Les que havia de carregar senceres, les que havia de carregar incrementalment segons un camp de data i les que havia de carregar incrementalment segons un camp de data que estava en una altra taula.
Amb BIML vaig escriure només 3 XMLs i amb un bucle amb c# vaig poder generar les ETLs que em carregaven totes les taules. Vaig aconseguir diversos beneficis. Per una banda no em vaig tornar boig programant les 150 càrregues de taules amb els seus possibles errors humans, i per una altra banda vaig poder corregir errors de concepte només tocant el codi BIML sense haver d'anar a cadascuna de les ETLs afectades.
En propers posts veurem alguns exemples senzills de codi BIML.
Us recomano molt el blog de la Catherine Wilhelmsen : http://www.cathrinewilhelmsen.net/ i també que li feu un cop d'ull a la web http://bimlscript.com/
Cap comentari:
Publica un comentari a l'entrada