HUR2006 02 id 207255 Nieznany

background image

1

Hurtownie danych

http://zajecia.jakubw.pl/hur

Projektowanie hurtowni:
modele wielowymiarowe.

Modelowanie punktowe.

Operacje OLAP na kostkach.

UZASADNIENIE BIZNESOWE

Po co nam hurtownia danych? Jakie mogą być efekty analiz?

- Wzrost sprzedaży, zwiększenie udziału w rynku itp.

- Środek: analiza zachowania klientów, lokalizacja słabych
punktów, śledzenie trendów.

- Narzędzie: analiza gromadzonych danych (rozproszonych,
niejednorodnych) - budowa hurtowni danych.

Jakimi danymi dysponujemy?
Które dane powinniśmy gromadzić w hurtowni?
Ze względów technicznych gromadzimy tylko to, co niezbędne.

background image

2

Ekstrakcja,

czyszczenie,

integracja

DECYZJE PROJEKTOWE:

perspektywa pojęciowa

Hurtownia

Źródła danych

Model pojęciowy: związki między
pojęciami związanymi z działalnością
przedsiębiorstwa, np.:
- Kto to jest „klient” i co o nim wiemy?
- Jak opisywana jest sprzedaż w
różnych oddziałach firmy?
- Co pod pojęciem „fakt sprzedaży”
chciałby rozumieć analityk?

- Czy model wielowymiarowy danych
może nam pomóc w tworzeniu
raportów biznesowych?

MODEL WIELOWYMIAROWY

Baza zawiera fakty opisane przez wymiary i określające wartość miar.

Fakt - pojedyncze zdarzenie będące podstawą analiz (np. sprzedaż).
Fakty opisane są przez wymiary i miary.

Wymiar - cecha opisująca dany fakt, pozwalająca powiązać go z
innymi pojęciami modelu przedsiębiorstwa (np. klient, data, miejsce,
produkt). Wymiary są opisane atrybutami.

Atrybut - cecha wymiaru, przechowująca dodatkowe informacje na
temat faktu (np. wymiar data może mieć atrybuty: miesiąc, kwartał,
rok; wymiar klient może mieć atrybuty: nazwisko, region).

Miara - wartość liczbowa przyporządkowana do danego faktu
(np. wartość sprzedaży, liczba sztuk).

background image

3

MODEL GWIAZDY

Fakty i wymiary są często w systemach relacyjnych modelowane
w postaci gwiazdy.

Sprzedaż

id_klienta
id_daty
id_produktu
id_sklepu

ilość
kwota

Klient

id_klienta
nazwisko
adres
grupa_kl

Data

id_daty
miesiąc
kwartał
rok

Produkt

id_produktu
grupa_prod
opis
data_wprowadzenia
marka
producent

Sklep

id_sklepu
miasto
region
kierownik
telefon

Miary

Uwaga: nie wszystkie informacje będą potrzebne - część można pominąć

Tablica faktów

Tablice
wymiarów

Atrybuty

MODEL PŁATKA ŚNIEGU

Normalizacja schematu gwiazdy poprzez modelowanie atrybutów
za pomocą kolejnych tablic prowadzi do modelu płatka śniegu.

Sprzedaż

id_klienta
id_daty
id_produktu
id_sklepu

ilość
kwota

Produkt

id_produktu
id_grupy_prod
id_marki
data_wprowadzenia

Sklep

id_sklepu
id_miasta

Uwaga: model płatka śniegu odtwarza hierarchię wymiarów.

Tablica faktów

Tablice
wymiarów

Miasto

id_miasta
id_regionu
nazwa

Region

id_regionu
nazwa

Producent

id_producenta
nazwa_producenta
kraj_producenta

Grupa_prod

id_grupy_prod
nazwa_grupy_prod

Marka

id_marki
id_producenta
nazwa_marki

background image

4

AGREGACJE

Agregacje to operacje zamieniające zbiór wartości (przeważnie
liczbowych) miar opisujących fakty, na pojedynczą wartość.

Podstawowa operacja tworząca kostki danych.

Przykłady:
• Suma
• Liczba rekordów
• Średnia
• Minimum, maksimum, mediana
• Dodatkowy warunek (np. HAVING)
• Specjalne (stored procedures)

SELECT miesiąc, SUM(kwota) FROM tablica_faktów
GROUP BY miesiąc HAVING SUM(kwota)>500

KOSTKI DANYCH

230$

Dane (np. schemat gwiazdy)

Kostka danych: tabela, w której
krawędziami są wymiary, a
zawartością komórek – miary.

Zawartość komórki:
zagregowana miara

klient

czas

produkt

Kostka wielowymiarowa danych

background image

5

KOSTKI DANYCH

sprzedaż

wartość

czas

produkt

sklep

miasto

skl_1

skl_2

skl_3

suma

89

23

395

122

13

642

27

12

50

0

0

23

146

237

12

76

45

1

0

8

5

249

302

91

prod_1

prod_2

prod_3

prod_4

prod_5

suma

miasto_1

miasto_2

skl_1

skl_2

skl_3

suma

89

23

395

122

13

642

27

12

50

0

0

23

146

237

12

76

45

1

0

8

5

249

302

91

prod_1

prod_2

prod_3

prod_4

prod_5

suma

miasto_1

miasto_2

skl_1

skl_2

skl_3

suma

89

23

395

122

13

642

27

12

50

0

0

23

146

237

12

76

45

1

0

8

5

249

302

91

prod_1

prod_2

prod_3

prod_4

prod_5

suma

miasto_1

miasto_2

skl_1

skl_2

skl_3

suma

89

23

395

122

13

642

27

12

50

0

0

23

146

237

12

76

45

1

0

8

5

249

302

91

prod_1

prod_2

prod_3

prod_4

prod_5

suma

miasto_1

miasto_2

skl_1

skl_2

skl_3

suma

89

23

395

122

13

642

27

12

50

0

0

23

146

237

12

76

45

1

0

8

5

249

302

91

prod_1

prod_2

prod_3

prod_4

prod_5

suma

miasto_1

miasto_2

Komórki zawierają zagregowane (po

wymiarach) wartości miar

Nagłówki wierszy i kolumn

kostki zawierają wartości

wymiarów (atrybutów)

cza

s

W kostkach bywają też przechowywane
pomocnicze podsumowania

MODEL PUNKTOWY

Przed stworzeniem logicznego modelu danych (gwiazda, płatek
śniegu) należy uzgodnić model pojęciowy.
Przykładowa technika modelowania: model punktowy.

Sprzedaż

- Fakty reprezentowane są punktami

Region

Czas

Towar

- Wymiary reprezentowane są
przez nazwy

Kwartał

Grupa towarów

- Podobnie reprezentujemy kolejne
poziomy hierarchii

Dostawa do

magazynu

Magazyn

Transport

- Model może obejmować wiele
(konstelację) faktów,
korzystających częściowo ze
wspólnej hierarchii wymiarów

background image

6

MODEL PUNKTOWY

W modelu punktowym zapisujemy ponadto informacje na temat:

- Nazw atrybutów
- Typów danych
- Więzów integralności
- Retrospekcji (zmienności wartości atrybutów w czasie)
- Częstości odświeżania
- Pochodzenia danych (źródło, transformacje)
- Metadanych biznesowych

Retrospekcja może być:

-„prawdziwa” – zapisujemy wszelkie zmiany wartości wraz z
dokładnym czasem
- „fałszywa” – nowe wartości zastępują stare
- „trwała” – nie przewidujemy zmiany wartości.

POZIOMY AGREGACJI DANYCH

Nie zawsze potrzebujemy danych
opisanych z pełną dostępną
dokładnością.

Agregacja wartości może dotyczyć pomijania pewnych wymiarów
lub atrybutów w hierarchii.
Hurtownia danych (lub hurtownie tematyczne) mogą przechowywać
zmaterializowane podkostki danych i korzystać z nich podczas analiz.

background image

7

PRZYKŁAD: POZIOMY AGREGACJI

Dane: fakty sprzedaży (50 mln. rekordów, miara: wartość), klienci
identyfikowani kodem pocztowym (3000 różnych kodów), towary (60 grup, 800
nazw indywidualnych), czas: 3 lata (1000 dni), sklepy (18 sztuk).

- Model gwiazdy: tablice z (łącznie) trochę ponad 50 mln. rekordów.

- Kostka danych: 3000*800*1000*18 = 43 200 000 000 komórek.

Wersja zagregowana: ignorujemy wymiar klientów, towary
rozpatrujemy tylko w grupach, czas rozpatrujemy w skali miesięcy.

- Kostka danych: 60*36*18 = 38 880 komórek (sumy wartości).

Powyższa agregacja nie pozwala na wygenerowanie wszystkich tych raportów,
które mogły by tworzone oryginalnie, ale za to dla pozostałych raportów może
działać o 3 rzędy wielkości szybciej.

OPTYMALIZACJA AGREGACJI

Problem: Które wymiary możemy pominąć? Jak agregować dane
(sum, min, max, avg, count)? Które atrybuty hierarchii agregujemy,
a które pozostawiamy? Ile powinno powstać zmaterializowanych
kostek pomocniczych? Jak optymalnie obliczać konkretne
zapytanie?
Cel: np. minimalizacja średniego czasu przetwarzania zadawanych
w praktyce zapytań OLAP.

czas, klient, towar, sklep

czas, klient, towar

czas, klient, sklep

czas, towar, sklep

klient, towar, sklep

czas, klient

towar, sklep

klient, towar

czas, sklep

czas

klient, sklep

sklep

czas, towar

towar

klient

Zwykle nie możemy zmaterializować wszystkich podkostek, musimy wybrać takie, z
których później najłatwiej będzie generować raporty.

gwiazda

kostka

background image

8

NAWIGATOR PO AGREGACJACH

Skąd wiadomo, które zapytania są często wykonywane?

Nawigator po
agregacjach

Informacje o zadawanych zapytaniach OLAP są gromadzone jako metadane w
specjalnej bazie (repozytorium). Mogą być wykorzystane do optymalizacji zapytań
(np. materializacji niektórych agregacji). Metadane hurtowni zawierają też wiele
innych informacji, np. opis pojęciowy i logiczny danych, informacje o źródłach i
ich integracji, dziennik aktualizacji itd.

NAWIGATOR PO AGREGACJACH

Nawigator po agregacjach wspomaga też przeglądanie danych i
przygotowywanie raportów. Programy z tej rodziny zapewniają
wygodny wgląd w wielowymiarowy model danych.

Nawigator po
agregacjach

skl_1 skl_2 skl_3 suma

89

23

395

122

13

642

27

12

50

0

0

23

146

237

12

76

45

1

0

8

5

249

302

91

prod_1

prod_2

prod_3

prod_4

prod_5

suma

miasto_1 miasto_2

Raport

background image

9

NAWIGACJA PO AGREGACJACH

Najczęściej wykonywane operacje OLAP - terminologia:

Agregacja, konsolidacja, zwijanie

(aggregation, consolidation, roll-up)

dni

miesiące

- przejście na bardziej ogólny poziom

wymiaru,

- wybór operacji agregującej (np. suma,

średnia, zestawienie procentowe).

Rozwijanie

(roll-down, drill-down, drill through)

- operacja odwrotna do agregacji:

przeglądanie szczegółowych danych
dotyczących danego podsumowania

sprzedaż w regionach

poszczególne sklepy

NAWIGACJA PO AGREGACJACH

Najczęściej wykonywane operacje OLAP - terminologia:

Selekcja

(slicing)

- wycinanie fragmentu danych poprzez określenie warunków na

wartościach wymiarów,

- wynikiem jest podkostka, np. dwuwymiarowy plaster (slice),

odpowiadająca danym spełniającym warunki.

skl_1 skl_2 skl_3 suma

89

23

395

122

13

642

27

12

50

0

0

23

146

237

12

76

45

1

0

8

5

249

302

91

prod_1

prod_2

prod_3

prod_4

prod_5

suma

miasto_1 miasto_2

skl_1 skl_2 skl_3 suma

89

23

395

122

13

642

27

12

50

0

0

23

146

237

12

76

45

1

0

8

5

249

302

91

prod_1

prod_2

prod_3

prod_4

prod_5

suma

miasto_1 miasto_2

skl_1 skl_2 skl_3 suma

89

23

395

122

13

642

27

12

50

0

0

23

146

237

12

76

45

1

0

8

5

249

302

91

prod_1

prod_2

prod_3

prod_4

prod_5

suma

miasto_1 miasto_2

skl_1 skl_2 skl_3 suma

89

23

395

122

13

642

27

12

50

0

0

23

146

237

12

76

45

1

0

8

5

249

302

91

prod_1

prod_2

prod_3

prod_4

prod_5

suma

miasto_1 miasto_2

skl_1 skl_2 skl_3 suma

89

23

395

122

13

642

27

12

50

0

0

23

146

237

12

76

45

1

0

8

5

249

302

91

prod_1

prod_2

prod_3

prod_4

prod_5

suma

miasto_1 miasto_2

skl_1 skl_2 skl_3 suma

...

...

...

...

...

...

3

12

70

0

9

23

7

2

12

0

15

1

0

8

5

...

...

...

prod_1

prod_2

prod_3

prod_4

prod_5

suma

miasto_1 miasto_2

warunek:
data = ....

background image

10

NAWIGACJA PO AGREGACJACH

Najczęściej wykonywane operacje OLAP - terminologia:

Filtrowanie

(screening, selection, filtering)

- filtrowanie danych wchodzących w skład agregacji, np. poprzez

ograniczenie wartości miar lub atrybutów wymiarów

skl_1 skl_2 skl_3 suma

89

23

395

122

13

642

27

12

50

0

0

23

146

237

12

76

45

1

0

8

5

249

302

91

prod_1

prod_2

prod_3

prod_4

prod_5

suma

miasto_1 miasto_2

skl_1

-

skl_3 suma

...

...

...

...

...

...

3

-

70

0

-

23

7

-

12

0

-

1

0

-

5

...

-

...

prod_1

prod_2

prod_3

prod_4

prod_5

suma

miasto_1 miasto_2

warunek:
tylko sklepy mające
obrót powyżej 4 mln.
oraz
sumujemy tylko fakty
sprzedaży o wartości
powyżej 20.

NAWIGACJA PO AGREGACJACH

Najczęściej wykonywane operacje OLAP - terminologia:

Zawężanie

(scoping)

- ograniczenie danych branych pod uwagę w dalszej analizie,
- podobne do filtrowania, jednak realizowane na wcześniejszym

poziomie operacyjnym,

- działa jak automatyczne dodanie warunków do wszystkich

dalszych operacji na kostkach danych.

warunek:
tylko sklepy mające obrót powyżej 4 mln.
oraz
tylko pierwsze dwa kwartały 2000 roku

background image

11

NAWIGACJA PO AGREGACJACH

Najczęściej wykonywane operacje OLAP - terminologia:

Obracanie

(pivot, rotate)

- zamiana miejscami kolumn i wierszy tabeli,
- przeniesienie pewnego wymiaru z kolumn do wierszy

(lub odwrotnie),

- zamiana pewnego wymiaru (lub atrybutu) na inny,

nieużywany.

skl_1

skl_2

skl_1

27

12

92

0

0

23

146

237

12

76

45

7

0

8

5

...

...

...

prod_1

prod_2

prod_3

prod_4

prod_5

suma

2002

2003

skl_1

50

21

12

1

0

...

skl_1

skl_2

27

12

0

0

146

237

76

45

0

8

...

...

prod_1

prod_2

prod_3

prod_4

prod_5

suma

92

50

23

21

12

12

7

1

5

0

prod_1

prod_2

prod_3

prod_4

prod_5

2002

2003


Wyszukiwarka

Podobne podstrony:
26429 02 id 31504 Nieznany (2)
CwiczenieArcGIS 02 id 125937 Nieznany
HUR2006 01 id 207254 Nieznany
Grafy Grafy[02] id 704802 Nieznany
awans 02 id 74352 Nieznany (2)
Zestaw 02 id 587899 Nieznany
cwiczenie 02 id 125037 Nieznany
Perswador 02 id 354972 Nieznany
Axis se 02 id 74597 Nieznany
chorg01 02 id 114495 Nieznany
Graphic 02 id 195493 Nieznany
Krym 02 id 251310 Nieznany
mt2009 02 id 310143 Nieznany
MD cw 02 id 290123 Nieznany
dzieje poprz 20 02 1 id 147967 Nieznany
A gdziez ow Szwed v 02 id 49220 Nieznany
Mechanika gruntow W 02 id 29095 Nieznany
projekt 06 przyklad 02 id 39794 Nieznany

więcej podobnych podstron