Obiektowe bazy danych rozproszenie

background image

Obiektowe bazy danych

Jarosław Koszela

background image

Tematyka

Podstawowe pojęcia z zakresu

obiektowości

Obszar oddziaływania obiektowości

Podstawowe założenia nakładane na

OBD

Cechy i kryteria oceny OBD

ODMG

background image

Geneza obiektowości w
informatyce

1967 rok

– powstanie języka Simula-

67 (klasy, dziedziczenie, funkcje
wirtualne)

1980 rok

– powstanie języka

Smalltalk (do dziś uważany jako
wzorzec obiektowości)

Powstanie i rozwój metod, notacji

wykorzystujących obiekty w procesie
projektowania systemów
informatycznych (OMT, UML);

Rozwój narzędzi i technologii

wykorzystujących obiekty (OOL, OBL;
CORBA,COM; ODB, RAD)

background image

Mechanizm abstrakcji

– budowa

abstrakcyjnych struktur i operowanie
tymi strukturami bez wnikania w ich
budowę;

Mechanizm kompozycji i dekompozycji

– grupowanie struktur w coraz
większe bryły; dekomponowanie
złożonych struktur na mniejsze
elementy i możliwość rozpatrywania
tych elementów niezależnie od całości
i od pozostałych elementów;

Ponowne użycie

– możliwość

wykorzystanie wcześniej stworzonych
obiektów w innych projektach;

Podstawowe pojęcia

background image

Obiekt (instancja)

– byt abstrakcyjny

lub rzeczywisty opisujący pewne
pojęcie lub rzecz obserwowaną w
świecie rzeczywistym, mogący
posiadać stan i swoje zachowanie
(behawior);

Klasa

– zbiór obiektów o jednakowej

strukturze wewnętrznej (atrybutach i
metodach);

Tożsamość obiektu

– każdy obiekt

rozróżnialny jest poprzez swoje
niezależne istnienie (byt) – adres
fizyczny, adres strukturalny, surogat;

Podstawowe pojęcia

background image

Hermetyzacja

– zasada odgradzania

od świata zewnętrznego szczegółów
realizacyjnych abstrakcji programowej
(procedury, modułu, klasy).
Obudowywanie danych polega na
udostępnianiu na zewnątrz tylko
niezbędnych metod działania na
obiekcie danych, wyraźnym
oddzieleniu jego interfejsu od
implementacji.

Powiązania (związki, asocjacje)

obiekty mogą być połączone poprzez
specjalne powiązania
(wskaźniki/referencje ; fizyczne,
symboliczne);

Podstawowe pojęcia

background image

Hierarchia klas i dziedziczenie

– klasy

są organizowane w hierarchię (lub
inną strukturę) zakresów
znaczeniowych; Klasy potomne
dziedziczą niezmienniki (definicje
atrybutów, metod, zdarzeń, itp.);

Operacje, metody, komunikaty

procedury wykonywane wewnątrz
obiektu. Obiekt wykonuje jedną z
przypisanych do niego operacji po
wysłaniu do niego komunikatu
określającego jej nazwę i parametry;

Podstawowe pojęcia

background image

Polimorfizm (późne wiązanie)

możliwość określania za pomocą
jednej nazwy wielu metod (działań na
obiektach), których właściwy dobór
odbywa się w trakcie wykonania
programu (metod, typów);

Trwałość

– niektóre obiekty zachowują

swój stan dłużej niż czas pojedynczego
uruchomienia programu. Trwałość jest
podstawową własnością obiektów
przechowywanych w bazach danych;

Podstawowe pojęcia

background image

Inżynieria oprogramowania

– metody

analizy i projektowania SI, notacje
graficzne (OMT, Booch, Coad/Yourdon,
UML, ...);

Języki programowania

– powstanie

nowej grupy języków OBL (Smalltalk,
Eiffel, Object C, ...) , modernizacja
języków strukturalnych- OOL (C, C++,
Pascal, Modula, Ada, ...) oraz
powstanie i rozwój nowych środowisk
programistycznych (4GL, RAD)

Obszary oddziaływania
obiektowości

background image

Bazy danych

– rozszerzenie SZRDB o

elementy związane z ideą
obiektowości (Oracle, IBM DB2/UDB2,
Informix, Sybase, SQL3, SQLJ,
PL/SQL, itd..) , powstanie i rozwój
SZOBD (GemStone, O2, Versant,
ObjectStore, Poet, Intersystems, OQL,
OSQL, itd. );

Współdziałanie systemów
heterogenicznych

– rozwój innych

systemów inf. opartych o klasy i
obiekty (np. systemy operacyjne) oraz
możliwość wymiany informacji
pomiędzy niezależnie budowanymi
heterogenicznymi systemami (OMG
CORBA, COM/DCOM)

Obszary oddziaływania obiektowości

background image

Obszary oddziaływania
obiektowości

algorytmy + struktury danych = programy

[metody + atrybuty] = obiekty

background image

Podstawowe założenia nakładane na
obiektowe bazy danych :

obowiązkowe

– złożone obiekty,

tożsamość obiektów, hermetyzacja, typy
lub klasy, dziedziczenie, przesłanianie i
późne wiązanie metod, rozszerzalność,
kompletność obliczeniowa, trwałość,
zarządzanie pamięcią pomocniczą,
współbieżność, odtwarzanie oraz
udogodnienia dla zapytań ad hoc.

Obiektowe bazy danych

background image

opcjonalne

– wielokrotne

dziedziczeniem (wielobazowe), kontrola
typów i wnioskowanie o typie,
rozproszenie bazy danych, transakcje
projektowe (długie lub zagnieżdżone)
oraz wersje;

otwarte

– projektanci systemów mają

pewną dowolność co do ich wyboru –
paradygmat programowania , system
typów , system reprezentacji;

Obiektowe bazy danych

background image

Obiektowe bazy danych

background image

Cechy obiektowych baz danych

Język schematu

- jasny, naturalny,

uniwersalny, powszechnie akceptowany
model danych i odpowiadający temu
modelowi język opisu danych;

Języki zapytań

- zapytania

interakcyjne ad hoc, zagnieżdżanie
zapytań;

Programowanie poprzez języki

zapytań

-bezszwowa integracja języka

zapytań (języka deklaratywnego) z
językiem programowania (językiem
imperatywnym); perspektywy,
zapamiętane procedury, reguły;

Optymalizacja zapytań

;

background image

Obiektowe programowanie wizyjne

(wizualne);

Interfejsy (wiązania)

do

programowania aplikacji (API) dla
popularnych języków programowania;

Wygodne środowisko

do tworzenia i

uruchamiania aplikacji;

Dynamiczna autoryzacja dostępu

;

Sprawne zarządzanie pamięcią

zewnętrzną, indeksowanie, buforowanie,
odśmiecanie;

Rozszerzalność, skalowalność

,

dynamiczna ewolucja schematu

Cechy obiektowych baz danych

background image

Wspomaganie dla więzów

integralności i aktywnych reguł;

Biblioteki klas

- dobrze

udokumentowane, uniwersalne,
elastyczne i minimalne oraz inne środki
ponownego użycia;

Zintegrowanie systemu z bogatym

zestawem narzędzi i udogodnień

(data

mining, CASE, data warehouses, pakiety
statystyczne, ...);

Cechy obiektowych baz danych

background image

Zarządzanie transakcjami

- kryterium

ACID

– niepodzielność (Atomicity)
– zgodność (Consistency)
– izolacja (Isolation)
– trwałość (Durability);

Składowanie (backup), odwracanie

(rollback) i odtwarzanie (recovery)

;

Cechy obiektowych baz danych

background image

Cechy obiektowych baz danych

Wersjonowanie, własności

temporalne, obiekty archiwalne

;

Integracja z serwisami Internetowymi

;

Współdziałanie systemów

heterogenicznych

– współpraca z

oprogramowaniem komponentowym
(CORBA, OpenDoc, JavaBeans, ActiveX);

Architektura klient-serwer

;

Zarządzanie rozproszonymi obiektami

,

rozproszone przetwarzanie,
optymalizacja zapytań w systemach
rozproszonych, globalny schemat,
integracja schematów federacyjna baza
danych ;

background image

Kryteria oceny obiektowych baz
danych

Wydajność (performance)

- jak szybki

jest produkt

Skalowalność (scalability)

- jak

produkt będzie działać gdy wzrośnie
liczba użytkowników i objętość danych?

Funkcjonalność (functionality)

- jakie

możliwosci i cechy produkt oferuje?

Zgodność ze standardami

- czy

produkt uzależnia od jednego
dostawcy?

Łatwość użycia (usability)

- ile wysiłku

kosztuje nauczenie się obsługi produktu
i jak łatwo będzie się go używać?

background image

Kryteria oceny obiektowych baz
danych

Nieuszkadzalność (reliability)

- jak

często produkt zawodzi?

Wspomaganie (support)

- czy

dostawca produktu zapewnia pomoc i
jest odpowiedzialny?

Środowisko (environment)

- na jakim

sprzęcie/systemie operacyjnym pracuje
produkt ?

Żywotność (viability)

- czy można

oczekiwać, że dostawca będzie
podtrzymywać produkt w przyszłości?

Cena (price)

- ile kosztuje produkt (w

krótkim czasie i w oczekiwanym
horyzoncie czasowym)?

background image

ODMG

ODMG - Object Database Management

Group

- Jest to konsorcjum powstałe w

wyniku porozumienia kilkunastu firm
oferujących swoje produkty określane
jako “obiektowe systemy zarządzania
bazami danych”.

Wersje :

ODMG-93 wersja 1.1 (grudzień 1993)

ODMG-93 wersja 1.2 (styczeń 1996)

ODMG wersja 2.0 (sierpień 1997)

background image

ODMG

background image

ODMG

Co podlega standaryzacji?

+

Interfejsy

– bez wnętrza OSZBD lub

jego architektury;

+

Model obiektowy

(pojęcia,

ograniczenia, terminologia);

+

Język definicji obiektów;

+/-

Format wymiany informacji

(przekazywania obiektów);

+/-

Obiektowy język zapytań;

background image

ODMG

Co podlega standaryzacji?

-

Abstrakcje wspomagające język

zapytań

(perspektywy, zapamiętane

procedury, aktywne reguły,...);

+

Wiązania do języków

programowania

- C++, Smalltalk,

Java,...;

-

Zintegrowany język programowania

aplikacji oparty o język zapytań (do
pisania metod);

-

Pomosty ( gateways)

do innych

systemów (np. relacyjnych);

background image

ODMG

Co podlega standaryzacji?

-

Administracje systemem

, katalogi

BD, dostęp do katalogów

-

Prawa dostępu, bezpieczeństwo

-

Narzędzia i usługi

(klasy systemowe,

biblioteki klas)

-

Protokoły wymiany informacji w

sieci

(np. IIOP)

background image

ODMG – wersja 2.0

ODMG 2.0:

Ramowa architektura OSZBD

Model obiektowy

Języki specyfikacji obiektów

– język

definicji obiektów ODL (nadzbiór OMG
IDL), format wymiany obiektów

Obiektowy język zapytań OQL

(składnia wzorowana na SQL)

Wiązanie do C++,

Smalltalk’a, Java

Dodatki

- porównanie z modelem

obiektowym OMG, OBD w środowisku
OMG CORBA

BD-

SQL

Tech.Ob.

CORBA

Języki-

Java,C++

background image

ODMG – wersja 2.0 – architektura
ramowa

background image

Bazy relacyjne – bazy obiektowe

Bazy relacyjne

Bazy obiektowe

Dane zawarte w tabelach

Tabele składają się z

kolumn

Typy - predefiniowalne

Liczba wierszy zmienna

Value-based

Nie ma wskaźników lecz

klucze zewnętrzne

Obiekt w bazie

reprezentuje obiekt w

świecie rzeczywistym

Typ obiektowy (klasa):

definicja złożonego

typu danych (może

zawierać inne typy

obiektowe lub ich

kolekcje)

procedury (metody) i

operatory do

manipulowania tymi

danymi

Identity-based

Hermetyzacja

Dziedziczenie:

strukturalne:

potomek dziedziczy

strukture danych

behawioralne:

potomek dziedziczy
metody i operatory

C

e

c

h

y

p

o

d

st

a

w

o

w

e

background image

Bazy relacyjne – bazy obiektowe

Bazy relacyjne

Bazy obiektowe

niezależność od języka

programowania

sprawdzone, dobrze

zdefiniowana teoria

możliwość zarządzania

wielką liczbą danych

możliwość złożonych

kryteriów

wyszukiwawczych

możliwość dostępu do

danych fizycznych

dobre mechanizmy

kontroli dostępu do
danych

mechanizmy perspektyw

dość łatwa reprezentacja

świata

dokładnie reprezentuje

złożone zależności między

obiektami

łatwość działania na

złożonych obiektach

duża podatność na

zmiany

możliwość definiowania

własnych typów, metod

dobra integracja z

językami programowania
ogólnego przeznaczenia

(np. C++, Smalltalk)

ujednolicony model

pojęciowy - obiektowe

podejście do analizy,

projektowania i
implementacji

Z

a

le

ty

background image

Bazy relacyjne – bazy obiektowe

Bazy relacyjne

Bazy obiektowe

brak bezpośredniej

reprezentacji relacji typu

n-m

dla trudniejszych

problemów, bardzo dużo

tabel

mało naturalna

reprezentacja danych

ograniczona podatność

na zmiany

brak złożonych typów

danych

trudne operowanie na

danych złożonych

trudne operowanie na

danych rozproszonych w

sieci heterogenicznej

niezgodność z modelem

używanym przez języki

ogólnego przeznaczenia
(impedance mismatch
)

powiązanie z jednym

językiem programowania

słaba obsługa

przeszukiwania danych

brak powszechnie

zaakceptowanego języka

zapytań

brak możliwości

optymalizacji zapytań

trudny lub nawet

niemożliwy dostęp do
fizycznych danych

słaba kontrola dostępu

małe możliwości

optymalizacji pracy

serwera

W

a

d

y

background image

Bazy relacyjne – bazy obiektowe

Bazy relacyjne

Bazy obiektowe

dane są proste, nie

zagnieżdżone, łatwe do

umieszczenia w tablicy

dane maja postać bierną,

a procesy korzystające z

danych stale się zmieniają

często potrzeba

wyszukać dane

spełniające różnorodne

warunki

dane maja złożoną lub

zagnieżdżoną strukturę

zdefiniowana przez
użytkownika

dane tworzą hierarchie

dane są rozproszone w

sieci heterogenicznej

dane dynamicznie

zmieniają swój rozmiar

Oracle, Informix,

Sybase, Ingres, DB2,

Ingress, Gupta, Access

GemStone, O2,

Persistence, Versant,

POET, Objectivity, ODI

L

e

p

sz

e

g

d

y

..

.

background image

Kierunek rozwoju obiektowości

System

operacyjny

BD-SQL

aplikacje

aplikacje

Technologia wykorzystywana w obecnie

eksploatowanych systemach informatycznych

background image

Kierunek rozwoju obiektowości

System

operacyjny

ORBD

aplikacje

aplikacje

Technologia wykorzystywana w obecnie

tworzonych systemach informatycznych

COM,

CORBA

background image

Kierunek rozwoju obiektowości

System

operacyjny

Klasy,

obiekt

Klasy,

obiekty

Technologia „jutra” w tworzeniu

systemów informatycznych

Klasy,

obiekt

Klasy,

obiekt

background image

A

B

C

D

E

F

W0

W1

W2

Wn

?

?

?

Rozproszenie jednego obiektowego
schematu struktury systemu na
wiele węzłów

background image

W1

W2

Wn

?

W0

Tworzenie nowego obiektowego
schematu struktury systemu przy
wykorzystaniu części (całości) wielu
istniejących struktur

background image

Rozproszenie jednego obiektowego
schematu struktury systemu na
wiele węzłów

Podstawowe aspekty rozproszenia

struktury systemu obiektowego :

Efektywne (optymalne)
rozproszenie struktury
obiektowego systemu na wiele
węzłów, przy uwzględnieniu
kosztów:

rozproszenia (utrzymanie n-
węzłów, niezawodność),

replikacji,

komunikacji,

realizacji zapytań w ROBD,

obsługa transakcji w ROBD,

background image

Rozproszenie jednego obiektowego
schematu struktury systemu na
wiele węzłów

Podstawowe aspekty rozproszenia

struktury systemu obiektowego :

Zapewnienie użytkownikom
„przezroczystości” rozproszenia,

zapewnienie spójności,
integralności OBD,

Zapewnienie odpowiedniego
poziomu wydajności i
niezawodności,

stworzenie „globalnego
schematu”,

heterogeniczność
wykorzystywanych środowisk w
ROBD

„przezroczystość” komunikacji
pomiędzy węzłami


Document Outline


Wyszukiwarka

Podobne podstrony:
Obiektowe bazy danych
R. 6-2 Struktura OBD-przyklad 1, Uczelniane, Semestr 2, Zaawansowane Systemy Baz Danych, WYKŁ [OZaik
Obiektowe bazy danych
głowacki,bazy danych, Obiektowe Bazy Danych
OBIEKTOWE BAZY DANYCH KACHEL CZECH
13 Bazy danych obiektowość wykładid 14617
2004 05 Rozproszone fraktale [Bazy Danych]
13 Bazy danych obiektowość wykład
10 Bazy danych obiektowość wykład
ROZPROSZONE BAZY DANYCH - ćwiczenia, informatyka
Bazy Danych relacyjne czy obiektowe
Rozproszone bazy danych
wykład 1 rozproszone bazy danych, RSZBD

więcej podobnych podstron