170 likes | 348 Views
Slowly changing dimension w SSIS. Karol Kuryło karol@kurylo.net. 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
E N D
Slowlychangingdimension w SSIS Karol Kuryło karol@kurylo.net
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
SCD Type 2 • Tworzy nowy rekord • Stary oznacza jako nieaktualny • Nieograniczona historia
SCD Type 3 • Wykorzystanie dodatkowych kolumn na dane historyczne • Historia ograniczona do liczby dodatkowych kolumn
Metody implementacji DEMO
SCD Wizard • Standardowy komponent SSIS • Wolny • Niewielka możliwość konfiguracji • Case sensitive, trailingspacessensitive • 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
CheksumTransformation • Dużo szybszy niż SCD Wizard • Wspierane algorytmy: • Originalchecksum – 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/
MultipleHash • 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/
DimensionMerge 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ę! karol@kurylo.net