Upload
analyticsconf
View
182
Download
5
Embed Size (px)
Citation preview
Hurtownie dla DBAPLSSUG Trójmiasto – 23.02.2016
Przemysław Dzierżak
Cel prezentacji
• Składowe hurtowni danych i ich zadania
• Różnice pomiędzy hurtowniami a systemami transakcyjnymi
O mnie• „Hurtownik”
• Wcześniej programista C#• Praktycznie, automatycznie, prosto• Zwolennik LEAN / Agile
Co to hurtownia danych?• Baza danych• O specyficznej budowie• Przeznaczenie analizy i raportowanie
Zwykle:• Łączy wiele źródeł danych• Ujednolica dane• Dane historyczne
Budowa hurtowniDla osób bez licencji na wózki widłowe ;)
Dobowy cykl życia hurtowni
Używanie(SELECT)
Ładowane(INSERT)
Model danych• Fakt – co liczymy?
(SUM, AVG, COUNT…)• Liczba zamówień• Wartość sprzedaży
• Wymiar – wg czego?(GROUP BY)• Daty• Położenia klienta• Oddziału• …
Model danych – gwiazda
Modeldanych – płatek śniegu
Hurtownia vs kostka
Baza o specyficznej strukturzei specyficznym sposobie użycia
Kostka – fragment hurtowni
Hurtownia i kostka - narzędzia• Hurtownia:• MSSQL
• Kostki:• MSSQL• SSAS• QlikView itp.
Zasilanie hurtowni
Budowa procesu E – T – L
FK, Magazyn, Kadry
CallCenter
Budżet
Extract Transform Load
HurtowniaBaza pośrednia(Stage)
Baza pośrednia(OLTP Mirror)
Proces ETL - narzędzia• Dedykowane narzędzia (SSIS, OWB, … Data Integration, …)• SQL• BCPY, usługi replikacyjne, backup/restore• Programy/skrypty
Specyfika działania hurtowni
ETL dla DBA• Nowe narzędzie SSIS• Kopiowanie dużych wolumenów danych• Okienko czasowe w nocy• Uprawnienia w systemach źródłowych i między systemami (hurtownia
– system OLTP)
Baza hurtowniana• Duża baza• Przemyślenie scenariusza backupu
• Przekrojowe zapytania (SELECT … GROUP BY…)• Brak zakleszczeń
• Rozważenie RecoveryModel = SIMPLE (min. bazy pośrednie)
Indeksowanie hurtowni• Czas ładowania vs. czas zapytań• Wymiary:• Identyfikatory z systemów źródłowych: clustered• Identyfikatory sztuczne – hurtowni: nonclustered• Ew. często używane parametry: nonclustered
• Fakty:• Czas (duże fakty – dobry kandydat na partycje)• Na najczęstszych przecięciach
• ColumnStore Index!• Kompresja
Indeksowanie baz pośrednich• Zapytania wykonywane raz na ładowanie – często nie warto
indeksować• Skoordynowane z logiką ETL
Co gdy hurtowni nie ma?…a biznes jest
Rozproszone środowisko raportowe• 500 tabel• 300 skryptów SQL
• Wiele wersji prawdy• Utrzymanie?
Sprzedaż, raport dla X
Sprzedaż, raport dla Y
Raport HR
Raport dla prezesa
Sprzedaż, nowy raport
Call Center, wydajność
Call Center, premie
HR, rotacja
Marketing, kampanie
…
Mini - hurtownia• Jedna tabela z mnóstwem kolumn
Niby ok, ale:• Tylko jedna granularność• Kopiowanie danych opisowych• Problem gdy się rozrasta
Kwota Marża 1
Marża 2
Data sprzedaży
Data zakupu
Klient Miasto klienta
Kod poczt
Oddział Sprzedawca
Podsumowanie• Budowa hurtowni• ETL• Specyfika hurtowni• Strategie indeksowania
Pytania ?
Dziękuję za uwagęPrzemysław Dzierż[email protected]