background image

Hurtownie danych

Model fizyczny danych. 
Elementy infrastruktury.

1

marcin.mazurek@wat.edu.pl

background image

Treść wykładu



Mechanizmy zwiększania efektywności 
zapytań 



Model fizyczny hurtowni danych 



Model fizyczny hurtowni danych 



Repozytorium główne 



Datamarty



Elementy infrastruktury sprzętowej 
hurtowni danych 

marcin.mazurek@wat.edu.pl

2

background image

Model fizyczny



Model przestrzeni tabel



Rozłożenie plików danych na dyskach  



Podział tabel na partycje



Podział tabel na partycje



Definicje indeksów 



Definicje widoków zmaterializowanych 
oraz agregatów 



Parametry systemu zarządzania bazą 
danych



Skrypty zakładające bazę danych  

marcin.mazurek@wat.edu.pl

3

background image

Mechanizmy zwiększenia 
wydajności zapytań



Partycjonowanie tabel 



Indeksowanie  -



Indeksy bitmapowe 



Indeksy  oparte o B-drzewa



Perspektywy zmaterializowane (ang. materialized view)



Rozpraszanie przestrzenie tabel



Wskazówki dla optymalizatora zapytań



Preagregacja danych 



Struktury wielowymiarowe 



In-memory OLAP



Zapytania równoległe

marcin.mazurek@wat.edu.pl

4

background image

Partycjonowanie 



Partycjonowanie – podział  rekordów 
tabeli na rozłączne części (partycje), 
możliwe do rozlokowania w różnych 
przestrzeniach tabel 



Atrybut partycjonujący – atrybut, w 
oparciu o który wyznaczana jest 

oparciu o który wyznaczana jest 
przynależność do partycji 



Zalety 



Zrównoleglenie operacji manipulacji 
danych



Operacje SQL dotyczące różnych partycji 
mogą być 

zrównoleglane



Zapytania mogą być kierowane 
bezpośrednio do partycji 



Zmniejszenie skutków awarii –
odtwarzana jest partycja na uszkodzonym 
dysku, a nie cała tabela

marcin.mazurek@wat.edu.pl

5

background image

Partycjonowanie danych



Partycjonowanie zakresowe  - rekordy  podzielone są 
na partycje według wartości  wybranej kolumny – klucz 
podziału 



Partycjonowanie haszowe – rekordy rozdzielane są na 



Partycjonowanie haszowe – rekordy rozdzielane są na 
partycje według wartości funkcji haszującej  dla wybranej 
kolumny



Partycjonowanie wg. listy 



Partycjonowanie dwupoziomowe



Partycjonowanie dwupoziomowe  zakresowo-haszowe



Partycjonowanie dwupoziomowe zakresowo-listowe

marcin.mazurek@wat.edu.pl

6

background image

Indeksowanie: B-drzewa



B- drzewo (ang. b-tree) jest drzewem z korzeniem o poniższych właściwościach 



Każdy węzeł x ma następujące pola



n[x] kluczy pamiętanych w porządku niemalejącym 



n [x] +1 wskaźników do synów  (jeżeli nie jest liściem)



Wszystkie liście leżą na rej samej głębokości



Istnieją dolne i górne granice ograniczenia na liczbę kluczy w danym węźle , 



Istnieją dolne i górne granice ograniczenia na liczbę kluczy w danym węźle , 
związane z minimalny stopniem   B-drzewa :



Każdy węzeł rożny od korzenia  musi mieć t-1 kluczy 



Każdy węzeł może zawierać co najwyżej 2t-1 kluczy

marcin.mazurek@wat.edu.pl

7

background image

B-drzewa



Liczba dostępów jest do dysku jest 
proporcjonalna do wysokości drzewa h. 

1

log

n

h

+



Współczynnik rozgałęzienia  dobierany tak, 
aby węzeł mieścił się w pamięci operacyjnej

marcin.mazurek@wat.edu.pl

8

1

log

2

t

n

h

+

background image

Indeksy bitmapowe 



Mapa bitowa 



niewielki rozmiar,



szybkie przetwarzanie



Możliwość wykonania 
wybranych operacji 

Kolor

Typ 

ID

Kolor 

Typ 

ID

C

z

e

rw

o

n

y

 

N

ie

b

ie

s

k

S

re

b

rn

y

 

C

z

a

rn

y

 

S

e

d

a

n

 

K

o

m

b

i

S

U

V

H

a

tc

h

b

a

1 Czerwony  Sedan 

1

1

0

0

0

1

0 0 0

wybranych operacji 
bezpośrednio na indeksie



Mały rozmiar dla atrybutów dla 
małej krotności 



Kompresja i kodowanie map 
bitowych  dla atrybutów o 
dużej  liczbie możliwych do 
przyjęcia wartości

marcin.mazurek@wat.edu.pl

9

1 Czerwony  Sedan 

1

1

0

0

0

1

0 0 0

2 Niebieski  Kombi 

2

0

1

0

0

0

1

0 0

3 Czerwony  SUV 

3

1

0

0

0

0 0

1

0

4 Srebrny 

Hatchback 

4

0 0

1

0

0 0 0

1

5 Srebrny 

Kombi 

5

0 0

1

0

0

1

0 0

6 Czerwony  Kombi 

6

1

0

0

0

0

1

0 0

7 Czarny 

SUV 

7

0 0

0

1

0 0

1

0

background image

Indeksy bitmapowe 

Kolor

Typ 

ID

C

z

e

rw

o

n

y

 

N

ie

b

ie

s

k

S

re

b

rn

y

 

C

z

a

rn

y

 

S

e

d

a

n

 

K

o

m

b

i

S

U

V

H

a

tc

h

b

a

c

k

marcin.mazurek@wat.edu.pl

10

ID

Kolor 

Typ 

1 Czerwony 

Sedan 

1

1

0

0

0

1

0

0

0

2 Niebieski 

Kombi 

2

0

1

0

0

0

1

0

0

3 Czerwony 

SUV 

3

1

0

0

0

0

0

1

0

4 Srebrny 

Hatchback 

4

0

0

1

0

0

0

0

1

5 Srebrny 

Kombi 

5

0

0

1

0

0

1

0

0

6 Czerwony 

Kombi 

6

1

0

0

0

0

1

0

0

7 Czarny 

SUV 

7

0

0

0

1

0

0

1

0

background image

Indeks połączeniowy



Indeks bitmapowy



Indeks B-drzewo

marcin.mazurek@wat.edu.pl

11

Ź

ródło: R.Wrembel Hurtowni danych w oparciu o Oracle 9i/10g, PLOUG 2005, 

background image

Zrównoleglanie operacji



Wykonanie operacji  przy wykorzystaniu więcej niż jednego procesu 
realizowanego na oddzielnych procesorach

marcin.mazurek@wat.edu.pl

12

background image

Plan wykonania zapytań 



Optymalizator zapytań 



Regułowy



Kosztowy – statystyki schematu 
bazy danych  



Wskazówki dla optymalizatora  



Wskazówki dla optymalizatora  
(ang. hints) 



Sposób złączenia



Nested loops



Hash join



Sort join



Wykorzystanie indeksu, full scan



Tryb optymalizacji 



All rows



First 100 rows

marcin.mazurek@wat.edu.pl

13

background image

Perspektywy zmaterializowane



Perspektywa, której 
zawartość jest fizycznie 
składowana w bazie 
danych

CREATE MATERIALIZED VIEW  

BUILD IMMEDIATE

REFRESH  COMPLETE

ENABLE QUERY REWRITE 

AS  SELECT SUM() 

danych



Odświeżanie danych:



Przyrostowe  lub  
całościowe



Natychmiastowe 



Na żądanie 



Po zatwierdzeniu transakcji



Według interwału



Przepisywanie zapytań (ang. 
query rewriting) 

marcin.mazurek@wat.edu.pl

14

AS  SELECT SUM() 

FROM …

GROUP BY … 

background image

Datamarty



Technologie realizacji 



Relacyjna baza danych  (ROLAP)



Zdenormalizowane tabele (model gwiazdy) 



Każda relacyjna baza danych



Każda relacyjna baza danych



Oprogramowanie analityczne udostępnia „wirtualną kostkę 
danych” 



Struktury wielowymiarowe (ang. multidimensional
databases
)



Oracle Hupyrion Essbase



SAS MDDB (SAS OLAP) 



Microsoft Analysis Services



Cognos

marcin.mazurek@wat.edu.pl

15

background image

ROLAP

marcin.mazurek@wat.edu.pl

16

http://www.businessobjects.com

background image

MOLAP



Dedykowana 
struktura 
(wielowymiarowa 
tablica indeksowana 

marcin.mazurek@wat.edu.pl

17

tablica indeksowana 
wartościami 
atrybutów)



Tablica rzadka   -
kompresja (1%-3%)

background image

ROLAP vs MOLAP

Baza danych relacyjna



Łatwość aktualizacji 
danych (korekty) 



Ograniczenie liczby 
elementów infrastruktury 

Struktury wielowymiarowe



Mniejsze 
zapotrzebowanie na 
przestrzeń dyskową –
efektywne 

elementów infrastruktury 
(możliwość 
współdzielenia serwera 
bazy danych)  



Krótszy czas 
wykonywanie procesów 
zasilenia danych

efektywne 
przechowywanie danych



Stały, krótszy czas 
odpowiedzi. 

marcin.mazurek@wat.edu.pl

18

background image

Infrastruktura sprzętowa -
elementy 



Serwer bazy danych 



Serwer aplikacji 



Macierz dyskowa 



System backupu



Serwer przetwarzania 
analityczno-raportowego



Serwer ETL 

marcin.mazurek@wat.edu.pl

19

background image

Infrastruktura sprzętowa –
serwer bazy danych



Serwer bazy danych 



Repozytorium główne 



Obszar tymczasowy stage



kopie danych z systemów źródłowych



„lustra” – odbicie tabel z hurtowni danych



„lustra” – odbicie tabel z hurtowni danych



Metadane



Agregaty 



Wymiarowanie przestrzeni dyskowej:



Oszacowanie rocznego przyrostu danych  



Okres inicjalnego ładowania danych



Oszacowanie  rozmiaru przestrzeni tymczasowej – w zależności od 
sposobu  ładowania danych 

marcin.mazurek@wat.edu.pl

20

background image

Serwer aplikacji 



Serwer aplikacji  (aplikacje WWW)



Aplikacja metadanych



Aplikacje analityczno-raportowe 



Aplikacje analityczno-raportowe 



Aplikacja administratora (obsługa błędów) 

marcin.mazurek@wat.edu.pl

21

background image

System backupu i odtwarzania



Kopia zapasowa 



Replikacja danych 



Zasoby dyskowe 



Zasoby dyskowe 



Biblioteki taśmowe 



Ś

rodowisko zapasowe w odległej 

lokalizacji 

marcin.mazurek@wat.edu.pl

22

background image

Klaster wydajnościowo-
niezawodnościowy



Dedykowane serwery - zagwarantowanie minimalnego 
poziomu wydajności dla grupy procesów  (zapytania) 



Możliwość przejęcia obciążenia z uszkodzonego 
serwera 

serwera 



Wirtualizacja - możliwość dynamicznej zmiany 
parametrów sprzętowych serwerów



Technologie 



Oracle RAC (Real Application Cluster)



Microsoft SQL Server Cluster

marcin.mazurek@wat.edu.pl

23