Przemysław Dzierżak: Hurtownie dla DBA

Post on 15-Apr-2017

182 views 5 download

Transcript of Przemysław Dzierżak: Hurtownie dla DBA

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żakprzemyslaw@dzierzak.eu