03 Projekt fizyczny hurtowni danych


Hurtownie danych
Model fizyczny danych.
Elementy infrastruktury.
marcin.mazurek@wat.edu.pl 1
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
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
marcin.mazurek@wat.edu.pl 3
Skrypty zakładające bazę danych
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
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
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
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 wskaznikó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ęzle ,
Istnieją dolne i górne granice ograniczenia na liczbę kluczy w danym węzle ,
związane z minimalny stopniem B-drzewa t :
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
B-drzewa
Liczba dostępów jest do dysku jest
proporcjonalna do wysokości drzewa h.
n +1
n +1
h d" log
h d" logt
2
Współczynnik rozgałęzienia dobierany tak,
aby węzeł mieścił się w pamięci operacyjnej
marcin.mazurek@wat.edu.pl 8
Indeksy bitmapowe
Mapa bitowa
niewielki rozmiar,
Kolor Typ
szybkie przetwarzanie
Możliwość wykonania
ID Kolor Typ
1 Czerwony Sedan 1 1 0 0 0 1 0 0 0
1 Czerwony Sedan 1 1 0 0 0 1 0 0 0
wybranych operacji
wybranych operacji
2 Niebieski Kombi 2 0 1 0 0 0 1 0 0
3 Czerwony SUV 3 1 0 0 0 0 0 1 0
bezpośrednio na indeksie
4 Srebrny Hatchback 4 0 0 1 0 0 0 0 1
5 Srebrny Kombi 5 0 0 1 0 0 1 0 0
Mały rozmiar dla atrybutów dla
6 Czerwony Kombi 6 1 0 0 0 0 1 0 0
7 Czarny SUV 7 0 0 0 1 0 0 1 0
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
ki
ID
ny
SUV
Sedan
Kombi
Czarny
Niebies
Czerwo
Srebrny
Hatchba
Indeksy bitmapowe
Kolor Typ
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
marcin.mazurek@wat.edu.pl 10
ID
SUV
Sedan
Kombi
Czarny
Srebrny
Niebieski
Czerwony
Hatchback
Indeks połączeniowy
Indeks bitmapowy
Indeks B-drzewo
yródło: R.Wrembel Hurtowni danych w oparciu o Oracle 9i/10g, PLOUG 2005,
marcin.mazurek@wat.edu.pl 11
Zrównoleglanie operacji
Wykonanie operacji przy wykorzystaniu więcej niż jednego procesu
realizowanego na oddzielnych procesorach
marcin.mazurek@wat.edu.pl 12
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
Perspektywy zmaterializowane
CREATE MATERIALIZED VIEW
Perspektywa, której
BUILD IMMEDIATE
zawartość jest fizycznie
REFRESH COMPLETE
składowana w bazie
ENABLE QUERY REWRITE
AS SELECT SUM()
AS SELECT SUM()
danych
danych
FROM &
Odświeżanie danych:
GROUP BY &
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
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
ROLAP
http://www.businessobjects.com
marcin.mazurek@wat.edu.pl 16
MOLAP
Dedykowana
struktura
(wielowymiarowa
tablica indeksowana
tablica indeksowana
wartościami
atrybutów)
Tablica rzadka -
kompresja (1%-3%)
marcin.mazurek@wat.edu.pl 17
ROLAP vs MOLAP
Baza danych relacyjna Struktury wielowymiarowe
Aatwość aktualizacji Mniejsze
danych (korekty) zapotrzebowanie na
przestrzeń dyskową 
Ograniczenie liczby
efektywne
efektywne
elementów infrastruktury
elementów infrastruktury
przechowywanie danych
(możliwość
współdzielenia serwera Stały, krótszy czas
bazy danych) odpowiedzi.
Krótszy czas
wykonywanie procesów
zasilenia danych
marcin.mazurek@wat.edu.pl 18
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
Infrastruktura sprzętowa 
serwer bazy danych
Serwer bazy danych
Repozytorium główne
Obszar tymczasowy stage
kopie danych z systemów zró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
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
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
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


Wyszukiwarka

Podobne podstrony:
[Volmarg ] Hurtownie danych 1 Częściowe
Hurtownie danych 2 odp na ćwiczenia
01 Projektowanie relacyjnej bazy danych Czym jest relacyj
Hurtownie danych czyli jak zapewnic dostep do wiedzy tkwiacej w danych
Hurtownie Danych 1 Ćwiczenia całe
Hurtownia danych serwis samochodowy
01 Hurtownie danych
2006 03 Projekt dzialania
Projektowanie i tworzenie baz danych

więcej podobnych podstron