Zsbd-2st-1.2-w6.tresc-1.1-kolor, szkoła, bazy danch

[ Pobierz całość w formacie PDF ]
Zaawansowane Systemy Baz Danych – ZSBD
Obiektowe bazy danych
Implementacja
obiektowych baz danych
Wykład prowadzi:
Tomasz Koszlajda
Obiektowe bazy danych – Implementacja obiektowych baz danych
Niniejszy wykład jest poświecony problemom implementacji systemów obiektowych
baz danych. Nowe własności modelu danych wymagają wydajnej implementacji
uwzględniającej specyfikę obiektowego modelu danych i nowego modelu
przetwarzania..
1
Zaawansowana Systemy Baz Danych – ZSBD
Plan wykładu
• Architektura obiektowych systemów baz danych
uwzględniająca specyficzny model przetwarzania
• Fizyczne zarządzanie obiektami
• Wydajny dostęp do kolekcji obiektów
•Obsługa atrybutów i związków wielowartościowych
Obiektowe bazy danych – Implementacja obiektowych baz danych (2)
Celem wykładu jest poznanie rozwiązań implementacyjnych dedykowanych dla
obiektowych i obiektowo-relacyjnych systemów baz danych.
W ramach wykładu zostaną przedstawione nowe architektury systemów zarządzania
bazami danych uwzględniające charakterystyki przetwarzania danych właściwe dla
nowych dziedzin zastosowań. Następnie poznamy rozwiązania dotyczące fizycznego
zarządzania obiektami oraz nowe struktury danych przyśpieszające przeszukiwanie
dużych powiązanych kolekcji obiektów. Na końcu zostaną przedstawione rozwiązania
wydajnego przetwarzania atrybutów wielowartościowych i związków wielokrotnych.
2
Zaawansowana Systemy Baz Danych – ZSBD
Specyfika
obiektowego modelu danych
• Identyfikatory obiektów
•Powązania referencyjne między obiektami
• Atrybuty wielowartościowe
• Wyrażenia ścieżkowe
• Hierarchie rozszerzeń klas
•Duże obiekty
• Nowy model przetwarzania danych
Obiektowe bazy danych – Implementacja obiektowych baz danych (3)
Obiektowy model danych posiada wiele nowych unikalnych cech nieznanych w
relacyjnym modelu danych. Należą do nich systemowe identyfikatory obiektów OID,
referencyjne związki między obiektami, atrybuty wielowartościowe, wyrażenia
ścieżkowe i hierarchie rozszerzeń klas. Te nowe elementy modelu wymagają nowych i
wydajnych rozwiązań implementacyjnych.
Ponadto, dziedziny zastosowań obiektowych baz danych mają inne wymagania co
własności systemów baz danych. Dotyczy to na przykład konieczności
przechowywania w bazie danych bardzo dużych obiektów, do przechowywania na
przykład projektów, animacji lub długich dokumentów. Kolejną cechą specyficzną
nowych dziedzin zastosowań jest inny model przetwarzania danych, polegający na
wielokrotnym i intensywnym przetwarzaniu dużych powiązanych kolekcji obiektów, na
przykład w ramach systemy wspomagania projektowania. W systemach relacyjnych
podstawowe problemy wydajności dotyczyły efektywnego wyszukiwania w bardzo
dużych zbiorach danych niewielkich podzbiorów danych oraz efektywnej realizacji
operacji Å‚Ä…czenia relacji. W zastosowaniach obiektowych baz danych bardziej typowe
są operacje nawigacji wzdłuż długich hierarchicznych ścieżek powiązań.
3
Zaawansowana Systemy Baz Danych – ZSBD
Architektura obiektowych baz danych
Klasyczna architektura klient-serwer – przesyłanie zapytań
Klient
Serwer
zapytania
wyniki
Aplikacja
Przetwarzanie
zapytań
Baza
Danych
Obiektowa architektura klient-serwer – przesyłanie danych
Klient
żądanie strony
Serwer
Aplikacja
dane
modyfikacje
danych
ZarzÄ…dzanie
plikami
Baza
Danych
Bufor
stron
Przetwarzanie
zapytań
Obiektowe bazy danych – Implementacja obiektowych baz danych (4)
Model przetwarzania danych dla dziedzin zastosowań typowych dla okresu dominacji
relacyjnego modelu danych polega na jednokrotnym wykonywaniu przez danÄ…
transakcję małej liczby operacji na bardzo niewielkim podzbiorze danych bardzo dużej
bazy danych. Typowymi wykonywanymi operacjami w tym modelu sÄ… operacje selekcji
i łączenia. W bankowym systemie informatycznym typowym przykładem jest
transakcja wypłaty pieniędzy z konta obejmująca wyszukanie pojedynczej krotki
reprezentującej dane konto w zbiorze setek tysięcy kont, następnie dodanie
pojedynczej krotki do liczÄ…cego miliony krotek zbioru operacji bankowych i na koniec
zmodyfikowanie salda w pojedynczej krotce reprezentujÄ…cej konto.
Dla takiego wzorca przetwarzania właściwy model przepływu danych w architekturze
klient-serwer minimalizujący wolumen transferu danych, polega na przesyłaniu w
jedną stronężądań wykonania operacji na bazie danych i w drugą stronę niewielkich
przetwarzanych zbiorów danych. Przetwarzanie zapytań odbywa się w całości na
serwerze bazy danych. Do klientów przez sieć komputerową docierają tylko wyniki
tego przetwarzania, czyli najczęściej niewielkie podzbiory danych.
Model przetwarzania właściwy dla zastosowań typowych dla obiektowych baz danych
polega intensywnym przetwarzaniu stosunkowo dużego zbioru powiązanych danych.
W ramach pojedynczej sesji mają miejsce wielokrotne odwołania do tych samych
obiektów. Typowymi operacjami są nawigacje między powiązanymi obiektami lub w
głąb atrybutów złożonych. W systemie wspomagania projektowania przykładem są
operacje projektowe polegajÄ…ce na cyklicznych modyfikacjach niewielkiego zbioru
danych i ich weryfikacji w szerszym kontekście wszystkich powiązanych obiektów.
Dla takiego wzorca przetwarzania przedstawiony model przepływu danych nie jest
optymalny. Dla pojedynczej sesji projektowej wiązałby się on z bardzo dużą liczbą
żądań wykonania operacji przez serwer bazy i dodatkowo duża część tych żądań
powtarzałaby się. Bardziej wydajnym rozwiązaniem jest przeniesienie funkcjonalności
przetwarzania zapytań na stronę klienta serwera bazy danych. W tej sytuacji serwer
bazy danych będzie przesyłał do klienta całe strony dyskowe, które następnie będą
utrzymywane w lokalnym buforze stron dyskowych. Teraz wielokrotnie powtarzajÄ…ce
się odwołania do tych samych obiektów będą obsługiwane lokalnie.
4
Zaawansowana Systemy Baz Danych – ZSBD
Buforowanie obiektów
Buforowanie pojedynczych obiektów zamiast całych stron
dyskowych.
Klient
Serwer
obiekty
Bufor
obiektów
Object
Manager
Object
Manager
Aplikacja
File
Manager
Bufor
stron
Baza
Danych
Obiektowe bazy danych – Implementacja obiektowych baz danych (5)
Dla słabo pogrupowanych danych wydajność bufora stron klientów serwera bazy
danych będzie niska. Jedynie niewielki procent transferowanych i przechowanych w
buforze stron danych jest użyteczny. Reszta nie przetwarzanych w ramach danej sesji
obiektów, a znajdująca się na tych samych stronach dyskowych stanowi tylko zbędny
balast. Nawigacja do kolejnych obiektów przy przepełnionym niepotrzebnymi danymi
buforze stron będzie wymagała częstej i wielokrotnej wymiany stron w buforze.
Rozwiązaniem jest zastąpienie słabo wypełnionego użytecznymi z punktu widzenia
danej sesji danymi bufora stron lepiej upakowanym buforem obiektów. Serwer bazy
danych będzie dla minimalizacji transferu zamiast całych stron przesyłał do klienta
pojedyncze obiekty, a bufor obiektów klienta będzie służył do przechowywania jedynie
przetwarzanych w danym momencie obiektów. Dzięki lepszemu upakowaniu danych
w buforze znacznie rzadziej potrzebna będzie czasochłonna wymiana zawartości
bufora.
5
[ Pobierz całość w formacie PDF ]

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • apo.htw.pl

  •