BIML ma zastosowanie wszędzie tam, gdzie tworzymy bardzo dużo podobnych do siebie pakietów SSIS, czyli głównie w dużych projektach migracji danych oraz projektach ładowania hurtowni danych. Na podstawie doświadczeń przy migracji danych w projekcie North, Katarzyna wyjaśniła czym jest BIML i jaka stoi za nim idea. Opowiedziała także czym jest framework ETL sterowany metadanymi oraz jakimi narzędziami do budowania pakietów dysponuje, pokazała co umożliwia bezpłatny BIDS Helper oraz płatny MIST.
Przedstawiła też napotkane trudności w zarządzaniu metadanymi oraz niedoskonałości narzędzi, których używa do budowania pakietów.
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
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
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
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
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