[ Pobierz całość w formacie PDF ]
Zaawansowane systemy baz danych - ZSBD
Rozproszone bazy danych – 3
Optymalizacja zapytań rozproszonych
Laboratorium przygotował:
Robert Wrembel
ZSBD – laboratorium 3 (1)
1
Zaawansowane systemy baz danych - ZSBD
Plan laboratorium
• Zapytanie rozproszone i jego plan wykonania
•Narzędzia analizy planu wykonania zapytania
• Studium przypadku
– filtrowanie danych z tabeli zdalnej
– grupowanie i sortowanie danych z tabeli zdalnej
– łączenie tabeli lokalnej i zdalnej
• Zastosowanie perspektywy w optymalizacji
• Zastosowanie wskazówek w optymalizacji
ZSBD – laboratorium 3 (2)
Celem laboratorium jest omówienie podstawowych problemów optymalizacji
zapytań rozproszonych i technik ich rozwiązywania. Zostaną one zilustrowane
implementacjÄ… w systemie Oracle9i/10g. W ramach laboratorium zostanÄ…
omówione następujące zagadnienia:
- charakterystyka zapytania rozproszonego i plan jego wykonania,
-narzędzia Oracle analizy planu wykonania,
- studium przypadku obejmujÄ…ce analizÄ™ technik filtrowania danych z tabeli
zdalnej, grupowania i sortowania danych z tabeli zdalnej, Å‚Ä…czenie tabeli lokalnej
i zdalnej,
- zastosowanie tradycyjnych perspektyw (ang. view) w optymalizacji zapytań
rozproszonych,
- zastosowanie wskazówek optymalizatora kosztowego w optymalizacji zapytań
rozproszonych.
2
Zaawansowane systemy baz danych - ZSBD
Zapytanie rozproszone
•Odwołuje się przynajmniej do dwóch różnych baz
danych, z których przynajmniej jedna jest bazą
zdalnÄ…
select s.ilosc, p.nazwa
from sprzedaz s, produkty@BD2_link
where s.produkt_id=p.produkt_id;
BD1
BD2
SPRZEDAZ
BD2_link
PRODUKTY
ZSBD – laboratorium 3 (3)
Zapytanie rozproszone to takie zapytanie, które odwołuje się przynajmniej do
dwóch różnych baz danych, z których jedna jest bazą zdalną.
W przykładowej architekturze ze slajdu, zapytanie rozproszone zainicjowano z
bazy lokalnej BD1. Zapytanie to Å‚Ä…czy lokalnÄ… tabelÄ™ SPRZEDAZ (w bazie BD1)
ze zdalną tabelą PRODUKTY (w bazie BD2). Odwołanie do tabeli w zdalnej
bazie danych zostało zrealizowane za pomocąłącznika bazy danych (ang.
database link) o nazwie BD2_link.
3
Zaawansowane systemy baz danych - ZSBD
Definicje
• Baza lokalna/baza inicjująca – baza danych, w której
wydano zapytanie rozproszone
• Baza zdalna – baza danych umieszczona na zdalnym
serwerze, do której odwołuje się zapytanie z bazy
lokalnej
ZSBD – laboratorium 3 (4)
W dalszej części laboratorium będą wykorzystywane dwa następujące pojęcia:
1. Baza lokalna (zwana również bazą inicjującą) jest to baza danych, w której wydano
zapytanie rozproszone.
2. Baza zdalna jest to baza danych umieszczona na zdalnym serwerze, do której
odwołuje się zapytanie z bazy lokalnej.
4
Zaawansowane systemy baz danych - ZSBD
Wykonanie zapytania rozproszonego
• Krok 1: rozbicie na zapytania cząstkowe, każde do
jednej bazy danych
• Krok 2: optymalizacja, wykonanie zapytania
cząstkowego w obsługującej je bazie danych i
przekazanie wyniku
• Krok 3: integrowanie wyników cząstkowych zgodnie z
zapytaniem rozproszonym
ZSBD – laboratorium 3 (5)
Zapytanie rozproszone kierowane do kilku zdalnych baz danych jest realizowane
w nast
Ä™
puj
Ä…
cych krokach.
1. Lokalna baza danych, w której jest realizowane zapytanie rozproszone,
rozbija je na zapytania cz
Ä…
stkowe. Ka
ż
e z zapyta
Å„
cz
Ä…
stkowych jest kierowanie
niezale
ż
nie do odpowiedniej zdalnej bazy danych.
2. W zdalnej bazie danych zapytanie jest optymalizowane, wykonywane, a
jego wynik jest przekazywany do bazy inicjuj
Ä…
cej zapytanie.
3. Po otrzymaniu wyników wszystkich zapyta
Å„
cz
Ä…
stkowych, baza inicjuj
Ä…
ca
realizuje operacje
Å‚Ä…
czenia, agregowania i sortowania wyników cz
Ä…
stkowych.
Optymalizator zapyta
Å„
w SZBD w lokalnej bazie danych nie ma informacji na
temat dodatkowych struktur fizycznych wykorzystywanych w zdalnych bazach
danych, ani te
ż
na temat statystyk dla struktur w zdalnych bazach danych.
5
[ Pobierz całość w formacie PDF ]