SlideShare uma empresa Scribd logo
1 de 21
BIML - sterowane metadanymi tworzenie pakietów SSIS
Katarzyna Bremer
Katarzyna Bremer
O mnie
 Ponad 6 lat doświadczenia w
pracy z ETL’ami
 Technologie MS SQL Server,
Pentaho
 Zainteresowania – hurtownie
danych, systemy BI
BIML - sterowane metadanymi tworzenie pakietów SSIS
Katarzyna Bremer
Case study – Migracja danych
 Przeniesienie danych za ok. ostatnie 40 lat do struktur nowego sytemu oraz
systemu CRM
 Ilość tabel w strukturach starego sytemu ok. 700
 Ilość tabel docelowych strukturach nowego systemu sytemu ok. 450
 Diametralnie różne struktury w starym systemie i systemie docelowym
 Niewielka ilość danych źródłowych ok. 10 GB
 Niewielki przyrost danych w systemie źródłowym
BIML - sterowane metadanymi tworzenie pakietów SSIS
Katarzyna Bremer
Zanim zaczniemy
 Co to jest proces ETL (Extract Transform Load)
 Czym jest pakiet SSIS (SQL Server Integration Services)
BIML - sterowane metadanymi tworzenie pakietów SSIS
Source TargetExtract Transform Load
Katarzyna Bremer
SSIS Hello Word
BIML - sterowane metadanymi tworzenie pakietów SSIS
720 linii trudnego w zarządzaniu kodu
Pakiet SSIS .dtsx
Katarzyna Bremer
Dlaczego tworzenie procesów ETL’i w SSIS jest tak kosztowne
 Dużo powtarzalnej pracy podatnej na błędy
 Trudności w zarządzaniu kodem i jego jakością (trudne CR)
 Wprowadzanie zmian jest czasochłonne
 Zmiana zaimplementowanego wzorca po rozpoczęciu
projektu jest praktycznie niemożliwa
 Używanie narzędzi do kontroli wersji jest utrudnione
BIML - sterowane metadanymi tworzenie pakietów SSIS
Katarzyna Bremer
Co to jest BIML (Business Intelligence Markup Language)
 Dialekt XML’a, który umożliwia opis pakietów SSIS i kostek
SSAS
 Pozwala na tworzenie czytelnego i edytowalnego przez
człowieka kodu
BIML - sterowane metadanymi tworzenie pakietów SSIS
BIML/
BIML
Script
Biml
Compiler
Pakiet SSIS
Katarzyna Bremer
BIML - sterowane metadanymi tworzenie pakietów SSIS
Katarzyna Bremer
BIML Script
 Możliwość dodania do BIML’a kodu w C# lub VB
 Możliwość tworzenia wielu różnych pakietów na
podstawie jednego pliku BIML
 Nieograniczona elastyczność w tworzeniu zmian
pakietów w czasie całego życia projektu
BIML - sterowane metadanymi tworzenie pakietów SSIS
Katarzyna Bremer
Case study – Migracja danych
BIML - sterowane metadanymi tworzenie pakietów SSIS
Katarzyna Bremer
BIML - sterowane metadanymi tworzenie pakietów SSIS
Katarzyna Bremer
Case study – Migracja danych
BIML - sterowane metadanymi tworzenie pakietów SSIS
Katarzyna Bremer
BIML - sterowane metadanymi tworzenie pakietów SSIS
Katarzyna Bremer
Migracja Danych - architektura
BIML - sterowane metadanymi tworzenie pakietów SSIS
DB1
DB1
DBn
Source Stage
Production
CRM
SSIS SSIS SSIS
Projekt bazodanowy
Logika biznesowa jest implementowana w procedurach składowanych
Ze względu na niezbyt dużą ilość danych migracja każdorazowo wykonuje się w pełni
Katarzyna Bremer
Case study – Migracja danych
BIML - sterowane metadanymi tworzenie pakietów SSIS
Katarzyna Bremer
Migracja Danych - architektura
BIML - sterowane metadanymi tworzenie pakietów SSIS
DB1
DB1
DBn
Source Stage
Production
CRM
SSIS SSIS SSIS
BIMLBaza metadanych
Projekt bazodanowy
Katarzyna Bremer
Co to jest baza metadanych i co zawiera
 Zawiera metadane, które wykorzystujemy potem w BIML Script
 Połączenia (Connection stringi)
 Definicja metadanych dla każdego budowanego pakietu (jeden
pakiet -jeden wpis)
BIML - sterowane metadanymi tworzenie pakietów SSIS
Podstawowe
połączenie źródłowe
połączenie docelowe
nazwa schematu źródłowego
nazwa schematu docelowego
nazwa obiektu źródłowego
nazwa obiektu docelowego
Dodatkowe
rodzaj pakietu
numer kontenera
truncate tabeli
fast load
identity insert
czy pakiet jest aktywny
rozmiar bufora
Katarzyna Bremer
Co by było gdyby…
BIML - sterowane metadanymi tworzenie pakietów SSIS
Katarzyna Bremer
Narzędzia
 BIDS Helper – bezpłatna wtyczka do Visuala dostępna
na CodePlex
 Mist – płatny
 Biml Express – bezpłatny
 Biml Online – usługa w chmurze w wersji beta
BIML - sterowane metadanymi tworzenie pakietów SSIS
Katarzyna Bremer
Podsumowanie
 BIMLScript umożliwia łatwe i elastyczne budowanie pakietów
 BIML’a na pewno opłaca się przy dużych projektach z duża ilością
powtarzalnych pakietów np. migracje czy ładowanie hurtowni
 Ułatwia zarządzanie kodem i daje większą kontrolę
 Wdrażając BIML’a trzeba się liczyć z dodatkowym nakładem
pracy na zbudowanie frameworka
BIML - sterowane metadanymi tworzenie pakietów SSIS
Katarzyna Bremer
BIML – sterowane metadanymi tworzenie pakietów
SSIS
kbremer@future-processing.com

Mais conteúdo relacionado

Destaque

[FDD 2016] Krzysztof Jendrzyca - Funkcyjny Frontend
[FDD 2016] Krzysztof Jendrzyca - Funkcyjny Frontend[FDD 2016] Krzysztof Jendrzyca - Funkcyjny Frontend
[FDD 2016] Krzysztof Jendrzyca - Funkcyjny FrontendFuture Processing
 
[QE 2015] Mateusz Sulima - Kręta droga do dobrych testów
[QE 2015] Mateusz Sulima - Kręta droga do dobrych testów[QE 2015] Mateusz Sulima - Kręta droga do dobrych testów
[QE 2015] Mateusz Sulima - Kręta droga do dobrych testówFuture Processing
 
[QE 2015] Sam Elamin - Monoliths to microservices - a journey
[QE 2015] Sam Elamin - Monoliths to microservices - a journey[QE 2015] Sam Elamin - Monoliths to microservices - a journey
[QE 2015] Sam Elamin - Monoliths to microservices - a journeyFuture Processing
 
Find out more about LearnUpon's LMS and what it can do for you
Find out more about LearnUpon's LMS and what it can do for youFind out more about LearnUpon's LMS and what it can do for you
Find out more about LearnUpon's LMS and what it can do for youLearnUpon
 
[QE 2015] Grzegorz Gałęzowski - Projektowanie kompozycjonalne – po co (tak na...
[QE 2015] Grzegorz Gałęzowski - Projektowanie kompozycjonalne – po co (tak na...[QE 2015] Grzegorz Gałęzowski - Projektowanie kompozycjonalne – po co (tak na...
[QE 2015] Grzegorz Gałęzowski - Projektowanie kompozycjonalne – po co (tak na...Future Processing
 
العرض
العرضالعرض
العرضhadeel88
 
[Quality Meetup #9] Testowanie w świecie ontologii - A. Ostaszewska-Smykała, ...
[Quality Meetup #9] Testowanie w świecie ontologii - A. Ostaszewska-Smykała, ...[Quality Meetup #9] Testowanie w świecie ontologii - A. Ostaszewska-Smykała, ...
[Quality Meetup #9] Testowanie w świecie ontologii - A. Ostaszewska-Smykała, ...Future Processing
 
Jenkins – przyjaciel każdego testera.
Jenkins – przyjaciel każdego testera.Jenkins – przyjaciel każdego testera.
Jenkins – przyjaciel każdego testera.Future Processing
 
New microsoft office power point presentation (3)
New microsoft office power point presentation (3)New microsoft office power point presentation (3)
New microsoft office power point presentation (3)swpuri319
 
العرض
العرضالعرض
العرضhadeel88
 
العرض
العرضالعرض
العرضhadeel88
 
[QE 2015] Krystian Kaczor - Wymagania w Agile
[QE 2015] Krystian Kaczor - Wymagania w Agile[QE 2015] Krystian Kaczor - Wymagania w Agile
[QE 2015] Krystian Kaczor - Wymagania w AgileFuture Processing
 
Galileo galiliei by daniela garcia
Galileo galiliei by daniela garciaGalileo galiliei by daniela garcia
Galileo galiliei by daniela garciadgarcia0662
 
[FDD 2016] Kamil Dworak - Przetwarzanie danych pomiarowych w tle z wykorzysta...
[FDD 2016] Kamil Dworak - Przetwarzanie danych pomiarowych w tle z wykorzysta...[FDD 2016] Kamil Dworak - Przetwarzanie danych pomiarowych w tle z wykorzysta...
[FDD 2016] Kamil Dworak - Przetwarzanie danych pomiarowych w tle z wykorzysta...Future Processing
 

Destaque (14)

[FDD 2016] Krzysztof Jendrzyca - Funkcyjny Frontend
[FDD 2016] Krzysztof Jendrzyca - Funkcyjny Frontend[FDD 2016] Krzysztof Jendrzyca - Funkcyjny Frontend
[FDD 2016] Krzysztof Jendrzyca - Funkcyjny Frontend
 
[QE 2015] Mateusz Sulima - Kręta droga do dobrych testów
[QE 2015] Mateusz Sulima - Kręta droga do dobrych testów[QE 2015] Mateusz Sulima - Kręta droga do dobrych testów
[QE 2015] Mateusz Sulima - Kręta droga do dobrych testów
 
[QE 2015] Sam Elamin - Monoliths to microservices - a journey
[QE 2015] Sam Elamin - Monoliths to microservices - a journey[QE 2015] Sam Elamin - Monoliths to microservices - a journey
[QE 2015] Sam Elamin - Monoliths to microservices - a journey
 
Find out more about LearnUpon's LMS and what it can do for you
Find out more about LearnUpon's LMS and what it can do for youFind out more about LearnUpon's LMS and what it can do for you
Find out more about LearnUpon's LMS and what it can do for you
 
[QE 2015] Grzegorz Gałęzowski - Projektowanie kompozycjonalne – po co (tak na...
[QE 2015] Grzegorz Gałęzowski - Projektowanie kompozycjonalne – po co (tak na...[QE 2015] Grzegorz Gałęzowski - Projektowanie kompozycjonalne – po co (tak na...
[QE 2015] Grzegorz Gałęzowski - Projektowanie kompozycjonalne – po co (tak na...
 
العرض
العرضالعرض
العرض
 
[Quality Meetup #9] Testowanie w świecie ontologii - A. Ostaszewska-Smykała, ...
[Quality Meetup #9] Testowanie w świecie ontologii - A. Ostaszewska-Smykała, ...[Quality Meetup #9] Testowanie w świecie ontologii - A. Ostaszewska-Smykała, ...
[Quality Meetup #9] Testowanie w świecie ontologii - A. Ostaszewska-Smykała, ...
 
Jenkins – przyjaciel każdego testera.
Jenkins – przyjaciel każdego testera.Jenkins – przyjaciel każdego testera.
Jenkins – przyjaciel każdego testera.
 
New microsoft office power point presentation (3)
New microsoft office power point presentation (3)New microsoft office power point presentation (3)
New microsoft office power point presentation (3)
 
العرض
العرضالعرض
العرض
 
العرض
العرضالعرض
العرض
 
[QE 2015] Krystian Kaczor - Wymagania w Agile
[QE 2015] Krystian Kaczor - Wymagania w Agile[QE 2015] Krystian Kaczor - Wymagania w Agile
[QE 2015] Krystian Kaczor - Wymagania w Agile
 
Galileo galiliei by daniela garcia
Galileo galiliei by daniela garciaGalileo galiliei by daniela garcia
Galileo galiliei by daniela garcia
 
[FDD 2016] Kamil Dworak - Przetwarzanie danych pomiarowych w tle z wykorzysta...
[FDD 2016] Kamil Dworak - Przetwarzanie danych pomiarowych w tle z wykorzysta...[FDD 2016] Kamil Dworak - Przetwarzanie danych pomiarowych w tle z wykorzysta...
[FDD 2016] Kamil Dworak - Przetwarzanie danych pomiarowych w tle z wykorzysta...
 

Mais de Future Processing

DPTO_Inżynieria oprogramowania to proces uczenia się.pdf
DPTO_Inżynieria oprogramowania to proces uczenia się.pdfDPTO_Inżynieria oprogramowania to proces uczenia się.pdf
DPTO_Inżynieria oprogramowania to proces uczenia się.pdfFuture Processing
 
DPTO_QA w świecie wartości biznesowych.pdf
DPTO_QA w świecie wartości biznesowych.pdfDPTO_QA w świecie wartości biznesowych.pdf
DPTO_QA w świecie wartości biznesowych.pdfFuture Processing
 
DPTO_Hello_Clean_Architekture.pdf
DPTO_Hello_Clean_Architekture.pdfDPTO_Hello_Clean_Architekture.pdf
DPTO_Hello_Clean_Architekture.pdfFuture Processing
 
[Quality Meetup #20] Michał Górski - Continuous Deployment w chmurze
[Quality Meetup #20] Michał Górski - Continuous Deployment w chmurze[Quality Meetup #20] Michał Górski - Continuous Deployment w chmurze
[Quality Meetup #20] Michał Górski - Continuous Deployment w chmurzeFuture Processing
 
[Quality Meetup #20] Dorota Tadych - Hyperion - wystarczy jeden shake
[Quality Meetup #20] Dorota Tadych - Hyperion - wystarczy jeden shake[Quality Meetup #20] Dorota Tadych - Hyperion - wystarczy jeden shake
[Quality Meetup #20] Dorota Tadych - Hyperion - wystarczy jeden shakeFuture Processing
 
[Quality Meetup #19] Magdalena Drechsler-Nowak - Tester w pułapce myślenia
[Quality Meetup #19] Magdalena Drechsler-Nowak - Tester w pułapce myślenia[Quality Meetup #19] Magdalena Drechsler-Nowak - Tester w pułapce myślenia
[Quality Meetup #19] Magdalena Drechsler-Nowak - Tester w pułapce myśleniaFuture Processing
 
[Quality Meetup #19] Adrian Gonciarz - Testerska ruletka
[Quality Meetup #19] Adrian Gonciarz - Testerska ruletka[Quality Meetup #19] Adrian Gonciarz - Testerska ruletka
[Quality Meetup #19] Adrian Gonciarz - Testerska ruletkaFuture Processing
 
[FDD 2018] Krzysztof Sikora - Jak Service Fabric rozwiąże twoje problemy z mi...
[FDD 2018] Krzysztof Sikora - Jak Service Fabric rozwiąże twoje problemy z mi...[FDD 2018] Krzysztof Sikora - Jak Service Fabric rozwiąże twoje problemy z mi...
[FDD 2018] Krzysztof Sikora - Jak Service Fabric rozwiąże twoje problemy z mi...Future Processing
 
[FDD 2018] Ł. Turchan, A. Hulist, M. Duchnowski - CUDA - results over coffee ...
[FDD 2018] Ł. Turchan, A. Hulist, M. Duchnowski - CUDA - results over coffee ...[FDD 2018] Ł. Turchan, A. Hulist, M. Duchnowski - CUDA - results over coffee ...
[FDD 2018] Ł. Turchan, A. Hulist, M. Duchnowski - CUDA - results over coffee ...Future Processing
 
[FDD 2018] Lech Kalinowski - Prywatny Blockchain
[FDD 2018] Lech Kalinowski - Prywatny Blockchain[FDD 2018] Lech Kalinowski - Prywatny Blockchain
[FDD 2018] Lech Kalinowski - Prywatny BlockchainFuture Processing
 
[FDD 2018] W. Malara, K. Kotowski - Autoenkodery – czyli zalety funkcji F(X)≈X
[FDD 2018] W. Malara, K. Kotowski - Autoenkodery – czyli zalety funkcji F(X)≈X[FDD 2018] W. Malara, K. Kotowski - Autoenkodery – czyli zalety funkcji F(X)≈X
[FDD 2018] W. Malara, K. Kotowski - Autoenkodery – czyli zalety funkcji F(X)≈XFuture Processing
 
[FDD 2018] Jarosław Ogiegło - Ludzie, zabezpieczajcie się! Wprowadzenie do OA...
[FDD 2018] Jarosław Ogiegło - Ludzie, zabezpieczajcie się! Wprowadzenie do OA...[FDD 2018] Jarosław Ogiegło - Ludzie, zabezpieczajcie się! Wprowadzenie do OA...
[FDD 2018] Jarosław Ogiegło - Ludzie, zabezpieczajcie się! Wprowadzenie do OA...Future Processing
 
[JuraSIC! Meetup] Krzysztof Sikora- Jak Service Fabric rozwiąże twoje problem...
[JuraSIC! Meetup] Krzysztof Sikora- Jak Service Fabric rozwiąże twoje problem...[JuraSIC! Meetup] Krzysztof Sikora- Jak Service Fabric rozwiąże twoje problem...
[JuraSIC! Meetup] Krzysztof Sikora- Jak Service Fabric rozwiąże twoje problem...Future Processing
 
[JuraSIC! Meetup] Mateusz Stasch - Monady w .NET
[JuraSIC! Meetup] Mateusz Stasch - Monady w .NET[JuraSIC! Meetup] Mateusz Stasch - Monady w .NET
[JuraSIC! Meetup] Mateusz Stasch - Monady w .NETFuture Processing
 
[QE 2018] Aleksandra Kornecka – Kognitywne podejście do testowania aplikacji ...
[QE 2018] Aleksandra Kornecka – Kognitywne podejście do testowania aplikacji ...[QE 2018] Aleksandra Kornecka – Kognitywne podejście do testowania aplikacji ...
[QE 2018] Aleksandra Kornecka – Kognitywne podejście do testowania aplikacji ...Future Processing
 
[QE 2018] Adam Stasiak – Nadchodzi React Native – czyli o testowaniu mobilnyc...
[QE 2018] Adam Stasiak – Nadchodzi React Native – czyli o testowaniu mobilnyc...[QE 2018] Adam Stasiak – Nadchodzi React Native – czyli o testowaniu mobilnyc...
[QE 2018] Adam Stasiak – Nadchodzi React Native – czyli o testowaniu mobilnyc...Future Processing
 
[QE 2018] Łukasz Gawron – Testing Batch and Streaming Spark Applications
[QE 2018] Łukasz Gawron – Testing Batch and Streaming Spark Applications[QE 2018] Łukasz Gawron – Testing Batch and Streaming Spark Applications
[QE 2018] Łukasz Gawron – Testing Batch and Streaming Spark ApplicationsFuture Processing
 
[QE 2018] Marek Puchalski – Web Application Security Test Automation
[QE 2018] Marek Puchalski – Web Application Security Test Automation[QE 2018] Marek Puchalski – Web Application Security Test Automation
[QE 2018] Marek Puchalski – Web Application Security Test AutomationFuture Processing
 
[QE 2018] Rob Lambert – How to Thrive as a Software Tester
[QE 2018] Rob Lambert – How to Thrive as a Software Tester[QE 2018] Rob Lambert – How to Thrive as a Software Tester
[QE 2018] Rob Lambert – How to Thrive as a Software TesterFuture Processing
 
[QE 2018] Paul Gerrard – Automating Assurance: Tools, Collaboration and DevOps
[QE 2018] Paul Gerrard – Automating Assurance: Tools, Collaboration and DevOps[QE 2018] Paul Gerrard – Automating Assurance: Tools, Collaboration and DevOps
[QE 2018] Paul Gerrard – Automating Assurance: Tools, Collaboration and DevOpsFuture Processing
 

Mais de Future Processing (20)

DPTO_Inżynieria oprogramowania to proces uczenia się.pdf
DPTO_Inżynieria oprogramowania to proces uczenia się.pdfDPTO_Inżynieria oprogramowania to proces uczenia się.pdf
DPTO_Inżynieria oprogramowania to proces uczenia się.pdf
 
DPTO_QA w świecie wartości biznesowych.pdf
DPTO_QA w świecie wartości biznesowych.pdfDPTO_QA w świecie wartości biznesowych.pdf
DPTO_QA w świecie wartości biznesowych.pdf
 
DPTO_Hello_Clean_Architekture.pdf
DPTO_Hello_Clean_Architekture.pdfDPTO_Hello_Clean_Architekture.pdf
DPTO_Hello_Clean_Architekture.pdf
 
[Quality Meetup #20] Michał Górski - Continuous Deployment w chmurze
[Quality Meetup #20] Michał Górski - Continuous Deployment w chmurze[Quality Meetup #20] Michał Górski - Continuous Deployment w chmurze
[Quality Meetup #20] Michał Górski - Continuous Deployment w chmurze
 
[Quality Meetup #20] Dorota Tadych - Hyperion - wystarczy jeden shake
[Quality Meetup #20] Dorota Tadych - Hyperion - wystarczy jeden shake[Quality Meetup #20] Dorota Tadych - Hyperion - wystarczy jeden shake
[Quality Meetup #20] Dorota Tadych - Hyperion - wystarczy jeden shake
 
[Quality Meetup #19] Magdalena Drechsler-Nowak - Tester w pułapce myślenia
[Quality Meetup #19] Magdalena Drechsler-Nowak - Tester w pułapce myślenia[Quality Meetup #19] Magdalena Drechsler-Nowak - Tester w pułapce myślenia
[Quality Meetup #19] Magdalena Drechsler-Nowak - Tester w pułapce myślenia
 
[Quality Meetup #19] Adrian Gonciarz - Testerska ruletka
[Quality Meetup #19] Adrian Gonciarz - Testerska ruletka[Quality Meetup #19] Adrian Gonciarz - Testerska ruletka
[Quality Meetup #19] Adrian Gonciarz - Testerska ruletka
 
[FDD 2018] Krzysztof Sikora - Jak Service Fabric rozwiąże twoje problemy z mi...
[FDD 2018] Krzysztof Sikora - Jak Service Fabric rozwiąże twoje problemy z mi...[FDD 2018] Krzysztof Sikora - Jak Service Fabric rozwiąże twoje problemy z mi...
[FDD 2018] Krzysztof Sikora - Jak Service Fabric rozwiąże twoje problemy z mi...
 
[FDD 2018] Ł. Turchan, A. Hulist, M. Duchnowski - CUDA - results over coffee ...
[FDD 2018] Ł. Turchan, A. Hulist, M. Duchnowski - CUDA - results over coffee ...[FDD 2018] Ł. Turchan, A. Hulist, M. Duchnowski - CUDA - results over coffee ...
[FDD 2018] Ł. Turchan, A. Hulist, M. Duchnowski - CUDA - results over coffee ...
 
[FDD 2018] Lech Kalinowski - Prywatny Blockchain
[FDD 2018] Lech Kalinowski - Prywatny Blockchain[FDD 2018] Lech Kalinowski - Prywatny Blockchain
[FDD 2018] Lech Kalinowski - Prywatny Blockchain
 
[FDD 2018] W. Malara, K. Kotowski - Autoenkodery – czyli zalety funkcji F(X)≈X
[FDD 2018] W. Malara, K. Kotowski - Autoenkodery – czyli zalety funkcji F(X)≈X[FDD 2018] W. Malara, K. Kotowski - Autoenkodery – czyli zalety funkcji F(X)≈X
[FDD 2018] W. Malara, K. Kotowski - Autoenkodery – czyli zalety funkcji F(X)≈X
 
[FDD 2018] Jarosław Ogiegło - Ludzie, zabezpieczajcie się! Wprowadzenie do OA...
[FDD 2018] Jarosław Ogiegło - Ludzie, zabezpieczajcie się! Wprowadzenie do OA...[FDD 2018] Jarosław Ogiegło - Ludzie, zabezpieczajcie się! Wprowadzenie do OA...
[FDD 2018] Jarosław Ogiegło - Ludzie, zabezpieczajcie się! Wprowadzenie do OA...
 
[JuraSIC! Meetup] Krzysztof Sikora- Jak Service Fabric rozwiąże twoje problem...
[JuraSIC! Meetup] Krzysztof Sikora- Jak Service Fabric rozwiąże twoje problem...[JuraSIC! Meetup] Krzysztof Sikora- Jak Service Fabric rozwiąże twoje problem...
[JuraSIC! Meetup] Krzysztof Sikora- Jak Service Fabric rozwiąże twoje problem...
 
[JuraSIC! Meetup] Mateusz Stasch - Monady w .NET
[JuraSIC! Meetup] Mateusz Stasch - Monady w .NET[JuraSIC! Meetup] Mateusz Stasch - Monady w .NET
[JuraSIC! Meetup] Mateusz Stasch - Monady w .NET
 
[QE 2018] Aleksandra Kornecka – Kognitywne podejście do testowania aplikacji ...
[QE 2018] Aleksandra Kornecka – Kognitywne podejście do testowania aplikacji ...[QE 2018] Aleksandra Kornecka – Kognitywne podejście do testowania aplikacji ...
[QE 2018] Aleksandra Kornecka – Kognitywne podejście do testowania aplikacji ...
 
[QE 2018] Adam Stasiak – Nadchodzi React Native – czyli o testowaniu mobilnyc...
[QE 2018] Adam Stasiak – Nadchodzi React Native – czyli o testowaniu mobilnyc...[QE 2018] Adam Stasiak – Nadchodzi React Native – czyli o testowaniu mobilnyc...
[QE 2018] Adam Stasiak – Nadchodzi React Native – czyli o testowaniu mobilnyc...
 
[QE 2018] Łukasz Gawron – Testing Batch and Streaming Spark Applications
[QE 2018] Łukasz Gawron – Testing Batch and Streaming Spark Applications[QE 2018] Łukasz Gawron – Testing Batch and Streaming Spark Applications
[QE 2018] Łukasz Gawron – Testing Batch and Streaming Spark Applications
 
[QE 2018] Marek Puchalski – Web Application Security Test Automation
[QE 2018] Marek Puchalski – Web Application Security Test Automation[QE 2018] Marek Puchalski – Web Application Security Test Automation
[QE 2018] Marek Puchalski – Web Application Security Test Automation
 
[QE 2018] Rob Lambert – How to Thrive as a Software Tester
[QE 2018] Rob Lambert – How to Thrive as a Software Tester[QE 2018] Rob Lambert – How to Thrive as a Software Tester
[QE 2018] Rob Lambert – How to Thrive as a Software Tester
 
[QE 2018] Paul Gerrard – Automating Assurance: Tools, Collaboration and DevOps
[QE 2018] Paul Gerrard – Automating Assurance: Tools, Collaboration and DevOps[QE 2018] Paul Gerrard – Automating Assurance: Tools, Collaboration and DevOps
[QE 2018] Paul Gerrard – Automating Assurance: Tools, Collaboration and DevOps
 

[FDD 2016] Katarzyna Bremer - BIML - sterowane metadanymi tworzenie pakietów SSIS

  • 1. BIML - sterowane metadanymi tworzenie pakietów SSIS Katarzyna Bremer
  • 2. Katarzyna Bremer O mnie  Ponad 6 lat doświadczenia w pracy z ETL’ami  Technologie MS SQL Server, Pentaho  Zainteresowania – hurtownie danych, systemy BI BIML - sterowane metadanymi tworzenie pakietów SSIS
  • 3. Katarzyna Bremer Case study – Migracja danych  Przeniesienie danych za ok. ostatnie 40 lat do struktur nowego sytemu oraz systemu CRM  Ilość tabel w strukturach starego sytemu ok. 700  Ilość tabel docelowych strukturach nowego systemu sytemu ok. 450  Diametralnie różne struktury w starym systemie i systemie docelowym  Niewielka ilość danych źródłowych ok. 10 GB  Niewielki przyrost danych w systemie źródłowym BIML - sterowane metadanymi tworzenie pakietów SSIS
  • 4. Katarzyna Bremer Zanim zaczniemy  Co to jest proces ETL (Extract Transform Load)  Czym jest pakiet SSIS (SQL Server Integration Services) BIML - sterowane metadanymi tworzenie pakietów SSIS Source TargetExtract Transform Load
  • 5. Katarzyna Bremer SSIS Hello Word BIML - sterowane metadanymi tworzenie pakietów SSIS 720 linii trudnego w zarządzaniu kodu Pakiet SSIS .dtsx
  • 6. Katarzyna Bremer Dlaczego tworzenie procesów ETL’i w SSIS jest tak kosztowne  Dużo powtarzalnej pracy podatnej na błędy  Trudności w zarządzaniu kodem i jego jakością (trudne CR)  Wprowadzanie zmian jest czasochłonne  Zmiana zaimplementowanego wzorca po rozpoczęciu projektu jest praktycznie niemożliwa  Używanie narzędzi do kontroli wersji jest utrudnione BIML - sterowane metadanymi tworzenie pakietów SSIS
  • 7. Katarzyna Bremer Co to jest BIML (Business Intelligence Markup Language)  Dialekt XML’a, który umożliwia opis pakietów SSIS i kostek SSAS  Pozwala na tworzenie czytelnego i edytowalnego przez człowieka kodu BIML - sterowane metadanymi tworzenie pakietów SSIS BIML/ BIML Script Biml Compiler Pakiet SSIS
  • 8. Katarzyna Bremer BIML - sterowane metadanymi tworzenie pakietów SSIS
  • 9. Katarzyna Bremer BIML Script  Możliwość dodania do BIML’a kodu w C# lub VB  Możliwość tworzenia wielu różnych pakietów na podstawie jednego pliku BIML  Nieograniczona elastyczność w tworzeniu zmian pakietów w czasie całego życia projektu BIML - sterowane metadanymi tworzenie pakietów SSIS
  • 10. Katarzyna Bremer Case study – Migracja danych BIML - sterowane metadanymi tworzenie pakietów SSIS
  • 11. Katarzyna Bremer BIML - sterowane metadanymi tworzenie pakietów SSIS
  • 12. Katarzyna Bremer Case study – Migracja danych BIML - sterowane metadanymi tworzenie pakietów SSIS
  • 13. Katarzyna Bremer BIML - sterowane metadanymi tworzenie pakietów SSIS
  • 14. Katarzyna Bremer Migracja Danych - architektura BIML - sterowane metadanymi tworzenie pakietów SSIS DB1 DB1 DBn Source Stage Production CRM SSIS SSIS SSIS Projekt bazodanowy Logika biznesowa jest implementowana w procedurach składowanych Ze względu na niezbyt dużą ilość danych migracja każdorazowo wykonuje się w pełni
  • 15. Katarzyna Bremer Case study – Migracja danych BIML - sterowane metadanymi tworzenie pakietów SSIS
  • 16. Katarzyna Bremer Migracja Danych - architektura BIML - sterowane metadanymi tworzenie pakietów SSIS DB1 DB1 DBn Source Stage Production CRM SSIS SSIS SSIS BIMLBaza metadanych Projekt bazodanowy
  • 17. Katarzyna Bremer Co to jest baza metadanych i co zawiera  Zawiera metadane, które wykorzystujemy potem w BIML Script  Połączenia (Connection stringi)  Definicja metadanych dla każdego budowanego pakietu (jeden pakiet -jeden wpis) BIML - sterowane metadanymi tworzenie pakietów SSIS Podstawowe połączenie źródłowe połączenie docelowe nazwa schematu źródłowego nazwa schematu docelowego nazwa obiektu źródłowego nazwa obiektu docelowego Dodatkowe rodzaj pakietu numer kontenera truncate tabeli fast load identity insert czy pakiet jest aktywny rozmiar bufora
  • 18. Katarzyna Bremer Co by było gdyby… BIML - sterowane metadanymi tworzenie pakietów SSIS
  • 19. Katarzyna Bremer Narzędzia  BIDS Helper – bezpłatna wtyczka do Visuala dostępna na CodePlex  Mist – płatny  Biml Express – bezpłatny  Biml Online – usługa w chmurze w wersji beta BIML - sterowane metadanymi tworzenie pakietów SSIS
  • 20. Katarzyna Bremer Podsumowanie  BIMLScript umożliwia łatwe i elastyczne budowanie pakietów  BIML’a na pewno opłaca się przy dużych projektach z duża ilością powtarzalnych pakietów np. migracje czy ładowanie hurtowni  Ułatwia zarządzanie kodem i daje większą kontrolę  Wdrażając BIML’a trzeba się liczyć z dodatkowym nakładem pracy na zbudowanie frameworka BIML - sterowane metadanymi tworzenie pakietów SSIS
  • 21. Katarzyna Bremer BIML – sterowane metadanymi tworzenie pakietów SSIS kbremer@future-processing.com