Schematy logiczne dla hurtowni danych 26
Plan rozdziału 27 Model biznesowy, logiczny i fizyczny hurtowni danych Podstawowe pojęcia w modelu logicznym, logiczny model wielowymiarowy Implementacje ROLAP/MOLAP logicznego modelu wielowymiarowego Schematy logiczne dla relacyjnej hurtowni danych gwiazda, płatek śniegu, konstelacja faktów Modelowanie schematu logicznego hurtowni danych Oracle Warehouse Builder Tworzenie logicznego modelu wielowymiarowego Oracle Enterprise Manager Oracle Warehouse Builder
Etapy projektowania hurtowni danych 28 Model biznesowy Efekt analizy strategicznej Identyfikacja miar i wymiarów dla poszczególnych procesów biznesowych Model logiczny (wymiarowy) Model abstrakcyjny, konceptualny Encje i atrybuty (reprezentowane w modelu relacyjnym jako tabele i powiązania między nimi) Model fizyczny Wybór sposobu składowania danych Formaty danych Strategie partycjonowania Wybór indeksów Wybór materializowanych perspektyw
Miary i wymiary 29 Miary (ang. measures), inaczej: fakty (ang. facts) Wartości ciągłe, numeryczne Typowe miary: wartość sprzedaży, koszt, zysk, sprzedana ilość Miary mogą być: addytywne (we wszystkich wymiarach) np. liczba sprzedanych sztuk częściowo addytywne (addytywne w niektórych wymiarach) np. stan w magazynie nieaddytywne Wymiary (ang. dimensions) region Wartości dyskretne, niezmienne lub rzadko zmienne Nadają znaczenie danym (miarom, faktom) miejscowość Typowe wymiary: klient, czas, produkt, sklep Hierarchie (ang. hierarchies) umożliwiają organizację danych na różnych poziomach agregacji sklep Poziom (ang. level) reprezentuje pozycję w hierarchii Atrybuty (ang. attributes) dostarczają dodatkowych informacji o danych, np. kolor, smak, dzień tygodnia
Wielowymiarowy model danych 30 Dane na potrzeby przetwarzania OLAP są w naturalny sposób przedstawiane w postaci wielowymiarowej (3 lub więcej wymiarów) logiczny model wielowymiarowy Logiczne kostki stanowią sposób organizacji miar mających te same wymiary czas 1997 321 6mln 232 4mln 117 3mln sklep 854 8mln 567 7mln 98 1mln 1996 - Dallas 56 126 119 1995 - Denver 1mln 2mln 3mln - Seattle produkt Thriller Comedy Drama
Implementacje logicznego wielowymiarowego modelu danych 31 Relacyjna implementacja modelu (ROLAP) Powiązane ze sobą tabele relacyjne: tabele faktów i wymiarów Schematy logiczne: Schemat gwiazdy (ang. star schema) Schemat płatka śniegu (ang. snowflake schema) Konstelacja faktów (ang. fact constellation) Materializowane perspektywy dla agregatów Logiczny model wielowymiarowy definiowany poprzez OLAP Catalog lub na poziomie aplikacji analitycznej (!) Wielowymiarowa reprezentacja modelu (MOLAP) Dane fizycznie składowane w postaci wielowymiarowej W Oracle jako analityczne przestrzenie robocze (ang. Analytic Workspaces - AW)
OLAP Catalog 32 Definiuje logiczne obiekty wielowymiarowe i mapuje je na fizyczne źródła danych Może być wykorzystany do opisu danych relacyjnych w celu ich załadowania do analitycznej przestrzeni roboczej (AW) Stanowi źródło metadanych dla BI Beans Dane mogą być fizycznie składowane w relacyjnych tabelach lub analitycznych przestrzeniach roboczych (AW) Niezależnie od sposobu składowania danych, metadane w OLAP Catalog są niezbędne, aby dane były dostępne dla BI Beans
Schemat gwiazdy 33 Centralna tabela faktów Wymiary zdenormalizowane Tabela faktów połączona z tabelami wymiarów poprzez klucze główne i klucze obce CZAS id_czasu data_transakcji dzien_tygodnia czy_swieto PRODUKTY id_produktu nazwa_produktu typ_produktu kategoria_produktu departament SPRZEDAZ id_czasu id_produktu id_sklepu suma_sprzedazy suma_zysku liczba_klientow liczba_towarow SKLEPY id_sklepu nazwa_sklepu miejscowosc region
Charakterystyka schematu gwiazdy 34 Prosta struktura -> schemat łatwy do zrozumienia Duża efektywność zapytań ze względu na niewielką liczbę połączeń tabel Stosunkowo długi czas ładowania danych do tabel wymiarów ze względu na denormalizację Dominująca struktura dla hurtowni danych, wspierana przez wiele narzędzi Schemat zalecany przez Oracle
Schemat płatka śniegu 35 Centralna tabela faktów Wymiary znormalizowane TYPY_PRODUKTOW id_typu typ_produktu KATEGORIE id_kategorii kategoria_produktu id_typu PRODUKTY id_produktu nazwa_produktu departament id_kategorii CZAS id_czasu data_transakcji dzien_tygodnia czy_swieto SPRZEDAZ id_czasu id_produktu id_sklepu suma_sprzedazy suma_zysku liczba_klientow liczba_towarow MIEJSCOWOSCI id_miejscowosci miejscowosc id_regionu SKLEPY id_sklepu nazwa_sklepu id_miejscowosci REGIONY id_regionu region
Charakterystyka schematu płatka śniegu 36 Spadek wydajności zapytań w porównaniu ze schematem gwiazdy ze względu na większą liczbę połączeń tabel Struktura łatwiejsza do modyfikacji Krótki czas ładowania danych do tabel (normalizacja -> mniejszy rozmiar) Wykorzystywany rzadziej niż schemat gwiazdy, gdyż efektywność zapytań jest ważniejsza niż efektywność ładowania danych do tabel wymiarów
Konstelacja faktów 37 Schemat stanowiący kombinację schematów gwiazd współdzielących niektóre wymiary Różne tabele faktów mogą odwoływać się do różnych poziomów danego wymiaru DIM_1 DIM_3 FACT_1 FACT_2 DIM_4 DIM_2
38 Charakterystyka tabeli faktów i wymiarów Tabela faktów: Zawiera numeryczne miary Posiada wieloatrybutowy klucz główny złożony z kluczy obcych odwołujących się do wymiarów Największy rozmiar spośród tabel tworzących gwiazdę Typowo zawiera ponad 90% danych Jej rozmiar szybko się powiększa Tabele wymiarów: Zawierają atrybuty opisowe Nadają znaczenie faktom Definiują przestrzeń faktów Zawierają dane stosunkowo statyczne Podlegają zmianom np. pojawianie się nowych klientów, produktów
Narzędzia do modelowania schematu logicznego relacyjnej hurtowni danych 39 Kartka i ołówek Oracle Designer Narzędzie ogólnego przeznaczenia Brak szczególnego wsparcia dla hurtowni danych Oracle Warehouse Builder Modelowanie schematu jest jedną z funkcji narzędzia Sensowny wybór gdy wykorzystane będą również inne możliwości OWB: Dokumentacja projektu hurtowni danych (repozytorium metadanych) Obsługa procesu ETL, generacja skryptów
OWB: Tworzenie repozytorium 40 Przed rozpoczęciem projektowania za pomocą Oracle Warehouse Builder należy utworzyć repozytorium Do tworzenia repozytorium OWB służy narzędzie OWB Repository Assistant Podstawowe kroki: Wybór lub utworzenie użytkownika właściciela repozytorium Wybór przestrzeni tabel dla repozytorium
OWB: Modelowanie relacyjnego schematu 41 hurtowni danych Przykład (1/10) Uruchomienie OWB Client Logowanie jako: Właściciel repozytorium Użytkownik, któremu właściciel repozytorium nadał prawo dostępu call WBSecurityHelper.registerOWBUser('User1')
OWB: Modelowanie relacyjnego schematu 42 hurtowni danych Przykład (2/10) Główne okno OWB Client nawigator obiektów projektu OWB składuje definicje dla schematu docelowego w modułach Uruchomienie kreatora nowego modułu:
OWB: Modelowanie relacyjnego schematu 43 hurtowni danych Przykład (3/10) Tworzenie modułu Moduł schematu docelowego hurtowni danych Możliwość importu metadanych przez DB Link
OWB: Modelowanie relacyjnego schematu 44 hurtowni danych Przykład (4/10) Tworzenie modułu -> wybór lokalizacji Na tym etapie lokalizacja jest abstrakcyjna (nie podaje się parametrów połączenia)
OWB: Modelowanie relacyjnego schematu 45 hurtowni danych Przykład (5/10) Utworzony moduł drzewko modułu w nawigatorze obiektów
OWB: Modelowanie relacyjnego schematu 46 hurtowni danych Przykład (6/10) Tworzenie definicji tabeli w modelu schematu docelowego
OWB: Modelowanie relacyjnego schematu 47 hurtowni danych Przykład (7/10) Tworzenie definicji tabeli cd. (więzy integralnościowe)
OWB: Modelowanie relacyjnego schematu 48 hurtowni danych Przykład (8/10) Edycja definicji tabeli edytor graficzny
OWB: Modelowanie relacyjnego schematu 49 hurtowni danych Przykład (9/10) Edytor graficzny: wizualizacja powiązanych tabel
OWB: Modelowanie relacyjnego schematu 50 hurtowni danych Przykład (10/10) Generacja skryptów SQL Uwaga: Istnieje możliwość bezpośredniego utworzenia obiektów w docelowej bazie danych narzędziem OWB Deployment Manager
OWB: Tworzenie repozytorium Runtime Repository 51 Tworzenie obiektów hurtowni danych w docelowej bazie danych musi być poprzedzone utworzeniem w niej: Repozytorium Runtime Repository Schematu docelowego (ang. target schema) Do realizacji powyższych zadań służy OWB Runtime Assistant Jednym z kroków jest tworzenie użytkownika, który będzie służył do pracy z repozytoriów (oprócz właściciela) Standardowe pytania: nazwa schematu, nazwy przestrzeni tabel itp.
OWB: Tworzenie obiektów hurtowni danych Przykład (1/4) 52 Utworzenie połączenia z Runtime Repository Uruchomienie narzędzia Deployment Manager z menu OWB Client
OWB: Tworzenie obiektów hurtowni danych Przykład (2/4) 53 Wybór obiektów, które maja zostać utworzone i start procesu
OWB: Tworzenie obiektów hurtowni danych Przykład (3/4) 54 Rejestracja abstrakcyjnej dotąd lokalizacji
OWB: Tworzenie obiektów hurtowni danych Przykład (4/4) 55 Zakończenie procesu tworzenia obiektów Po wybraniu opcji Deploy obiekty zostaną utworzone w bazie danych
Kroki tworzenia metadanych dla logicznego modelu wielowymiarowego w OLAP Catalog 56 1. Utworzenie logicznych wymiarów Specyfikacja poziomów, atrybutów i hierarchii Logiczne wymiary zostaną oparte o obiekty DIMENSION w bazie danych 2. Utworzenie logicznych kostek i specyfikacja ich krawędzi (wymiarów) Logiczne kostki są definiowane tylko w postaci metadanych, nie odpowiadają im żadne obiekty w bazie danych 3. Utworzenie logicznych miar reprezentujących fakty. Powiązanie miar z kostkami 4. Mapowanie logicznych struktur na źródła danych
Narzędzia do definiowania logicznego modelu wielowymiarowego Oracle Enterprise Manager (OEM) uwaga: tabele tworzące schemat relacyjny muszą istnieć i powinny mieć klucze główne i obce 57 CWM2 API zbiór pakietów PL/SQL np. poprzez SQL*Plus Oracle Warehouse Bulder (OWB) bez wcześniejszego definiowania tabel! z możliwością utworzenia Analytic Workspace i wypełnienia go danymi ze schematu relacyjnego
OEM: Tworzenie metadanych OLAP Przykład (1/15) 58 Logowanie do EM 10g Dostęp przez http Domyślny port: 5500 Użytkownik musi posiadać: - przywilej SELECT ANY DICTIONARY - rolę OLAP_DBA
OEM: Tworzenie metadanych OLAP Przykład (2/15) 59 Utworzenie wymiarów
OEM: Tworzenie metadanych OLAP Przykład (3/15) 60 Tworzenie wymiaru -> utworzenie poziomów
OEM: Tworzenie metadanych OLAP Przykład (4/15) 61 Tworzenie wymiaru -> utworzenie hierarchii
OEM: Tworzenie metadanych OLAP Przykład (5/15) 62 Tworzenie wymiaru -> utworzenie atrybutów
OEM: Tworzenie metadanych OLAP Przykład (6/15) 63 Tworzenie wymiaru -> opcje OLAP
OEM: Tworzenie metadanych OLAP Przykład (7/15) 64 Tworzenie wymiarów: efekt końcowy Oprócz metadanych w OLAP Catalog powstaje obiekt DIMENSION w bazie danych CREATE DIMENSION SCOTT.SKLEPY LEVEL SKLEP IS SKLEPY.ID_SKLEPU LEVEL MIEJSCOWOSC IS SKLEPY.MIEJSCOWOSC LEVEL REGION IS SKLEPY.REGION HIERARCHY H_SKLEPY (SKLEP CHILD OF MIEJSCOWOSC CHILD OF REGION) ATTRIBUTE SKLEP DETERMINES (SKLEPY.ID_SKLEPU, SKLEPY.NAZWA_SKLEPU) ATTRIBUTE MIEJSCOWOSC DETERMINES SKLEPY.MIEJSCOWOSC ATTRIBUTE REGION DETERMINES SKLEPY.REGION
OEM: Tworzenie metadanych OLAP Przykład (8/15) 65 Tworzenie kostki Tabela lub perspektywa
OEM: Tworzenie metadanych OLAP Przykład (9/15) 66 Tworzenie kostki -> wskazanie wymiarów dla krawędzi
OEM: Tworzenie metadanych OLAP Przykład (10/15) 67 Tworzenie kostki -> dodanie miar
OEM: Tworzenie metadanych OLAP Przykład (11/15) Tworzenie kostki -> specyfikacja operatorów do agregacji miar w poszczególnych wymiarach Domyślnie sumowanie (SUM) 68
OEM: Tworzenie metadanych OLAP Przykład (12/15) 69 Tworzenie kostki -> efekt końcowy Wynikiem tworzenia kostki są jedynie metadane w OLAP Catalog - nie są tworzone żadne obiekty w bazie danych! Uwaga: Jeżeli metadane w OLAP Catalog są tworzone w celu umożliwienia BI Beans pracy na relacyjnym schemacie (bez AW), należy z poziomu SQL*Plus wykonać: exec cwm2_olap_metadata_refresh.mr_refresh;
OEM: Tworzenie metadanych OLAP Przykład (13/15) Tworzenie folderu miar (ang. measure folder) Składnica danych dla aplikacji OLAP składa się z miar pogrupowanych w foldery miar W celu udostępnienia zawartości kostek (miar) aplikacjom OLAP (np. BI Beans), konieczne jest umieszczenie potrzebnych miar w folderach miar 70 Możliwość tworzenia hierarchii folderów
OEM: Tworzenie metadanych OLAP Przykład (14/15) 71 Tworzenie folderu miar -> wybór miar
OEM: Tworzenie metadanych OLAP Przykład (15/15) 72 Tworzenie folderu miar -> efekt końcowy
OWB: Tworzenie metadanych OLAP Przykład (1/7) 73 Tworzenie wymiarów
OWB: Tworzenie metadanych OLAP Przykład (2/7) 74 Tworzenie wymiarów -> Poziomy i ich atrybuty
OWB: Tworzenie metadanych OLAP Przykład (3/7) 75 Tworzenie wymiarów -> hierarchie
OWB: Tworzenie metadanych OLAP Przykład (4/7) 76 Edytor graficzny dla utworzonego wymiaru
OWB: Tworzenie metadanych OLAP Przykład (5/7) 77 Tworzenie kostki Tworzenie kostki -> klucze obce do wymiarów
OWB: Tworzenie metadanych OLAP Przykład (6/7) 78 Tworzenie kostki -> definiowanie miar
OWB: Tworzenie metadanych OLAP Przykład (7/7) 79 Edytor kostki wizualna prezentacja utworzonej kostki
80 OWB: Tworzenie obiektów bazodanowych modelu wielowymiarowego w b.d. Uruchomienie narzędzia Deployment Manager W bazie danych tworzone są tabele i obiekty dimension Nie powstają wpisy w OLAP Catalog!
OWB: Transfer metadanych OLAP do bazy danych Przykład (1/5) W celu eksportu metadanych OLAP o kostkach i wymiarach do bazy danych (OLAP Catalog) należy utworzyć kolekcję (obiekt Collection) Kolekcja stanowi zbiornik metadanych na potrzeby ich eksportu do innych narzędzi Miary zgromadzone w jednej kolekcji po eksporcie do bazy danych znajdą się w jednym folderze miar (measure folder) 81
OWB: Transfer metadanych OLAP do bazy danych Przykład (2/5) 82 Tworzenie kolekcji -> specyfikacja zawartości
OWB: Transfer metadanych OLAP do bazy danych Przykład (3/5) 83 Eksport metadanych Opcja Oracle9i OLAP działa też dla Oracle10g
OWB: Transfer metadanych OLAP do bazy danych Przykład (4/5) 84 Parametry transferu metadanych Możliwość utworzenia Analytic Workspace i wypełnienia go danymi Alternatywą jest ograniczenie się do transferu metadanych (OLAP Catalog, logiczna kostka na schemacie relacyjnym) Tworzenie AW Wypełnienie AW danymi
OWB: Transfer metadanych OLAP do bazy danych Przykład (5/5) 85 Transfer metadanych do OLAP Catalog efekt końcowy Możliwość generacji skryptów bez lub z uruchomieniem ich w b.d. Skrypt kończy się wywołaniem olapsys.cwm2_olap_metadata_refresh.mr_refresh Kostki mogą być wykorzystywane w BI Beans Utworzone logiczne obiekty wielowymiarowe (wymiary logiczne, kostki, foldery miar) są widoczne w Oracle Enterprise Manager