Obiektowe bazy danych, aktualizowalne perspektywy i technologie gridowe

15
K.Subieta: Obiektowe bazy danych, aktualizowalne Obiektowe bazy danych, aktualizowalne perspektywy i technologie gridowe perspektywy i technologie gridowe, slajd 1 Lipiec 2004 Obiektowe bazy danych, Obiektowe bazy danych, aktualizowalne perspektywy i aktualizowalne perspektywy i technologie gridowe technologie gridowe Prelegent: Kazimierz Subieta Zespół Baz Danych i Systemów Rozproszonych IPI PAN Katedra Systemów Informacyjnych PJWSTK

description

Obiektowe bazy danych, aktualizowalne perspektywy i technologie gridowe. Prelegent: Kazimierz Subieta Zespół Baz Danych i Systemów Rozproszonych IPI PAN Katedra Systemów Informacyjnych PJWSTK. Dlaczego obiektowe bazy danych?. Modelowanie pojęciowe: - PowerPoint PPT Presentation

Transcript of Obiektowe bazy danych, aktualizowalne perspektywy i technologie gridowe

Page 1: Obiektowe bazy danych, aktualizowalne perspektywy i technologie gridowe

K.Subieta: Obiektowe bazy danych, aktualizowalne perspektywy i technologie gridoweObiektowe bazy danych, aktualizowalne perspektywy i technologie gridowe, slajd 1 Lipiec 2004

Obiektowe bazy danych, Obiektowe bazy danych, aktualizowalne perspektywy i aktualizowalne perspektywy i

technologie gridowetechnologie gridowe

Prelegent: Kazimierz SubietaZespół Baz Danych i Systemów Rozproszonych IPI PANKatedra Systemów Informacyjnych PJWSTK

Page 2: Obiektowe bazy danych, aktualizowalne perspektywy i technologie gridowe

K.Subieta: Obiektowe bazy danych, aktualizowalne perspektywy i technologie gridoweObiektowe bazy danych, aktualizowalne perspektywy i technologie gridowe, slajd 2 Lipiec 2004

Dlaczego obiektowe bazy danych?Dlaczego obiektowe bazy danych?

• Modelowanie pojęciowe:– Sprzyjanie naturalnym ludzkim własnościom w zakresie percepcji i

rozumienia świata.– Zmniejszenie dystansu pomiędzy modelem koncepcyjnym

(biznesowym) przedsięwzięcia informatycznego a modelem implementacyjnym.

• Zasada abstrakcji (enkapsulacji):– umożliwienie projektowania i zarządzania bryłami koncepcyjnymi

(obiektami) bez potrzeby wnikania w ich wewnętrzną strukturę

• Zasada dekompozycji– umożliwienie zdekomponowania złożonego problemu na pod-

problemy

• Zasada ponownego użycia (otwarte-zamknięte):– umożliwienie tworzenie brył koncepcyjnych (klas) zamkniętych dla

modyfikacji, ale otwartych dla rozszerzeń.

Page 3: Obiektowe bazy danych, aktualizowalne perspektywy i technologie gridowe

K.Subieta: Obiektowe bazy danych, aktualizowalne perspektywy i technologie gridoweObiektowe bazy danych, aktualizowalne perspektywy i technologie gridowe, slajd 3 Lipiec 2004

Cechy obiektowych baz danychCechy obiektowych baz danych

• Złożone obiekty: mogą być dowolnie duże.

• Kolekcje: obiekty o podobnych własnościach.

• Powiązania. związki asocjacyjne między obiektami.

• Hermetyzacja. Rozróżnienie pomiędzy interfejsem do obiektu a implementacją obiektu; ukrywanie implementacji.

• Klasy. Cechy niezmienne dla zbiorów obiektów.

• Metody. Procedury wykonywane w środowisku wnętrza obiektu.

• Hierarchia klas i dziedziczenie: klasy szczegółowe dziedziczą niezmienniki swoich nad-klas.

• Polimorfizm. Wywołana operacja zależy od rodzaju obiektu.

• Trwałość. Obiekty żyją dowolnie długo.

Page 4: Obiektowe bazy danych, aktualizowalne perspektywy i technologie gridowe

K.Subieta: Obiektowe bazy danych, aktualizowalne perspektywy i technologie gridoweObiektowe bazy danych, aktualizowalne perspektywy i technologie gridowe, slajd 4 Lipiec 2004

Obiektowe języki zapytańObiektowe języki zapytań

• Język zapytań – interfejs dostępu i wyszukiwania w bazie danych.– Wysoki poziom abstrakcji i konceptalizacji

• SQL – najbardziej popularny język zapytań do relacyjnych baz danych, uważany za główne źródło ich sukcesu– Liczne próby przeniesienia tego sukcesu na grunt obiektowych i XML-

owych baz danych – dziesiątki pomysłów - ograniczonych i/lub niespójnych

• Podejście stosowe (Stack-Based Approach) –podejście najbardziej konsekwentne i uniwersalne– Praca habilitacyjna (K.Subieta, 1984-89)– Bazujące na wszechstronnych praktycznych doświadczeniach– Udoskonalone i rozszerzone (w ciągu 20 lat) pod względem

koncepcyjnym i dydaktycznym

Page 5: Obiektowe bazy danych, aktualizowalne perspektywy i technologie gridowe

K.Subieta: Obiektowe bazy danych, aktualizowalne perspektywy i technologie gridoweObiektowe bazy danych, aktualizowalne perspektywy i technologie gridowe, slajd 5 Lipiec 2004

Podejście stosowe do języków zapytańPodejście stosowe do języków zapytań

• Alternatywa dla relacyjnych algebr, relacyjnych rachunków, specjalnych logik i innych pomysłów.

• Założenie: języki zapytań są rodzajem języków programowania.

• Uogólniony stos środowiskowy jako podstawa definicji operatorów języków zapytań.

• Precyzyjna semantyka podana w formie abstrakcyjnej implementacji (semantyka operacyjna).

• Duży potencjał dla optymalizacji zapytań.• Daje możliwość definiowania języków zapytań dla dowolnego

modelu składu: relacyjnego, obiektowo-relacyjnego, obiektowego, XML-owego, itd.

• Rozszerzenia w kierunku konstrukcji imperatywnych, procedur, funkcji, metod, perspektyw, mocnej kontroli typów.

Page 6: Obiektowe bazy danych, aktualizowalne perspektywy i technologie gridowe

K.Subieta: Obiektowe bazy danych, aktualizowalne perspektywy i technologie gridoweObiektowe bazy danych, aktualizowalne perspektywy i technologie gridowe, slajd 6 Lipiec 2004

Język zapytań SBQL Język zapytań SBQL (Stack-Based Query Language)(Stack-Based Query Language)

• Pełna modularność i ortogonalność• Formalna implementowalna semantyka• Abstrakcyjna składnia

– posmak algebry, logiki, rachunku, itp.

• Rozszerzenia w kierunku języków programowania.• Szereg implementacji:

– Netul, Loqis, XML DOM, ICONS, YAOD, Objectivity/DB, BPQL, ODRA (nad rozwojem pracuje obecnie ok. 20 osób),

• SBA i SBQL nauczane w PJWSTK (2 semestry, 60h wykładów + 60h laboratoriów)

• Ukończona książka (ok. 530 stron)

Page 7: Obiektowe bazy danych, aktualizowalne perspektywy i technologie gridowe

K.Subieta: Obiektowe bazy danych, aktualizowalne perspektywy i technologie gridoweObiektowe bazy danych, aktualizowalne perspektywy i technologie gridowe, slajd 7 Lipiec 2004

Przykład zapytaniaPrzykład zapytania

FZ[0..*]Osoba[0..*]NazwiskoImię[1..*]Adres[1..*]

ZF PZ[0..*]ZPFirma[0..*]NazwaMiejsce[1..*]

Zatrudnienie[0..*]Wypłata[0..*]Ocena[1..*]

Pracownik[0..*]Stan[1..*]

Podaj nazwiska i stanowiska pracowników pracujących w firmach zlokalizowanych w Radomiu:

SBQL, model obiektowy:

(Firma where ”Radom” Miejsce). FZ.Zatrudnienie.ZP.Pracownik. (Nazwisko, Stan)

SQL, po odwzorowaniu powyższego schematu na model relacyjny

select s.Nazwisko, w.Stan from Firma as f, Lokal as k, Zatrudnienie as z, Pracownik as p, Wyszkolenie as w, Osoba as swhere k.Miejsce = “Radom” and k.NrF = f.NrF and f.NrF = z.ZF and z.ZP = p.NrP and w.NrP = p.NrP and p.NrOs = s.NrOs

Page 8: Obiektowe bazy danych, aktualizowalne perspektywy i technologie gridowe

K.Subieta: Obiektowe bazy danych, aktualizowalne perspektywy i technologie gridoweObiektowe bazy danych, aktualizowalne perspektywy i technologie gridowe, slajd 8 Lipiec 2004

Perspektywy Perspektywy ((viewsviews))

• Określają dane wirtualne („istniejące” w wyobraźni programisty).• Są definiowane poprzez język zapytań i używane w zapytaniach. • Umożliwiają przystosowanie schematu bazy danych do wymagań

użytkownika. • Ograniczają dostęp do danych.• Liczne zastosowania praktyczne dla wielu celów.• Problemy związane z perspektywami:

– Uniwersalność: język perspektyw powinien dawać możliwość dowolnego odwzorowania zapamiętanych danych w dane wirtualne.

– Przezroczystość dla wyszukiwania i aktualizacji. Z punktu widzenia użytkownika lub programisty nie występują jakiekolwiek różnice w operowaniu na zapamiętanych i wirtualnych danych.

– Problem aktualizacji danych wirtualnych jest znany od 1974 roku, ale do czasu SBQL nie doczekał się uniwersalnego rozwiązania.

– Optymalizacja: efektywna realizacja zapytań odwołujących się do perspektyw.

Page 9: Obiektowe bazy danych, aktualizowalne perspektywy i technologie gridowe

K.Subieta: Obiektowe bazy danych, aktualizowalne perspektywy i technologie gridoweObiektowe bazy danych, aktualizowalne perspektywy i technologie gridowe, slajd 9 Lipiec 2004

Problem aktualizowalnych perspektywProblem aktualizowalnych perspektyw

• Perspektywa jest odwzorowaniem zapamiętanych danych na zasadzie „wiele do jednego”.

• Stąd odwzorowanie aktualizacji danych wirtualnych na aktualizacje danych rzeczywistych zwykle nie jest jednoznaczne.– Np. jeżeli perspektywa zwraca średni zarobek pracowników, to

zwiększenie średniego zarobku o 100 zł może być odwzorowane na aktualizację zapamiętanych danych na nieskończenie wiele sposobów.

• Cały wysiłek teoretyków (setki prac) skupił się na ustalaniu ograniczeń, przy których perspektywę można aktualizować jednoznacznie, bez anomalii i efektów ubocznych.

• Ten wysiłek jest przykładem skierowania badań na boczny, scholastyczny tor omijający rzeczywisty problem. Przez to otrzymane wyniki okazały się dla praktyki bezużuteczne.

Page 10: Obiektowe bazy danych, aktualizowalne perspektywy i technologie gridowe

K.Subieta: Obiektowe bazy danych, aktualizowalne perspektywy i technologie gridoweObiektowe bazy danych, aktualizowalne perspektywy i technologie gridowe, slajd 10 Lipiec 2004

Rewolucyjny pomysł Rewolucyjny pomysł • Pomysł aktualizowalnych procedur polega na uzupełnieniu definicji

perspektywy poprzez informacje o intencji użytkownika.– Podobnie jest w instead of trigger views systemów Oracle i SQL Server.

• Pierwsza część definicji odwzorowuje zapamiętane obiekty w obiekty wirtualne (podobnie jak w SQL). Ma postać procedury funkcyjnej zwracającej byty zwane „ziarnami”.

• Druga część re-definiuje generyczne operacje aktualizacyjne działające na obiektach wirtualnych.

• Są to cztery procedury mające ziarno jako parametr:– on_delete usuwa obiekt wirtualny,– on_retrieve zwraca wartość obiektu wirtualnego,– on_insert wkłada dany obiekt do wnętrza obiektu wirtualnego– on_update modyfikuje obiekt wirtualny zgodnie z parametrem aktualizacji.

• W ten sposób osoba definiująca perspektywę może przejąć kontrolę nad dowolną operacją wykonywaną na wirtualnym obiekcie, realizując w ten sposób w pełni zasadę przezroczystości perspektyw.– Wszystkie tzw. „kryteria aktualizowalności perspektyw” wyrzucamy do śmieci.

Page 11: Obiektowe bazy danych, aktualizowalne perspektywy i technologie gridowe

K.Subieta: Obiektowe bazy danych, aktualizowalne perspektywy i technologie gridoweObiektowe bazy danych, aktualizowalne perspektywy i technologie gridowe, slajd 11 Lipiec 2004

Przykład aktualizowalnej perspektywyPrzykład aktualizowalnej perspektywy• Baza danych zawiera

obiekty Prac i Dział połączone związkami PracujeW/Zatrudnia oraz Kieruje/Szef.

• Obiekty wirtualne PracSzef zawierają tylko nazwisko pracownika i nazwisko szefa.

• Aktualizacja nazwiska szefa ma oznaczać nie zmianę jego nazwiska, lecz przeniesienie pracownika do działu, którego szefem jest pracownik z tym nazwiskiem.

create view PracSzefDef {

virtual objects PracSzef { return Prac as p };

on_delete do { delete p };

create view NazwPracDef { virtual objects NazwPrac { return p.Nazwisko as n }; on_retrieve do { return n } }

create view NazwSzefaDef { virtual objects NazwSzefa { return p.PracujeW.Dział.Szef.Prac.Nazwisko as s }; on_retrieve do{ return s }; on_update( NowySzef ) do { p.PracujeW := ref Dział where (Szef.Prac.Nazwisko)= NowySzef }}}

Przenieś Nowaka do działu kierowanego przez Bryla:

(PracSzef where NazwPrac = ”Nowak”).NazwSzefa := ”Bryl”

Page 12: Obiektowe bazy danych, aktualizowalne perspektywy i technologie gridowe

K.Subieta: Obiektowe bazy danych, aktualizowalne perspektywy i technologie gridoweObiektowe bazy danych, aktualizowalne perspektywy i technologie gridowe, slajd 12 Lipiec 2004

Grid computingGrid computing

• Grid computing jest nową wersją starego marzenia o masowej równoległości przetwarzania.

• Grid ma zsumować zasoby wielu (tysięcy) komputerów w jeden ogromny wirtualny komputer

• Nowy termin wzbudza nowe nadzieje i nowe środki przeznaczone na realizację starego marzenia.

• Wiele obecnych technologii jest mniej lub bardziej udaną realizacją tego marzenia.

– CORBA, RMI, Web Services (OGSA), J2EE, .NET, ...– Sieci P2P– Federacyjne bazy danych (Oracle 10G)– Technologie agentowe (???)– ...

• Nowa kultura informacyjna, w której usługa jest na pierwszym planie, zaś usługodawca na drugim (jeżeli w ogóle).

Page 13: Obiektowe bazy danych, aktualizowalne perspektywy i technologie gridowe

K.Subieta: Obiektowe bazy danych, aktualizowalne perspektywy i technologie gridoweObiektowe bazy danych, aktualizowalne perspektywy i technologie gridowe, slajd 13 Lipiec 2004

Cztery najważniejsze problemy gridówCztery najważniejsze problemy gridów

• Przezroczystość (transparency): traktowanie rozproszonych zasobów i usług tak, jak gdyby były one wewnątrz przestrzeni adresowej jednego komputera.– przezroczystość ma wiele form: lokacji, implementacji, replikacji,

fragmentacji, współbieżności, transakcji, awarii, indeksowania, ...

• Bezpieczeństwo: przeciwdziałanie losowym awariom oraz możliwościom ataku z zewnętrz.

• Interoperacyjność (interoperability): umożliwienie współpracy heterogenicznych platform, aplikacji, logik biznesowych i organizacji danych.

• Efektywność: uzyskanie czasów przetwarzania akceptowalnych dla szerokiego kręgu użytkowników rozproszonych aplikacji.

Page 14: Obiektowe bazy danych, aktualizowalne perspektywy i technologie gridowe

K.Subieta: Obiektowe bazy danych, aktualizowalne perspektywy i technologie gridoweObiektowe bazy danych, aktualizowalne perspektywy i technologie gridowe, slajd 14 Lipiec 2004

Od aktualizowalnych perspektyw do griduOd aktualizowalnych perspektyw do gridu

Globalny klient 1

Globalny klient 2

Globalny klient 3

Schematglobalny Globalny wirtualny serwer

obiektów i usług

Perspektywy globalne

Protokół komunikacyjnyProjektant gridu

Schemat integracyjny

Lokalny serwer B obiektów i usług

Lokalna baza danych

Perspektywy kontrybucyjne

Schemat kontrybucyjny

Lokalny serwer A obiektów i usług

Lokalna baza danych

Perspektywy kontrybucyjne

Schemat kontrybucyjny

...

...

Page 15: Obiektowe bazy danych, aktualizowalne perspektywy i technologie gridowe

K.Subieta: Obiektowe bazy danych, aktualizowalne perspektywy i technologie gridoweObiektowe bazy danych, aktualizowalne perspektywy i technologie gridowe, slajd 15 Lipiec 2004

PodsumowaniePodsumowanie• W tej chwili następuje konsolidacja dużej grupy badawczej wokół

dobrze zdefiniowanych celów naukowych i praktycznych.

• Kluczem do przebicia się na większym forum światowym jest realizacja własnego systemu o unikalnych własnościach (not „yet another”).

• Mamy pomysł na taki system. Pierwsze rezultaty są osiągnięte (obiektowa baza danych, język SBQL), dalsze będą przedmiotem prac w bieżącym i przyszłym roku.

• Bardzo istotne jest zabieganie o finanse. Bez nich prace implementacyjne nie nabiorą rozmachu. Szanse na granty może zwiększyć pokazanie praktycznej skuteczności.

• Naszymi głównymi atutami podczas przebijania się na forum światowym są: podejście stosowe do obiektowych języków zapytań, aktualizowalne perspektywy i technologie gridowe.