SlideShare a Scribd company logo
SCD Wizard w SSIS
To nie do końca dobry pomysł
103. Spotkanie PLSSUG Warszawa, 09.02.2017.
Bartosz Ratajczyk
Konsultant SQL Server
Programista baz danych i aplikacji
Prelegent
MCSE: Data Platform, MCT
http://bartekr.net | b.ratajczyk@gmail.com
SCD – Slowly Changing Dimension
• Mechanizm używany do wolno-zmiennych tabel, głównie wymiarów
• Kilka typów, z czego najbardziej popularne:
• SCD 0 == nie interesują nas zmiany, pierwsza wersja zawsze najlepsza
• SCD 1 == interesuje nas zawsze ostatnia wersja, najlepsze są tylko aktualne
dane
• SCD2 == interesuje nas każda zmiana – na tyle, że odkładamy każdą zmianę w
oddzielnym rekordzie
• SCD3 == interesuje nas każda zmiana, ale trzymamy tylko obecną i ostatnią
wersję – do tego każda kolumna ma swoją siostrzaną kolumnę z poprzednią
wartością
Główny aktor wieczoru
Standardy nazewnictwa
http://sqlblog.com/blogs/jamie_thomson/archive/2012/01/29/suggested-
best-practises-and-naming-conventions.aspx
http://microsoft-ssis.blogspot.com/2016/12/ssis-naming-conventions.html
SCD Wizard
SCD 1
SCD2
Główna wada komponentu SCD
https://connect.microsoft.com/SQLServer/feedback/details/632052/ssis-slowly-changing-dimension-scd-component-performance-unusably-slow
Alternatywy
• Własna logika zasilania oparta o tabelę pomocniczą
• MERGE do obsługi SCD
• SCD Wizard pomaga utworzyć polecenia MERGE dla SCD0 – SCD3
• http://scdmergewizard.codeplex.com/

More Related Content

More from Bartosz Ratajczyk

Podstawy ETL z SSIS
Podstawy ETL z SSISPodstawy ETL z SSIS
Podstawy ETL z SSIS
Bartosz Ratajczyk
 
XML w SQL Server w praktyce
XML w SQL Server w praktyceXML w SQL Server w praktyce
XML w SQL Server w praktyce
Bartosz Ratajczyk
 
Jak szybko przetwarzasz hurtowe ilości XML?
Jak szybko przetwarzasz hurtowe ilości XML?Jak szybko przetwarzasz hurtowe ilości XML?
Jak szybko przetwarzasz hurtowe ilości XML?
Bartosz Ratajczyk
 
Operacje minimalnie logowane
Operacje minimalnie logowaneOperacje minimalnie logowane
Operacje minimalnie logowane
Bartosz Ratajczyk
 
Po co mi Temporal Tables?
Po co mi Temporal Tables?Po co mi Temporal Tables?
Po co mi Temporal Tables?
Bartosz Ratajczyk
 
Co to te CTE?
Co to te CTE?Co to te CTE?
Co to te CTE?
Bartosz Ratajczyk
 
O co chodzi z FILESTREAM?
O co chodzi z FILESTREAM?O co chodzi z FILESTREAM?
O co chodzi z FILESTREAM?
Bartosz Ratajczyk
 
Alerty WMI
Alerty WMIAlerty WMI
Alerty WMI
Bartosz Ratajczyk
 
Czy mi się przyda hierarchyid?
Czy mi się przyda hierarchyid?Czy mi się przyda hierarchyid?
Czy mi się przyda hierarchyid?
Bartosz Ratajczyk
 

More from Bartosz Ratajczyk (9)

Podstawy ETL z SSIS
Podstawy ETL z SSISPodstawy ETL z SSIS
Podstawy ETL z SSIS
 
XML w SQL Server w praktyce
XML w SQL Server w praktyceXML w SQL Server w praktyce
XML w SQL Server w praktyce
 
Jak szybko przetwarzasz hurtowe ilości XML?
Jak szybko przetwarzasz hurtowe ilości XML?Jak szybko przetwarzasz hurtowe ilości XML?
Jak szybko przetwarzasz hurtowe ilości XML?
 
Operacje minimalnie logowane
Operacje minimalnie logowaneOperacje minimalnie logowane
Operacje minimalnie logowane
 
Po co mi Temporal Tables?
Po co mi Temporal Tables?Po co mi Temporal Tables?
Po co mi Temporal Tables?
 
Co to te CTE?
Co to te CTE?Co to te CTE?
Co to te CTE?
 
O co chodzi z FILESTREAM?
O co chodzi z FILESTREAM?O co chodzi z FILESTREAM?
O co chodzi z FILESTREAM?
 
Alerty WMI
Alerty WMIAlerty WMI
Alerty WMI
 
Czy mi się przyda hierarchyid?
Czy mi się przyda hierarchyid?Czy mi się przyda hierarchyid?
Czy mi się przyda hierarchyid?
 

SCD Wizard w SSIS to nie do końca dobry pomysł