link do mojej prezentacji

Download Report

Transcript link do mojej prezentacji

Slowly changing dimension w
SSIS
Karol Kuryło
[email protected]
Agenda
•
•
•
•
•
Co to jest wymiar ?
Co to jest wymiar SCD ?
Typy wymiarów SCD
Metody implementacji w SSIS
Demo
Co to jest wymiar
Wymiar pozwala grupować, filtrować i nazywać
fakty, np.:
• Wymiar Pracownik
• Wymiar Produkt
• Wymiar Region
• Wymiar Czas
Każdy wymiar posiada atrybuty np. w przypadku
wymiaru pracownika mogą to być:
• Imię
• Nazwisko
• Oddział
• Płeć
Co to jest wymiar SCD
• To wymiary zawierające atrybuty zmieniające się
w czasie
• Wymiary gdzie atrybuty zmieniają się bardzo
często, dynamiczne, w regularnych interwałach
czasowych to nie jest SCD.
Typy wymiarów SCD
•
•
•
•
•
•
Typ 0 – bez zmian
Typ 1 – zmiany są nadpisywanie
Typ 2 – dodanie nowego wiersza, oznaczenie starego
Typ 3 – wykorzystanie dodatkowej kolumny w tabeli
Typ 4 – dodatkowa tabela z danymi historycznymi
Hybrydy
SCD Type 1
• Nadpisuje stare dane nowymi
• Brak historii
ID
Numer_pracownika
Imie
Nazwisko
Miasto
Plec
1
U101
Adam
Kowalski
Warszawa
M
2
U102
Barbara
Nowak
Krakow
K
ID
Numer_pracownika
Imie
Nazwisko
Miasto
Plec
1
U101
Adam
Kowalski
Warszawa
M
2
U102
Barbara
Kowalska
Warszawa
K
SCD Type 2
• Tworzy nowy rekord
• Stary oznacza jako nieaktualny
• Nieograniczona historia
ID
Numer_pracownika
Imie
Nazwisko
Miasto
Plec IsCurrent
1
U101
Adam
Kowalski
Warszawa
M
1
2
U102
Barbara
Nowak
Krakow
K
1
ID
Numer_pracownika
Imie
Nazwisko
Miasto
Plec IsCurrent
1
U101
Adam
Kowalski
Warszawa
M
1
2
U102
Barbara
Nowak
Krakow
K
0
3
U102
Barbara
Kowalska
Warszawa
K
1
SCD Type 2
ID
Numer_pracownika Imie
Nazwisko Miasto
Plec DateFrom
DateTo
1
U101
Adam
Kowalski
Warszawa
M
2001-01-01
9999-12-31
2
U102
Barbara
Nowak
Krakow
K
2001-01-01
9999-12-31
ID
Numer_pracownika Imie
Nazwisko Miasto
Plec DateFrom
DateTo
1
U101
Adam
Kowalski
Warszawa
M
2001-01-01
9999-12-31
2
U102
Barbara
Nowak
Krakow
K
2001-01-01
2011-02-01
3
U102
Barbara
Kowalska
Warszawa
K
2011-02-02
9999-12-31
SCD Type 2 & Type 1
ID
Numer_pracownika Imie
Nazwisko Miasto
1
U101
Adam
2
U102
Barbara Nowak
ID
Numer_pracownika Imie
Kowalski
U101
Adam
2
U102
Barbara Nowak
3
U102
ID
DateTo
1
2001-01-01
9999-12-31
Krakow
0
2001-01-01
2011-02-01
M
Plec IsCurrent
DateFrom
DateTo
Warszawa M
1
2001-01-01
9999-12-31
Krakow
M
0
2001-01-01
2011-02-01
Barbara Kowalska Warszawa M
1
2011-02-02
9999-12-31
Numer_pracownika Imie
Kowalski
DateFrom
Warszawa M
Nazwisko Miasto
1
Plec IsCurrent
Nazwisko Miasto
1
U101
Adam
Kowalski
2
U102
Barbara Nowak
3
U102
Plec IsCurrent
DateFrom
DateTo
Warszawa M
1
2001-01-01
9999-12-31
Krakow
M
0
2001-01-01
2011-02-01
Barbara Kowalska Warszawa K
1
2011-02-02
9999-12-31
SCD Type 3
• Wykorzystanie dodatkowych kolumn na dane historyczne
• Historia ograniczona do liczby dodatkowych kolumn
ID
Numer_pracownika
Imie
Nazwisko
Miasto
Plec Miasto_archiw
1
U101
Adam
Kowalski
Warszawa
M
2
U102
Barbara
Nowak
Krakow
K
ID
Numer_pracownika
Imie
Nazwisko
Miasto
Plec Miasto_archiw
1
U101
Adam
Kowalski
Warszawa
M
2
U102
Barbara
Nowak
Warszawa
K
Krakow
Metody implementacji
DEMO
SCD Wizard
•
•
•
•
•
•
•
•
•
Standardowy komponent SSIS
Wolny
Niewielka możliwość konfiguracji
Case sensitive, trailing spaces sensitive
Próba ponownego uruchomienia wizarda – zupełnie
niszczy dotychczasowy data flow
Nie wspiera generowania kluczy podstawowych
Domyślnie wstawia NULL w pole daty wygaśnięcia
rekordu
(zmiana tego i ponowne uruchomienie wizarda, niszczy
data flow)
Nie można oznaczyć usuniętych wierszy
Merge
• Dużo szybszy niż SCD Wizard
• Elastyczny
• Mało przejrzysty w konfiguracji
Cheksum Transformation
Dużo szybszy niż SCD Wizard
Wspierane algorytmy:
• Original checksum – depreciated od SQL 2005 RTM
• .Net Framework Cheksum – różne wartości na
systemach 32/64 bitowych
• CRC32 – domyślny (problemy z unikalnością)
Do ściągnięcia:
http://www.sqlis.com/sqlis/
Multiple Hash
• Dużo szybszy niż SCD WIzard
• Wspierane algorytmy:
• MD5,
• SHA1,
• SHA256,
• SHA384,
• SHA512
• Możliwość generowania kilku skrótów w jednej
transformacji
Do ściągnięcia:
http://ssismhash.codeplex.com/
Dimension Merge SCD
•
•
•
•
Dużo szybszy niż SCD Wizard
Stanowczo najbardziej rozbudowane narzędzie
Szybki, bardzo dużo opcji
Na początku może być trudny w konfiguracji
Do ściagnięcia:
http://dimensionmergescd.codeplex.com/
Dziękuję za uwagę!
[email protected]