SlideShare une entreprise Scribd logo
1  sur  25
Data Vault w chmurze
IMPLEMENTACJA MODELU NA PRZYKŁADZIE REDSHIFT
Adrian Najczuk, dBConf 2015
1
O mnie
DW&BI LEADER
IMPLEMENTACJE DW&BI W OPARCIU O IBM COGNOS/DB2 I REDSHIFT
TRENER BI
BIZ DEV MANAGER
2
najczuk@gmail.com
https://pl.linkedin.com/in/najczuk
Agenda
1. Wprowadzenie – czym jest HD i DV
2. Benchmark TPC H
3. Implementacja
1. Huby
2. Linki
3. Satelity
4. DV 2.0
3
Czym jest Hurtownia Danych (HD)
Dane w przedsiębiorstwie są rozproszone
◦ aplikacje, pliki, webservice’y, maile, ludzie
HD to miejsce, w którym wszystkie te źródła są integrowane
Dzięki HD z danych mogą korzystać użytkownicy biznesowi
HD nie obciążają systemów transakcyjnych
4
• Analiza
• OczyszczanieŹródła
• Oczyszczanie
• ŁączenieStaging
• Raporty
• Analizy
• Data Marts
• Report Marts
• Kostki
Data
Acces
Data Vault – Metodologia
Konflikt danych w
systemie a informacji
biznesowych
5
Zmienność reguł
biznesowych
Zmienność systemów
SAT
Data Vault – Model
6
HUB
LINK
LINKSAT
SAT
SAT
SAT
HUBLINK
LINK
SATSAT
SAT
Data Vault - Architektura
7
AnalizaŹródła CleansingStaging
• Data Vault
• Business
Vault
EDW
• Raporty
• Analizy
• Data Marts
• Report
Marts
• Kostki
Data
Access
Benchmark TPC H
PART - 200 000
PARTSUPP – 800 000
SUPPLIER – 10 000
CUSTOMER – 150 000
NATION – 25
LINEITEM – 6 000 000
ORDERS – 1 500 000
8
Implementacja
9
4 generyczne skrypty
w Talend
konfiguracja w oparciu
o tabele pomocnicze
Amazon Redshift
bezobsługowe
wersjonowanie
danych
nazewnictwo wg
standardów
Amazon S3
Hub - konfiguracja
hub_params
id identyfikator wpisu
rsrc źródło pochodzenia
danych
hub_name nazwa huba
source_business_key nazwa kolumny z
kluczem biznesowym
source_schema_name nazwa schemy w
obrębie stagingu
source_table_name nazwa tabeli w stagingu
10
Dane z różnych warstw (STG, EDW, …)
znajdują się na tym samym klastrze.
Hub – przykład encji
11
dv.hub_customer
customer_sqn klucz
sekwencyjny
customer_ldts czas przybycia
customer_ledts czas odejścia
customer_rsrc id źródła
customer_id klucz biznesowy
dv_helpers.hub_params
id 1
rsrc TPC
hub_name customer
source_business_key c_custkey
source_schema_name tpc
source_table_name customer
Hub – kroki ładowania
Params
Pobierz parametry
Przybycie
Dopisz rekordy, których
klucz biznesowy
(customer_id) nie
występuje lub
występuje z datą
odejścia
(customer_ledts)
Odejścia
Sprawdź co jest w hubie
a brakuje w źródle
12
Hub - timelaps
13
dv.hub_customer t1 t2 t3
dodano usunięto dodano
customer_sqn 1 1 3
customer_ldts t1 t1 t3
customer_ledts t2
customer_rsrc TPC TPC TPC
customer_id 20 20 20
Sat - konfiguracja
sat_params
id identyfikator wpisu
rsrc źródło pochodzenia
danych
sat_name nazwa satelity
hub_name nazwa huba
source_business_key nazwa kolumny z
kluczem biznesowym
source_schema_name nazwa schemy w
obrębie stagingu
source_table_name nazwa tabeli w stagingu
14
Wariant dedykowany dla satelit
pochodzących z jednej tabeli systemu
źródłowego
Sat – przykład encji
15
dv.sat_customer
customer_sqn/
customer_hkey
123
customer_ldts czas przybycia
customer_ledts czas odejścia
customer_rsrc id źródła
customer_hash hash z atrybutów
opisowych
atrybut 1-n atrybuty opisowe
dv_helpers.sat_params
id 5
rsrc TPC
sat_name customer
hub_name customer
source_business_key c_custkey
source_schema_name tpc
source_table_name customer
dv_helpers.sat_cols
id 5 5
source_col name surname
target_col name surname
order 1 2
Sat – kroki ładowania
Przybycie
Pobierz rekordy dla
których
- nie występuje
customer_id,
- występuje z
customer_ledts
- customer_hash różni
się
Zrzut
Zapisz przy pomocy
polecenia UNLOAD
rekody na S3
Zaimportuj regordy
przy pomocy COPY na
S3
Aktualizacja
Dla zdublowanych
rekordów ustaw
customer_ledts dla
starszego.
- stwórz tmp_table dla
starszych
- usun te rekordy z sat
- wstaw z temp_table
Usunięcia
Dla rekordów, które
znikły
przeprowadzamy
podobną procedurę
jak w przypadku
aktualizacji
16
Sat - timelaps
17
dv.sat_customer t1 t2 t3
dodano zmieniono usunięto
customer_sqn 1 1 1 1
customer_ldts t1 t1 t2 t2
customer_ledts t2 – 1sec t3
customer_rsrc TPC TPC TPC TPC
customer_hash hash1 hash1 hash2 hash2
atrybut 1-n {a,b,c} {a,b,c} {a,b,x} {a,b,x}
Lnk - konfiguracja
lnk_params
id identyfikator wpisu
rsrc źródło pochodzenia
danych
lnk_name nazwa linka
hub1_name nazwa huba 1
col_name_1 nazwa kolumny
docelowej
…
source_sql_query Zapytanie wyciągające
potrzebne klucze
has_business_key jeżeli true wstawiamy
pierwszą wartość z
zapytania jako id
hubs_no ilość hub’ów
18
Domyślnie skonfigurowany pod
maksymalnie n hub’ów, ale można
pokusić się o generalizację
Lnk – przykład encji
19
dv.lnk_customer_order
customer_order_hkey hash z {hub1_sqn,…}
customer_order_ldts czas przybycia
customer_order_ledts czas odejścia
customer_order_rsrc id źródła
{hub1_sqn,…} sqn’y hubów
customer_order_id klucz biznesowy relacji,
jeżeli istnieje
lnk_params
id 4
rsrc TPC
lnk_name customer_order
hub1_name customer
col_name_1 customer
hub1_name order
col_name_1 order
source_sql_query
has_business_key 0
hubs_no 2
Lnk – kroki ładowania
Przybycie
Pobierz rekordy dla których
- nie występuje
customer_order_hkey/
customer_order_id,
- występuje z
customer_order_ledts
Zrzut
Zapisz przy pomocy
polecenia UNLOAD rekordy
na S3
Zaimportuj rekordy przy
pomocy COPY na S3
Usunięcia
Dla zdublowanych hkey
ustaw customer_order_ledts
dla starszego
- stwórz tmp_table dla
starszych
- usuń te rekordy z lnk
- wstaw z rekordy
temp_table
20
Lnk - timelaps
21
dv.lnk_customer_order t1 t2
dodano usunięto
customer_order_hkey hash1 hash1
customer_order_ldts t1 t1
customer_order_ledts t2
customer_order_rsrc TPC TPC
customer_sqn 4 4
order_sqn 5 5
DV 2.0
22
eliminacja SQN na
rzecz HKEY
wparcie NoSQL
klucze kompozytowe
w HUB
usunięcie LEDTS z
linków na rzecz satelit
realtime z
wykorzystaniem ESB
Źródła
23
PYTANIA?
24
25

Contenu connexe

Similaire à Data Vault w chmurze

Gemini Cloud - Salesforce.com
Gemini Cloud - Salesforce.comGemini Cloud - Salesforce.com
Gemini Cloud - Salesforce.com
Maciej Morawski
 
Poland- Smart Client Technology - MTS 2005
Poland- Smart Client Technology - MTS 2005Poland- Smart Client Technology - MTS 2005
Poland- Smart Client Technology - MTS 2005
Tomasz Cieplak
 
VirtualStudy.pl - Czwartki z BI - Reporting Services
VirtualStudy.pl - Czwartki z BI - Reporting ServicesVirtualStudy.pl - Czwartki z BI - Reporting Services
VirtualStudy.pl - Czwartki z BI - Reporting Services
SSAS.PL
 
Zastosowania systemu BCC ECM
Zastosowania systemu BCC ECMZastosowania systemu BCC ECM
Zastosowania systemu BCC ECM
BCC_Group
 

Similaire à Data Vault w chmurze (20)

GET.NET - Osiołkowi w żłobie dano, czyli o tym jak hostować aplikacje na Mic...
GET.NET -  Osiołkowi w żłobie dano, czyli o tym jak hostować aplikacje na Mic...GET.NET -  Osiołkowi w żłobie dano, czyli o tym jak hostować aplikacje na Mic...
GET.NET - Osiołkowi w żłobie dano, czyli o tym jak hostować aplikacje na Mic...
 
Zarządzanie użytkownikami i komputerami w firmie - dlaczego warto znać Active...
Zarządzanie użytkownikami i komputerami w firmie - dlaczego warto znać Active...Zarządzanie użytkownikami i komputerami w firmie - dlaczego warto znać Active...
Zarządzanie użytkownikami i komputerami w firmie - dlaczego warto znać Active...
 
Gemini Cloud - Salesforce.com
Gemini Cloud - Salesforce.comGemini Cloud - Salesforce.com
Gemini Cloud - Salesforce.com
 
SOLIDWORKS 2016 Enterprise PDM
SOLIDWORKS 2016 Enterprise PDMSOLIDWORKS 2016 Enterprise PDM
SOLIDWORKS 2016 Enterprise PDM
 
Windows Serwer 2012 R2 licencjonowanie
Windows Serwer 2012 R2 licencjonowanieWindows Serwer 2012 R2 licencjonowanie
Windows Serwer 2012 R2 licencjonowanie
 
SOLIDWORKS system 3d cad
SOLIDWORKS system 3d cadSOLIDWORKS system 3d cad
SOLIDWORKS system 3d cad
 
Nowa wersja systemu - upgrade czy re-implementacja
Nowa wersja systemu - upgrade czy re-implementacjaNowa wersja systemu - upgrade czy re-implementacja
Nowa wersja systemu - upgrade czy re-implementacja
 
Roman Czarko-Wasiutycz- Projektowanie baz danych
Roman Czarko-Wasiutycz- Projektowanie baz danychRoman Czarko-Wasiutycz- Projektowanie baz danych
Roman Czarko-Wasiutycz- Projektowanie baz danych
 
Poland- Smart Client Technology - MTS 2005
Poland- Smart Client Technology - MTS 2005Poland- Smart Client Technology - MTS 2005
Poland- Smart Client Technology - MTS 2005
 
SOLIDWORKS, SWOOD oraz ALPHACM dla meblarstwa.
SOLIDWORKS, SWOOD oraz ALPHACM dla meblarstwa.SOLIDWORKS, SWOOD oraz ALPHACM dla meblarstwa.
SOLIDWORKS, SWOOD oraz ALPHACM dla meblarstwa.
 
Czwartki z bi - Reporting Services - podstawy
Czwartki z bi - Reporting Services - podstawyCzwartki z bi - Reporting Services - podstawy
Czwartki z bi - Reporting Services - podstawy
 
VirtualStudy.pl - Czwartki z BI - Reporting Services
VirtualStudy.pl - Czwartki z BI - Reporting ServicesVirtualStudy.pl - Czwartki z BI - Reporting Services
VirtualStudy.pl - Czwartki z BI - Reporting Services
 
Impuls EVO rozgrzewa
Impuls EVO rozgrzewaImpuls EVO rozgrzewa
Impuls EVO rozgrzewa
 
Impuls EVO rozgrzewa
Impuls EVO rozgrzewaImpuls EVO rozgrzewa
Impuls EVO rozgrzewa
 
Start z TaskCentre®
Start z TaskCentre®Start z TaskCentre®
Start z TaskCentre®
 
Zastosowania systemu BCC ECM
Zastosowania systemu BCC ECMZastosowania systemu BCC ECM
Zastosowania systemu BCC ECM
 
[#4] spark - IBM Integrated Analytics System
[#4] spark - IBM Integrated Analytics System[#4] spark - IBM Integrated Analytics System
[#4] spark - IBM Integrated Analytics System
 
Drupal jako modularny i rozszerzalny CMS [PL]
Drupal jako modularny i rozszerzalny CMS [PL]Drupal jako modularny i rozszerzalny CMS [PL]
Drupal jako modularny i rozszerzalny CMS [PL]
 
"Administrator z przypadku" - Jak działa SQL Server i jak o niego dbać
"Administrator z przypadku" - Jak działa SQL Server i jak o niego dbać"Administrator z przypadku" - Jak działa SQL Server i jak o niego dbać
"Administrator z przypadku" - Jak działa SQL Server i jak o niego dbać
 
Penn Troy - SOLIDWORKS
Penn Troy - SOLIDWORKSPenn Troy - SOLIDWORKS
Penn Troy - SOLIDWORKS
 

Data Vault w chmurze

  • 1. Data Vault w chmurze IMPLEMENTACJA MODELU NA PRZYKŁADZIE REDSHIFT Adrian Najczuk, dBConf 2015 1
  • 2. O mnie DW&BI LEADER IMPLEMENTACJE DW&BI W OPARCIU O IBM COGNOS/DB2 I REDSHIFT TRENER BI BIZ DEV MANAGER 2 najczuk@gmail.com https://pl.linkedin.com/in/najczuk
  • 3. Agenda 1. Wprowadzenie – czym jest HD i DV 2. Benchmark TPC H 3. Implementacja 1. Huby 2. Linki 3. Satelity 4. DV 2.0 3
  • 4. Czym jest Hurtownia Danych (HD) Dane w przedsiębiorstwie są rozproszone ◦ aplikacje, pliki, webservice’y, maile, ludzie HD to miejsce, w którym wszystkie te źródła są integrowane Dzięki HD z danych mogą korzystać użytkownicy biznesowi HD nie obciążają systemów transakcyjnych 4 • Analiza • OczyszczanieŹródła • Oczyszczanie • ŁączenieStaging • Raporty • Analizy • Data Marts • Report Marts • Kostki Data Acces
  • 5. Data Vault – Metodologia Konflikt danych w systemie a informacji biznesowych 5 Zmienność reguł biznesowych Zmienność systemów
  • 6. SAT Data Vault – Model 6 HUB LINK LINKSAT SAT SAT SAT HUBLINK LINK SATSAT SAT
  • 7. Data Vault - Architektura 7 AnalizaŹródła CleansingStaging • Data Vault • Business Vault EDW • Raporty • Analizy • Data Marts • Report Marts • Kostki Data Access
  • 8. Benchmark TPC H PART - 200 000 PARTSUPP – 800 000 SUPPLIER – 10 000 CUSTOMER – 150 000 NATION – 25 LINEITEM – 6 000 000 ORDERS – 1 500 000 8
  • 9. Implementacja 9 4 generyczne skrypty w Talend konfiguracja w oparciu o tabele pomocnicze Amazon Redshift bezobsługowe wersjonowanie danych nazewnictwo wg standardów Amazon S3
  • 10. Hub - konfiguracja hub_params id identyfikator wpisu rsrc źródło pochodzenia danych hub_name nazwa huba source_business_key nazwa kolumny z kluczem biznesowym source_schema_name nazwa schemy w obrębie stagingu source_table_name nazwa tabeli w stagingu 10 Dane z różnych warstw (STG, EDW, …) znajdują się na tym samym klastrze.
  • 11. Hub – przykład encji 11 dv.hub_customer customer_sqn klucz sekwencyjny customer_ldts czas przybycia customer_ledts czas odejścia customer_rsrc id źródła customer_id klucz biznesowy dv_helpers.hub_params id 1 rsrc TPC hub_name customer source_business_key c_custkey source_schema_name tpc source_table_name customer
  • 12. Hub – kroki ładowania Params Pobierz parametry Przybycie Dopisz rekordy, których klucz biznesowy (customer_id) nie występuje lub występuje z datą odejścia (customer_ledts) Odejścia Sprawdź co jest w hubie a brakuje w źródle 12
  • 13. Hub - timelaps 13 dv.hub_customer t1 t2 t3 dodano usunięto dodano customer_sqn 1 1 3 customer_ldts t1 t1 t3 customer_ledts t2 customer_rsrc TPC TPC TPC customer_id 20 20 20
  • 14. Sat - konfiguracja sat_params id identyfikator wpisu rsrc źródło pochodzenia danych sat_name nazwa satelity hub_name nazwa huba source_business_key nazwa kolumny z kluczem biznesowym source_schema_name nazwa schemy w obrębie stagingu source_table_name nazwa tabeli w stagingu 14 Wariant dedykowany dla satelit pochodzących z jednej tabeli systemu źródłowego
  • 15. Sat – przykład encji 15 dv.sat_customer customer_sqn/ customer_hkey 123 customer_ldts czas przybycia customer_ledts czas odejścia customer_rsrc id źródła customer_hash hash z atrybutów opisowych atrybut 1-n atrybuty opisowe dv_helpers.sat_params id 5 rsrc TPC sat_name customer hub_name customer source_business_key c_custkey source_schema_name tpc source_table_name customer dv_helpers.sat_cols id 5 5 source_col name surname target_col name surname order 1 2
  • 16. Sat – kroki ładowania Przybycie Pobierz rekordy dla których - nie występuje customer_id, - występuje z customer_ledts - customer_hash różni się Zrzut Zapisz przy pomocy polecenia UNLOAD rekody na S3 Zaimportuj regordy przy pomocy COPY na S3 Aktualizacja Dla zdublowanych rekordów ustaw customer_ledts dla starszego. - stwórz tmp_table dla starszych - usun te rekordy z sat - wstaw z temp_table Usunięcia Dla rekordów, które znikły przeprowadzamy podobną procedurę jak w przypadku aktualizacji 16
  • 17. Sat - timelaps 17 dv.sat_customer t1 t2 t3 dodano zmieniono usunięto customer_sqn 1 1 1 1 customer_ldts t1 t1 t2 t2 customer_ledts t2 – 1sec t3 customer_rsrc TPC TPC TPC TPC customer_hash hash1 hash1 hash2 hash2 atrybut 1-n {a,b,c} {a,b,c} {a,b,x} {a,b,x}
  • 18. Lnk - konfiguracja lnk_params id identyfikator wpisu rsrc źródło pochodzenia danych lnk_name nazwa linka hub1_name nazwa huba 1 col_name_1 nazwa kolumny docelowej … source_sql_query Zapytanie wyciągające potrzebne klucze has_business_key jeżeli true wstawiamy pierwszą wartość z zapytania jako id hubs_no ilość hub’ów 18 Domyślnie skonfigurowany pod maksymalnie n hub’ów, ale można pokusić się o generalizację
  • 19. Lnk – przykład encji 19 dv.lnk_customer_order customer_order_hkey hash z {hub1_sqn,…} customer_order_ldts czas przybycia customer_order_ledts czas odejścia customer_order_rsrc id źródła {hub1_sqn,…} sqn’y hubów customer_order_id klucz biznesowy relacji, jeżeli istnieje lnk_params id 4 rsrc TPC lnk_name customer_order hub1_name customer col_name_1 customer hub1_name order col_name_1 order source_sql_query has_business_key 0 hubs_no 2
  • 20. Lnk – kroki ładowania Przybycie Pobierz rekordy dla których - nie występuje customer_order_hkey/ customer_order_id, - występuje z customer_order_ledts Zrzut Zapisz przy pomocy polecenia UNLOAD rekordy na S3 Zaimportuj rekordy przy pomocy COPY na S3 Usunięcia Dla zdublowanych hkey ustaw customer_order_ledts dla starszego - stwórz tmp_table dla starszych - usuń te rekordy z lnk - wstaw z rekordy temp_table 20
  • 21. Lnk - timelaps 21 dv.lnk_customer_order t1 t2 dodano usunięto customer_order_hkey hash1 hash1 customer_order_ldts t1 t1 customer_order_ledts t2 customer_order_rsrc TPC TPC customer_sqn 4 4 order_sqn 5 5
  • 22. DV 2.0 22 eliminacja SQN na rzecz HKEY wparcie NoSQL klucze kompozytowe w HUB usunięcie LEDTS z linków na rzecz satelit realtime z wykorzystaniem ESB
  • 25. 25