Opracowanie studium przypadku w SAS ETL Studio Systemy baz danych i hurtowni danych Ludmiła Binek ludekb@o2.pl Katarzyna Rafalska rafalska.katarzyna@gmail.com
Plan prezentacji Cele i wymagania projektu Realizacja projektu Ekstrakcja danych Odświeżanie danych
Cele i wymagania projektu Celem 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.
Schemat bazy danych Wykorzystano dane z serwisu Allegro udostępnione przez Macieja Wajchta
Źródła danych Auctions - Access Userg - xml Callendar - Excel Comment_buyer - Access Comment_seller - PostgreSQL
Ekstrakcja danych z pliku .txt
Ekstrakcja danych z pliku .txt
Ekstrakcja danych z pliku .txt
Ekstrakcja danych z pliku .txt
Ekstrakcja danych z pliku .txt
Ekstrakcja danych z pliku .txt
Ekstrakcja danych z pliku .txt
Ekstrakcja danych z pliku .xls
Ekstrakcja danych z pliku .xls
Ekstrakcja danych z pliku .xls
Ekstrakcja danych z pliku .xls
Ekstrakcja danych z pliku .xls
Ekstrakcja danych z pliku .xls
Ekstrakcja danych z pliku .xls
Ekstrakcja danych z pliku .xls
Ekstrakcja danych z pliku .xls
Ekstrakcja danych z pliku .xls
Ekstrakcja danych z pliku .xls
Ekstrakcja danych z pliku .xls
Ekstrakcja danych z pliku .xls
Ekstrakcja danych z pliku .xls
Ekstrakcja danych z pliku .xml
Ekstrakcja danych z pliku .xml
Ekstrakcja danych z pliku .xml
Ekstrakcja danych z pliku .xml
Ekstrakcja danych z pliku .xml
Ekstrakcja danych z pliku .xml
Ekstrakcja danych z pliku .xml
Ekstrakcja danych z pliku .xml
Ekstrakcja danych z pliku .xml
Ekstrakcja danych z pliku .mdb
Ekstrakcja danych z pliku .mdb
Ekstrakcja danych z pliku .mdb
Ekstrakcja danych z pliku .mdb
Ekstrakcja danych z pliku .mdb
Ekstrakcja danych z pliku .mdb
Ekstrakcja danych z pliku .mdb
Ekstrakcja danych z pliku .mdb
Ekstrakcja danych z pliku .mdb
Ekstrakcja danych z pliku .mdb
Ekstrakcja danych z pliku .mdb
Ekstrakcja danych z pliku .mdb
Ekstrakcja danych z pliku .mdb
Ekstrakcja danych z pliku .mdb
Ekstrakcja danych z pliku .mdb
Ekstrakcja danych z bazy danych - PostgreSQL
Ekstrakcja danych z bazy danych - PostgreSQL
Ekstrakcja danych z bazy danych - PostgreSQL
Ekstrakcja danych z bazy danych - PostgreSQL
Ekstrakcja danych z bazy danych - PostgreSQL
Ekstrakcja danych z bazy danych - PostgreSQL
Ekstrakcja danych z bazy danych - PostgreSQL
Ekstrakcja danych z bazy danych - PostgreSQL
Ekstrakcja danych z bazy danych - PostgreSQL
Ekstrakcja danych z bazy danych - PostgreSQL
Ekstrakcja danych z bazy danych - PostgreSQL
Ekstrakcja danych z bazy danych - PostgreSQL
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; http://www.connectionstrings.com/
Schemat bazy danych
Schemat gwiazdy Tabelą faktów jest „auction_fact” Tabelami wymiarów są: „callendar_target” i „userg_target” AUCTION_FACT USERG_TARGET CALLENDAR_TARGET
Tabela faktów
Job_Auction_Fact
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
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.
Odświeżanie hurtowni Wolno zmieniające się wymiary Proces „SCD Type 2 Loader” - transormacja pozwalająca ładować dane i utrzymywać zmieniające się dane 3 typy SCD
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.
Typ 2 SCD Przechowuje wiele wierszy dla jednego obiektu Jeden wiersz przechowuje aktualne wartości Pozostałe są historią zmian
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.
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.
Odświeżanie hurtowni
Odświeżanie hurtowni
Odświeżanie hurtowni
Odświeżanie hurtowni
Odświeżanie hurtowni
Odświeżanie hurtowni
Odświeżanie hurtowni
Odświeżanie hurtowni Odświeżanie tabeli faktów Fact Table Lookup Tabela 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.
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: www.sas.com
Pytania Dziękujemy za uwagę