1 Opracowanie studium przypadku w SAS ETL StudioSystemy baz danych i hurtowni danych Ludmiła Binek Katarzyna Rafalska
2 Plan prezentacji Cele i wymagania projektu Realizacja projektuEkstrakcja danych Odświeżanie danych
3 Cele i wymagania projektuCelem projektu jest przygotowanie studium przypadku dla hurtowni danych z zastosowaniem ekstrakcji danych z kilku zewnętrznych źródeł i opracowanie metody odświeżania hurtowni. Projekt ma również umożliwiać wykonanie kilku prostych raportów-analiz. Wykorzystanie co najmniej dwóch heterogenicznych źródeł danych, Rozpoznanie i omówienie co najmniej dwóch techniki odświeżania hurtowni.
4 Schemat bazy danych Wykorzystano dane z serwisu Allegro udostępnione przez Macieja Wajchta
5 Źródła danych Auctions - Access Userg - xml Callendar - ExcelComment_buyer - Access Comment_seller - PostgreSQL
6 Ekstrakcja danych z pliku .txt
7 Ekstrakcja danych z pliku .txt
8 Ekstrakcja danych z pliku .txt
9 Ekstrakcja danych z pliku .txt
10 Ekstrakcja danych z pliku .txt
11 Ekstrakcja danych z pliku .txt
12 Ekstrakcja danych z pliku .txt
13 Ekstrakcja danych z pliku .xls
14 Ekstrakcja danych z pliku .xls
15 Ekstrakcja danych z pliku .xls
16 Ekstrakcja danych z pliku .xls
17 Ekstrakcja danych z pliku .xls
18 Ekstrakcja danych z pliku .xls
19 Ekstrakcja danych z pliku .xls
20 Ekstrakcja danych z pliku .xls
21 Ekstrakcja danych z pliku .xls
22 Ekstrakcja danych z pliku .xls
23 Ekstrakcja danych z pliku .xls
24 Ekstrakcja danych z pliku .xls
25 Ekstrakcja danych z pliku .xls
26 Ekstrakcja danych z pliku .xls
27 Ekstrakcja danych z pliku .xml
28 Ekstrakcja danych z pliku .xml
29 Ekstrakcja danych z pliku .xml
30 Ekstrakcja danych z pliku .xml
31 Ekstrakcja danych z pliku .xml
32 Ekstrakcja danych z pliku .xml
33 Ekstrakcja danych z pliku .xml
34 Ekstrakcja danych z pliku .xml
35 Ekstrakcja danych z pliku .xml
36 Ekstrakcja danych z pliku .mdb
37 Ekstrakcja danych z pliku .mdb
38 Ekstrakcja danych z pliku .mdb
39 Ekstrakcja danych z pliku .mdb
40 Ekstrakcja danych z pliku .mdb
41 Ekstrakcja danych z pliku .mdb
42 Ekstrakcja danych z pliku .mdb
43 Ekstrakcja danych z pliku .mdb
44 Ekstrakcja danych z pliku .mdb
45 Ekstrakcja danych z pliku .mdb
46 Ekstrakcja danych z pliku .mdb
47 Ekstrakcja danych z pliku .mdb
48 Ekstrakcja danych z pliku .mdb
49 Ekstrakcja danych z pliku .mdb
50 Ekstrakcja danych z pliku .mdb
51 Ekstrakcja danych z bazy danych - PostgreSQL
52 Ekstrakcja danych z bazy danych - PostgreSQL
53 Ekstrakcja danych z bazy danych - PostgreSQL
54 Ekstrakcja danych z bazy danych - PostgreSQL
55 Ekstrakcja danych z bazy danych - PostgreSQL
56 Ekstrakcja danych z bazy danych - PostgreSQL
57 Ekstrakcja danych z bazy danych - PostgreSQL
58 Ekstrakcja danych z bazy danych - PostgreSQL
59 Ekstrakcja danych z bazy danych - PostgreSQL
60 Ekstrakcja danych z bazy danych - PostgreSQL
61 Ekstrakcja danych z bazy danych - PostgreSQL
62 Ekstrakcja danych z bazy danych - PostgreSQL
63 Connection String Access: Excel: PostgreSQL:Driver={Microsoft Access Driver (*.mdb)};Dbq=C:\mydatabase.mdb;Uid=Admin;Pwd=; Excel: Driver={Microsoft Excel Driver (*.xls)};DriverId=790;Dbq=C:\MyExcel.xls;DefaultDir=c:\mypath; PostgreSQL: Driver={PostgreSQL};Server=IP address;Port=5432;Database=myDataBase;Uid=myUsername;Pwd=myPassword;
64 Schemat bazy danych
65 Schemat gwiazdy Tabelą faktów jest „auction_fact”Tabelami wymiarów są: „callendar_target” i „userg_target” AUCTION_FACT USERG_TARGET CALLENDAR_TARGET
66 Tabela faktów
67 Job_Auction_Fact
68 Odświeżanie hurtowni Rodzaje odświeżania: Jak odświeżać:Pierwsze – zasilenie pustej hurtowni Okresowe – odświeżanie w trakcie eksploatacji Jak odświeżać: W pełni Przyrostowo Kiedy odświeżać: Automatycznie Na żądanie Rodzaje przesyłanych obiektów: Dane Polecenia modyfikujące
69 Odświeżanie hurtowni Przykład: W jednej tabeli wymiarów są informacje o sprzedawcach. Co zrobić jeśli pracownik zostanie przeniesiony do innego oddziału firmy, a badamy wydajność oddziałów? Odświeżanie jest podobne do procesu ETL. Często odbywa się równolegle z ładowaniem nowych danych.
70 Odświeżanie hurtowni Wolno zmieniające się wymiaryProces „SCD Type 2 Loader” - transormacja pozwalająca ładować dane i utrzymywać zmieniające się dane 3 typy SCD
71 Typ 1 SCD Przechowuje jeden wiersz dla każdego członka w wymiarze. Każdy członek ma unikalne ID. Nowa dana nadpisuje starą i historia nie jest pamiętana.
72 Typ 2 SCD Przechowuje wiele wierszy dla jednego obiektuJeden wiersz przechowuje aktualne wartości Pozostałe są historią zmian
73 Typ 3 SCD Występuje specjalna kolumna, która zawiera różne wersje tej samej kolumny. Tak samo jak w typie 1 SCD występuje tylko jeden wiersz dla obiektu.
74 Odświeżanie hurtowni Tabele ładowane przy pomocy SCD Type 2 Loader zawierają oprócz klucza głównego klucz biznesowy Klucz biznesowy jest stały dla obiektu, klucz główny jest generowany dla każdego wiersza Używa się też daty początkowej i końcowej dla określenia okresu, w którym wiersz był aktualny.
75 Odświeżanie hurtowni
76 Odświeżanie hurtowni
77 Odświeżanie hurtowni
78 Odświeżanie hurtowni
79 Odświeżanie hurtowni
80 Odświeżanie hurtowni
81 Odświeżanie hurtowni
82 Odświeżanie hurtowni Odświeżanie tabeli faktów Fact Table LookupTabela faktów musi być odświażana po wymiarach Looup table służy do znalezienia połączenia między kluczem w tabeli źródłowej a kluczem w tabeli wymiarów.
83 Podsumowanie Proces ETL umożliwia ekstrakcję heterogonicznych typów plików Nie tylko ekstrakcja, transformacja i ładowanie danych Obejmuje też odświeżanie danych SAS ETL Studio ma wiele funkcji, ale czasami szybciej byłoby napisać kod niż używać kreatorów Więcej informacji na stronie:
84 Pytania Dziękujemy za uwagę