background image

 

 

dr inż. Stanisława Plichta

dr inż. Stanisława Plichta

INSTYTUT INFORMATYKI

INSTYTUT INFORMATYKI

konsultacje - pokój 144/8

konsultacje - pokój 144/8

wtorek 15-16

wtorek 15-16

środa 9-10

środa 9-10

BAZY DANYCH II

BAZY DANYCH II

BAZY DANYCH II

BAZY DANYCH II

background image

 

 

LITERATURA

LITERATURA

R. Wrembel, B.Bębel, Oracle projektowanie 

rozproszonych baz danych, Helion 2003

F.Greenwald, R.Stackowiak, J. Stern, Oracle 

Database 11g Wydawnictwo Naukowe PWN 

Warszawa 2009

S. Urman, R.Hardman, M. McLaughlin, ORACLE 

DATABASE 11g Programowanie w języku PL/SQL, 

Helion 2009

Lee Barney, Michael McLaughlin, Oracle 

database, Tworzenie aplikacji internetowych w 

Ajax i PHP, Helion 2010 

background image

 

 

Tematyka wykładów

Tematyka wykładów

Podstawowe pojęcia związane z rozproszonymi bazami 
danych

Środowisko ORACLE

Struktura RDBMS ORACLE

Język PL/SQL

stałe

zmienne (proste, złożone)

obiekty – atrybuty obiektów

struktury sterujące

komunikacja z użytkownikiem

background image

 

 

Tematyka wykładów

Tematyka wykładów

Zapytania w PL/SQL

INSERT, UPDATE, DELETE w PL/SQL

INSERT, UPDATE, DELETE w PL/SQL

Kursory (jawne, niejawne)

Kursory (jawne, niejawne)

Struktura bloku anonimowego

Struktura bloku anonimowego

Obsługa wyjątków

Obsługa wyjątków

Składowane programy PL/SQL

Składowane programy PL/SQL

Sekwencje

Sekwencje

Wyzwalacze

Wyzwalacze

Role

Role

Zapytania rozproszone

Zapytania rozproszone

Transakcje rozproszone

Transakcje rozproszone

background image

 

 

Rozproszone bazy danych

Rozproszona baza danych

Rozproszona baza danych

 

logicznie powiązany zbiór danych (oraz 

opis tych danych) współużytkowanych 

przez wiele osób, fizycznie rozproszony w 

sieci komputerowej

Rozproszony SZBD (RSZBD) 

oprogramowanie umożliwiające 

zarządzanie rozproszoną bazą danych oraz 

sprawiające, że fakt rozproszenia danych 

jest niewidoczny (przezroczysty) dla 

użytkownika

background image

 

 

Rozproszony system zarządzania 

Rozproszony system zarządzania 

bazą danych

bazą danych

Sieć 

komputero

wa

BD

BD

BD

Węzeł 2

Węzeł 4

Węzeł 3

Węzeł 1

background image

 

 

skalowalność

skalowalność 

dostępność

dostępność

łatwość zarządzania

łatwość zarządzania

bezpieczeństwo

bezpieczeństwo

Charakterystyka rozproszonych        

Charakterystyka rozproszonych        

            baz danych

            baz danych

background image

 

 

Przetwarzanie rozproszone

Przetwarzanie rozproszone

Sieć 

komputero

wa

BD

Węzeł 2

Węzeł 4

Węzeł 3

Węzeł 1

background image

 

 

Rozproszony system zarządzania 

Rozproszony system zarządzania 

bazą danych

bazą danych

Sieć 

komputero

wa

BD

BD

BD

Węzeł 2

Węzeł 4

Węzeł 3

Węzeł 1

background image

 

 

Cechy i własności rozproszonego 

Cechy i własności rozproszonego 

SZBD

SZBD

• Zbiór logicznie powiązanych współużytkowanych 

danych

• Dane są podzielone na fragmenty (części)
• Poszczególne fragmenty mogą być powielane
• Fragmenty są rozmieszczone na różnych 

komputerach

• Komputery są połączone za pomocą sieci 

komunikacyjnej

• Dane znajdujące się w każdym z węzłów systemu 

znajdują się pod kontrolą lokalnego SZBD

• Każdy lokalny SZBD może niezależnie uruchamiać 

lokalne aplikacje

• Każdy SZBD jest wykorzystywany w co najmniej 

jednej aplikacji globalnej

background image

 

 

Zalety RSZBD 

• Odzwierciedlenie struktury organizacyjnej
• większe możliwości współużytkowania danych 

oraz lokalna autonomia

• zwiększenie dostępności danych
• większa wiarygodność
• większa wydajność systemu
• rozwój modularny

background image

 

 

Wady RSZBD 

• Złożoność 
• Koszty 
• Trudniejsze zapewnienie bezpieczeństwa 
• Trudniejsza kontrola integralności 
• Brak standardów 
• Bardziej skomplikowane projektowanie bazy 

danych 

background image

 

 

• modyfikacja danych rozproszonych (realizacja transakcji 

rozproszonych)

• odtwarzanie poprawnego stanu bazy po awarii
• optymalizacja zapytań – bardziej złożona niż w przypadku 

danych scentralizowanych

• kontrola współbieżnego dostępu do danych (zwłaszcza w 

kontekście wielu kopii pojedynczej tabeli)

• potencjalna niejednorodność systemów lokalnych (modele 

danych, języki zapytań, systemy operacyjne, platformy 
sprzętowe)

Problemy r

Problemy r

ozproszonych baz danych

ozproszonych baz danych

background image

 

 

Funkcje RSZBD 

• Rozszerzone usługi komunikacyjne
• Rozszerzenie katalogu systemowego
• Przetwarzanie rozproszonych zapytań, ich 

optymalizacja, dostęp do odległych danych

• Rozszerzona ochrona bezpieczeństwa 

umożliwiająca stosowanie metod autoryzacji, 

nadawanie praw dostępu do danych 

rozproszonych

• Rozszerzona kontrola wielodostępu  - zachowanie 

spójności danych

• Rozszerzone możliwości odtwarzania danych po 

awarii węzła oraz łączy komunikacyjnych 

background image

 

 

Architektura wzorcowa dla  RSZBD 

Globalny schemat konceptualny

Globalny schemat  
zewnętrzny

Globalny schemat  
zewnętrzny

DB

. . . 

Globalny schemat  
zewnętrzny

Schemat fragmentacji

Schemat alokacji

Lokalny schemat  
odwzorowania

Lokalny schemat  
konceptualny

Lokalny schemat  
wewnętrzny

DB

Lokalny schemat  
odwzorowania

Lokalny schemat  
konceptualny

Lokalny schemat  
wewnętrzny

DB

Lokalny schemat  
odwzorowania

Lokalny schemat  
konceptualny

Lokalny schemat  
wewnętrzny

. . . 

background image

 

 

Komponenty rozproszonego  

RSZBD 

Sieć 

komputero

wa

Węzeł 1

Węzeł 3

RSZBD

Komponent 

komunikacyjn

y

Globalny katalog 

systemowy

LSZBD

Komponent            
Lokalny
komunikacyjny      SZBD

DB

lokalny 

katalog 

systemowy

background image

 

 

• Lokalny SZBD (LSZBD)

 – odpowiada za kontrolę 

lokalnych danych węzła. Posiada swój własny katalog 

systemowy, który przechowuje informację o danych w 

węźle sieci.

• Komponent komunikacyjny

 

(DC - data 

communications component)

 – oprogramowanie 

umożliwiające wzajemne komunikowanie się wszystkich 

węzłów. Zawiera informacje o wszystkich węzłach i 

połączeniach między nimi.

• Globalny katalog systemowy (GSC global system 

catalog)

 – zawiera informacje związane z rozproszonym 

charakterem systemu (schemat fragmentacji, replikacji, 

alokacji). W systemie tym każdy węzeł posiada własny 

lokalny katalog zawierający metadane dotyczące danych 

przechowywanych w tym węźle.

• Komponent rozproszony SZBD -

 jednostka sterująca 

całym systemem

Architektura komponentów RSZBD

Architektura komponentów RSZBD

background image

 

 

background image

 

 

Rozproszone bazy danych 

System zarządzania rozproszoną bazą danych 

(SZRBD)

Zbiór narzędzi umożliwiający połączenie rozproszonych zasobów w 

całość i udostępnianie ich użytkownikom

Architektura SZRBD:

• procesory danych

 – odpowiedzialne za zarządzanie danymi w 

poszczególnych węzłach

• procesor aplikacji

 – koordynator dostępu do danych w różnych 

węzłach

• oprogramowanie komunikacyjne

 – dostarcza podstawowe 

usługi do realizacji procesora aplikacji (np. JavaSpaces jako jedna 

z implementacji modelu wirtualnie współdzielonej pamięci)

background image

 

 

• Sposób odwzorowania logicznych jednostek 

danych w odpowiadające im zbiory jednostek 
fizycznych wraz z ich lokalizacją określa zawartość 
globalnego katalogu (słownika, repozytorium) 
RBD

• Zawartość globalnego katalogu stanowią:

– informacje o jednostkach fizycznych
– specyfikacje ograniczeń związanych z użyciem danych 

(prawa dostępu, więzy integralności)

– informacje użyteczne w procesie optymalizacji zapytań 

(np. parametry sprzętowe)

• Naturalny sposób realizacji globalnego katalogu –

odrębna baza danych

Globalny katalog danych

Globalny katalog danych

background image

 

 

Projektowanie rozproszonych baz 

danych 

• Podejście top-down 

– od ogółu do 

szczegółu, począwszy od analizy wymagań

• Podejście bottom-up

 – integracja 

istniejących baz danych

Zasada przeźroczystości lokalizacji i rozproszenia: 
zarówno miejsca, w których przechowuje się dane, 
jak i zasady podziału bądź powielenia danych 
powinny być ukryte przed użytkownikiem systemu 
z rozproszoną bazą danych

background image

 

 

Architektura schematów RBD 

podejście top-down 

background image

 

 

Architektura schematów RBD 

podejście top-down

• Schemat globalny

 – reprezentuje logiczny model 

danych, w którym występują logiczne jednostki 

danych  (wrażenie pojedynczej scentralizowanej bazy 

danych)

• Schemat podziału

 – obejmuje definicje fragmentów 

RBD określone na podstawie kryterium rozproszenia; 

fragmenty RBD reprezentują fizyczne jednostki 

danych (przede wszystkim tabele lokalnych baz 

danych)

• Schemat alokacji

 – określa zasady dystrybucji 

fragmentów RBD w sieci komputerowej (przydział 

fragmentów do węzłów, ewentualne powielenie 

fragmentu w kilku węzłach (replikacja – zgoda na 

redundancję danych w postaci wielu kopii tego 

samego fragmentu)

background image

 

 

Typy rozproszenia danych

Typy rozproszenia danych

• Kryterium rozproszenia danych określone w 

schemacie podziału prowadzi do:

– fragmentacji poziomej
– fragmentacji pionowej
– fragmentacji mieszanej

background image

 

 

Fragmentacja pozioma

Fragmentacja pozioma

background image

 

 

Fragmentacja pozioma

Fragmentacja pozioma

• Pojedynczy fragment logicznej jednostki danych 

definiowany na podstawie operacji selekcji

• Schemat każdego fragmentu – identyczny ze 

schematem logicznej jednostki danych

• Istnieje określony warunek logiczny (

dozór

), który 

jest spełniony przez każdy rekord należący do 
danego fragmentu; kryterium selekcji

• Operacja poprawnego scalenia fragmentów w 

spójną całość

background image

 

 

Fragmentacja pionowa

Fragmentacja pionowa

background image

 

 

Fragmentacja pionowa

Fragmentacja pionowa

• Każdy fragment stanowi podzbiór atrybutów 

logicznej jednostki danych definiowany za 
pomocą operacji projekcji

• Warunek konieczny poprawnego zbudowania 

zbioru rekordów odpowiadającego logicznej 
jednostce danych – obecność klucza głównego w 
każdym fragmencie

• Operacja poprawnego scalenia fragmentów w 

spójną całość – równozłączenie

background image

 

 

Fragmentacja pionowa

Fragmentacja pionowa

Oddzielenie od siebie grup atrybutów 

reprezentujących informacje o tym samym 

obiekcie, ale o różnym charakterze, które 

może służyć

:

– ukryciu ich przed osobami nieupoważnionymi
– umożliwieniu ich współbieżnej modyfikacji

background image

 

 

Fragmentacja mieszana

Fragmentacja mieszana

background image

 

 

Fragmentacja jest procesem rozdzielenia 

zbioru danych na kilka podzbiorów 
(nazywanych fragmentami)

Fragmentacja danych

Fragmentacja danych

hybrydowa 
(mieszana)

horyzontalna 

(pozioma)

wertykal

na 

(pionow

a)

background image

 

 

Charakterystyka rozproszonych baz 

Charakterystyka rozproszonych baz 

danych

danych

FRAGMENTACJA

• aby polepszyć wydajność transakcji 

oraz lokalność transakcji

􀂋 

ALOKACJA

• aby zredukować koszt 

przetwarzania transakcji

􀂋 REPLIKACJA

REPLIKACJA

• aby zwiększyć dostępność i 

niezawodność

background image

 

 

Alokacja jest procesem umieszczenia 

każdego fragmentu w jednym lub 

więcej miejscach (węzłach)

• alokacja bez redundancji

 (porcjowa - 

każdy fragment jest umieszczony 

dokładnie w jednym węźle)

• alokacja z redundancją

 (częściowa 

lub pełna replikacja - każdy fragment 

może być powielony w większej 

liczbie węzłów)

Typy rozproszenia danych

Typy rozproszenia danych

background image

 

 

Fragmentacje:

• przy przemyślanym rozproszeniu i alokacji 

większość operacji będzie dokonywana na danych 
lokalnych -mniejsze obciążenie sieci 

(+)

• uzyskanie pełnego obrazu logicznej jednostki 

danych wymaga zebrania w całość danych z wielu 
węzłów 

(–)

Replikacje:

• wystarczy dostęp do „najbliższej” kopii danych (np. 

lokalnej), większa odporność na awarie węzłów 

(+)

• konieczność aktualizacji każdej kopii dla 

podtrzymania ich spójności 

(–)

Typy rozproszenia danych – wady zalety

Typy rozproszenia danych – wady zalety

background image

 

 

Idea fragmentacja poziomej, replikacji i alokacji 

fragmentów

background image

 

 

Architektura schematów RBD

podejście bottom-up

background image

 

 

Architektura schematów RBD

podejście bottom-up

Schemat lokalny

 – schemat fizyczny lokalnej bazy 

danych, wyrażony w 

lokalnym

 języku i reprezentujący 

lokalny

 model danych

Schemat eksportu

 – otrzymywany przez konwersję do 

kanonicznego (wspólnego) modelu danych - zawiera 

wybrane, udostępnione przez system lokalny elementy 

(autonomia systemu lokalnego)

Wszystkie schematy eksportu są integrowane w schemat 

globalny

Na bazie schematu globalnego można dla poszczególnych 

użytkowników sformułować schematy zewnętrzne, które 

tworzą mechanizm bezpieczeństwa –udostępnienie 

konkretnego schematu zewnętrznego danemu 

użytkownikowi ukrywa przed nim elementy, które nie 

zostały zawarte w jego schemacie

background image

 

 

System wielobazowy (multidatabase)

Przykład efektu podejścia bottom-up

• System utworzony przez integrację informacji z 

wcześniej niezależnie od siebie funkcjonujących 

baz lokalnych, nadzorowanych przez lokalne 

systemy zarządzania bazą danych

• Użytkownik dysponuje mechanizmami dostępu do 

danych rozproszonych dzięki 

komponentowi 

globalnemu

 - formułuje zapytania globalne

• Włączenie lokalnej bazy danych do systemu 

wielobazowego zwiększa zasięg dostępności 

danych, nie powinno jednak mieć wpływu na jej 

funkcjonowanie jako scentralizowanej bazy danych, 

z której korzystają aplikacje lokalne (autonomia 

systemu lokalnego)

background image

 

 

Homogeniczne i heterogeniczne 

RSZBD 

Homogeniczne 

Homogeniczne 

–  wszystkie węzły wykorzystują tę samą wersję 

oprogramowania SZBD, 

– projektowanie i zarządzanie proste, 
– możliwy przyrostowy rozwój systemu

Heterogeniczne 

Heterogeniczne 

–  węzły mogą wykorzystywać różne oprogramowanie 

SZBD, 

– różne modele danych (relacyjne, sieciowe, hierarchiczne, 

obiektowe), 

– konieczność tłumaczenia między protokołami i językami 

stosowanymi przez różne SZBD,

– odwzorowania struktur danych,


Document Outline