Transparent Integration of Distributed Resources within Object-Oriented Database Grid

Post on 13-Mar-2016

34 views 0 download

description

Transparent Integration of Distributed Resources within Object-Oriented Database Grid. Przezroczysta integracja rozproszonych zasobów wewnątrz obiektowego bazodanowego gridu. Kamil Kuliberda Promotor: prof. dr hab. inż. Kazimierz Subieta. Plan prezentacji. Wprowadzenie Tezy pracy - PowerPoint PPT Presentation

Transcript of Transparent Integration of Distributed Resources within Object-Oriented Database Grid

Transparent Integration of Distributed Resources within Object-Oriented

Database Grid

Kamil Kuliberda

Promotor: prof. dr hab. inż. Kazimierz Subieta

Przezroczysta integracja rozproszonych zasobów wewnątrz obiektowego

bazodanowego gridu

2

Plan prezentacji• Wprowadzenie• Tezy pracy• Automatyczna, przezroczysta integracja

rozproszonych zasobów wewnątrz obiektowego gridu bazodanowego

• Architektura zaimplementowanego obiektowego gridu baz danych

• Prototyp ODRA-GRID• Weryfikacja koncepcji• Podsumowanie

Wprowadzenie

4

Integracja rozproszonych zasobówWprowadzenie | Tezy pracy | Automatyczna integracja rozproszonych zasobów | Architektura obiektowego gridu baz danych | Prototyp | Weryfikacja | Podsumowanie

5

Prezroczystość w gridzie baz danychWprowadzenie | Tezy pracy | Automatyczna integracja rozproszonych zasobów | Architektura obiektowego gridu baz danych | Prototyp | Weryfikacja | Podsumowanie

6

Grid bazodanowy – główne zagadnieniaWprowadzenie | Tezy pracy | Automatyczna integracja rozproszonych zasobów | Architektura obiektowego gridu baz danych | Prototyp | Weryfikacja | Podsumowanie

• Rozproszone i równoległe przetwarzanie danych o specyficznej strukturze,

• W konteksie integracji:• Przezroczystość danych,• Wirtualizacja danych w gridzie,• Skalowalność gridu,• Ciągłość pracy gridu.

Tezy pracy

8

TezyI. Możliwe jest skonstruowanie rozproszonego

systemu bazodanowego pracującego w architekturze przetwarzania równoległego (grid) przy wykorzystaniu obiektowej bazy danych opartej na teorii podejścia stosowego oraz aktualizowanych perspektywach.

Wprowadzenie | Tezy pracy | Automatyczna integracja rozproszonych zasobów | Architektura obiektowego gridu baz danych | Prototyp | Weryfikacja | Podsumowanie

II. Możliwa jest integracja zasobów lokalnych do wirtualnego repozytorium przy wykorzystaniu mechanizmu wirtualnych obiektowych aktualizowanych perspektyw.

III. Możliwe jest zrealizowanie wirtualnej warstwy transportowej dla rozproszonego systemu bazodanowego w oparciu o architekturę P2P i zapewnienie przezroczystości przetwarzania danych przy jej wykorzystaniu.

9

Motywacja

• Brak rozwiązań gridowych dla baz danych obiektowych.

• Istniejące rozwiązania oparte o systemy relacyjne nie rozwiązują problemu przezroczystej, automatycznej integracji danych: CORBA (1991), UNICORE (1997), EDUTELLA (2002), OGSA-DAI/DQP (2007).

Wprowadzenie | Tezy pracy | Automatyczna integracja rozproszonych zasobów | Architektura obiektowego gridu baz danych | Prototyp | Weryfikacja | Podsumowanie

10

Koncepcja data grid

Wprowadzenie | Tezy pracy | Automatyczna integracja rozproszonych zasobów | Architektura obiektowego gridu baz danych | Prototyp | Weryfikacja | Podsumowanie

Wirtualne Repozytorium

certyfikacja, transakcje,indeksowanie, sterowanie

przepływ danych…

Dostęp do danych wirtualnych

Dostęp do danych wirtualnych

Dostęp do danych

wirtualnych

Kontry

bucja

dany

chKontrybucja

danych

UserUser

Relational Database

Object-OrientedDatabase

11

Wirtualne repozytorium

Wprowadzenie | Tezy pracy | Automatyczna integracja rozproszonych zasobów | Architektura obiektowego gridu baz danych | Prototyp | Weryfikacja | Podsumowanie

Automatyczna, przezroczysta integracja rozproszonych zasobów

wewnątrz obiektowego gridu bazodanowego

13

Założenia integracji w modelu obiektowymWprowadzenie | Tezy pracy | Automatyczna integracja rozproszonych zasobów | Architektura obiektowego gridu baz danych | Prototyp | Weryfikacja | Podsumowanie

• Fragmentacja poziomakontrybucja1.obiekt

union kontrybucja2.obiekt

unionkontrybucja3.obiekt

• Fragmentacja pionowa(

((kontrybucja1.obiekt where exist(podobiekt1)) as k1

join((kontrybucja2.obiekt where exist(podobiekt2))

as k2where k1.identyfikator = k2.identyfikator

) join ((kontrybucja2.obiekt where exist(podobiekt3)) as

k3where k3.identyfikator = k1.identyfikator

)

14

Automatyczna, przezroczysta integracja3-warstwowy model integracji do gridu

Wprowadzenie | Tezy pracy | Automatyczna integracja rozproszonych zasobów | Architektura obiektowego gridu baz danych | Prototyp | Weryfikacja | Podsumowanie

Baza danych

Wirtualne dane kontrybucyjne

Perspektywy kontrybucyjny

Wirtualne dane integracyjne

Perspektywy integracyjny

Wirtualne dane globalne

Perspektywy globalne

Administratorgridu

Użytkownikgridu

Zarządcakontrybucji

Teza II:

Możliwa jest integracja zasobów lokalnych do wirtualnego repozytorium przy wykorzystaniu mechanizmu wirtualnych obiektowych aktualizowanych perspektyw.

Proces przezroczystej integracji zasobów

15

15

Schematglobalny

Indexzasobów

Dane lokalne

Schematintegracyjny

Kontrybucjado griduzasobu A

Wprowadzenie | Tezy pracy | Automatyczna integracja rozproszonych zasobów | Architektura obiektowego gridu baz danych | Prototyp | Weryfikacja | Podsumowanie

CMU Peer Schematy-integracyjny

-globalny

Schematkontrybucyjny

Dane lokalne

Schematkontrybucyjny

Kontrybucjado griduzasobu B

Schematy-Integracyjny

-globalny

Schematy-Integracyjny

-globalny

Schematy-integracyjny

-globalny

InformacjaKontrybucyjna

A

InformacjaKontrybucyjna

B

Schematy-Integracyjny

-globalny

PropagacjaschematuintegracyjnegoA+B

Komunikacja P2PPrzetwarzanie danych

Teza II

Możliwa jest integracja zasobów lokalnych do wirtualnego repozytorium przy wykorzystaniu mechanizmu wirtualnych obiektowych aktualizowanych perspektyw.

Architektura zaimplementowanego obiektowego gridu baz danych

Sieć prywatna (NAT)

Sieć prywatna(NAT)

Internet

Węzeł CMU

WęzełKlienta

WęzełKlienta

WęzełKlienta

WęzełKlienta

WęzełKlienta

Sieć TCP/IP

Wirtualna sieć P2PPlatforma Transportowa

Silniki baz danych ODRA

Wirtualne repozytorium

Teza III:Możliwe jest zrealizowanie wirtualnej warstwy transportowej dla rozproszonego systemu bazodanowego w oparciu o architekturę P2P i zapewnienie przezroczystości przetwarzania danych przy jej wykorzystaniu.

17

Architektura warstwowa z middleware

Wprowadzenie | Tezy pracy | Automatyczna integracja rozproszonych zasobów | Architektura obiektowego gridu baz danych | Prototyp | Weryfikacja | Podsumowanie

Teza III

Możliwe jest zrealizowanie wirtualnej warstwy transportowej dla rozproszonego systemu bazodanowego w oparciu o architekturę P2P i zapewnienie przezroczystości przetwarzania danych przy jej wykorzystaniu.

Prototyp ODRA-GRID

19

Środowisko ODRA-GRIDWprowadzenie | Tezy pracy | Automatyczna integracja rozproszonych zasobów | Architektura obiektowego gridu baz danych | Prototyp | Weryfikacja | Podsumowanie

• ODRA-GRID - pakiet odra-p2p-1.0-dev.jar• Podłączenie do gridu – jointogrid

jointogrid <modulepath>

• Odłączenie od gridu – removefromgridremovefromgrid <modulepath>

• dblink > p2plinkadd p2plink <linkname> <username>.<modulename>/<password>@<peername>

np. add p2plink WarsawEmployees admin.pu1/admin@CUPeer1

20

Struktura modułów w ODRZEWprowadzenie | Tezy pracy | Automatyczna integracja rozproszonych zasobów | Architektura obiektowego gridu baz danych | Prototyp | Weryfikacja | Podsumowanie

21

Generator perspektywWprowadzenie | Tezy pracy | Automatyczna integracja rozproszonych zasobów | Architektura obiektowego gridu baz danych | Prototyp | Weryfikacja | Podsumowanie

• Pracuje w instancji ODRY zarządzającej gridem

• Do pracy potrzebuje następujących skryptów:• integrationscript.xml• integrationconfig.xml• integrationscript.xsl• globalviewscript.xml

22

Perspektywa integracyjna integrationscript.xmlWprowadzenie | Tezy pracy | Automatyczna integracja rozproszonych zasobów | Architektura obiektowego gridu baz danych | Prototyp | Weryfikacja | Podsumowanie

<?xml version="1.0" encoding="UTF-8"?><IntegrationScript>

<view name="EmployeeIntegrDef"><mainView>view EmployeeIntegrDef {

virtual EmployeeIntegr: record { idIntegr: integer; nameIntegr: string;

surnameIntegr: string; worksInIntegr: DepartmentIntegr;}[0..*] ;

seed:record {e:<seedName></seedName>.EmployeeContrib; }[0..*]{ return (

<contributions count="0"><operator id="0"></operator><contibutedPeerName id="0"></contibutedPeerName><virtObjPathWithDot id="0">

.EmployeeContrib</virtObjPathWithDot>

</contributions> ) as e;

}on_retrieve {...}on_update {...}on_new {...}on_delete {...}on_navigate {...}

</mainView>

<subView>...</subView>

</view>

</IntegrationScript>

<?xml version="1.0" encoding="UTF-8"?><IntegrationScript>

<view name="EmployeeIntegrDef"><mainView>view EmployeeIntegrDef {

virtual EmployeeIntegr: record { idIntegr: integer; nameIntegr: string;

surnameIntegr: string; worksInIntegr: DepartmentIntegr;}[0..*] ;

seed:record {e:<seedName></seedName>.EmployeeContrib; }[0..*]{ return (

<contributions count="0"><operator id="0"></operator><contibutedPeerName id="0"></contibutedPeerName><virtObjPathWithDot id="0">

.EmployeeContrib</virtObjPathWithDot>

</contributions> ) as e;

}on_retrieve {...}on_update {...}on_new {...}on_delete {...}on_navigate {...}

</mainView>

<subView>...</subView>

</view>

</IntegrationScript>

23

Perspektywa integracyjna cd. integrationscript.xmlWprowadzenie | Tezy pracy | Automatyczna integracja rozproszonych zasobów | Architektura obiektowego gridu baz danych | Prototyp | Weryfikacja | Podsumowanie

on_retrieve { return e.( idContrib as idIntegr, nameContrib as nameIntegr, surnameContrib as surnameIntegr),

(DepartmentIntegr where idIntegr = e.worksInContrib.DepartmentContrib.idContrib) as worksInIntegr;

}

on_update { e := value.(idIntegr as idContrib,nameIntegr as nameContrib, surnameIntegr as surnameContrib,ref( (

<contributions count="0"><operator id="0"></operator><contibutedPeerName id="0"></contibutedPeerName><virtObjPathWithDot id="0">

.DepartmentContrib</virtObjPathWithDot>

</contributions> ) where idContrib = worksInIntegr.idIntegr ) as worksInContrib

); }

24

Perspektywa integracyjna cd. integrationscript.xmlWprowadzenie | Tezy pracy | Automatyczna integracja rozproszonych zasobów | Architektura obiektowego gridu baz danych | Prototyp | Weryfikacja | Podsumowanie

on_new { create permanent EmployeeContrib(value.(idIntegr as idContrib, nameIntegr as nameContrib,ref(DepartmentContrib where idContrib = worksInIntegr.idIntegr) as

worksInContrib));

}

on_delete { delete e;

}

<subView>/*virtual pointer*/

view worksInIntegrDef {virtual worksInIntegr: DepartmentIntegr[0..*];seed: record { _worksIn: DepartmentIntegr; }[0..*]

{ return (DepartmentIntegr where idIntegr = (e.worksInContrib.DepartmentContrib.idContrib)) as _worksIn;

} on_retrieve { return _worksIn;}on_navigate { return _worksIn;}

}</subView>

25

Perspektywa integracyjna - konfiguracjaWprowadzenie | Tezy pracy | Automatyczna integracja rozproszonych zasobów | Architektura obiektowego gridu baz danych | Prototyp | Weryfikacja | Podsumowanie

integrationconfig.xml

<?xml version="1.0" encoding="UTF-8"?><IntegrationConfig> 

<View name="EmployeeIntegrDef" proc="contributions"/><View name="DepartmentIntegrDef" proc="contributions"/><View name="LocationIntegrDef" proc="contributions"/>

 </IntegrationConfig>

26

Perspektywa integracyjna - transformacjaWprowadzenie | Tezy pracy | Automatyczna integracja rozproszonych zasobów | Architektura obiektowego gridu baz danych | Prototyp | Weryfikacja | Podsumowanie

integrationscript.xsl

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"><xsl:template match="*|/">

<xsl:apply-templates/></xsl:template>

</xsl:stylesheet>

Weryfikacja koncepcji

28

Testy wykonanego prototypu

• Do uruchomienia środowiska ODRA-GRID wykorzystano 4 komputery,

• Do weryfikacji działania użyto 8 zapytań o zróżnicowanym stopniu ewaluacji w środowisku rozproszonym,

• Wykonano dodatkowe test spawdzające wydajność warstwy transportowej,

• Pozytwywna ewaluacja zapytań wykazała poprawność Tezy I.

Wprowadzenie | Tezy pracy | Automatyczna integracja rozproszonych zasobów | Architektura obiektowego gridu baz danych | Prototyp | Weryfikacja | Podsumowanie

Teza I

Możliwe jest skonstruowanie rozproszonego systemu bazodanowego pracującego w architekturze przetwarzania równoległego (grid) przy wykorzystaniu obiektowej bazy danych opartej na teorii podejścia stosowego oraz aktualizowanych perspektywach.

29

Testowy schemat danychWprowadzenie | Tezy pracy | Automatyczna integracja rozproszonych zasobów | Architektura obiektowego gridu baz danych | Prototyp | Weryfikacja | Podsumowanie

• Użyty schemat obiektowy danych:

• Schemat zmodyfikowny bez wyrażeń ścieżkowych

30

Przykładowe zapytania testowe (1)Wprowadzenie | Tezy pracy | Automatyczna integracja rozproszonych zasobów | Architektura obiektowego gridu baz danych | Prototyp | Weryfikacja | Podsumowanie

• Obliczyć sumę wynagrodzeń pracowników ze wszystkich oddziałów o nazwie MAGAZYN.• W gridzie testowym znajdowały się 3 kontrybucje zawierające po jednym oddziale MAGAZYN. Zapytanie było ewaluowane we wszystkich lokalizacjach gridu.

sum((EmployeeGlobal where worksInGlobal.DepartmentGlobal.nameGlobal = "MAGAZYN”).salaryGlobal);

sum((DepartmentGlobal where nameGlobal = "MAGAZYN”).(deref(idGlobal)) as d.(EmployeeGlobal where worksInGlobal = d).salaryGlobal);

31

Przykładowe zapytania testowe (2)Wprowadzenie | Tezy pracy | Automatyczna integracja rozproszonych zasobów | Architektura obiektowego gridu baz danych | Prototyp | Weryfikacja | Podsumowanie

• Przenieść pracowników odziału PRODUKCJA z Łodzi do oddziału MAGAZYN w Warszawie. Wyświetlić imiona i nazwiska pracowników wraz z ich id.

(EmployeeGlobalwhere (worksInGlobal.DepartmentGlobal.nameGlobal = "PRODUKCJA"and worksInGlobal.DepartmentGlobal.isLocatedInGlobal.LocationGlobal.nameGlobal = "Lodz")).((worksInGlobal := (DepartmentGlobal where (nameGlobal = "MAGAZYN"and isLocatedInGlobal.LocationGlobal.nameGlobal = "Warszawa"))),deref(idGlobal), deref(nameGlobal), deref(surnameGlobal));

(DepartmentGlobalwhere (nameGlobal = "PRODUKCJA”and isLocatedInGlobal = (LocationGlobal where nameGlobal = "Lodz").deref(idGlobal))).(deref(idGlobal)) as d.(EmployeeGlobal where worksInGlobal = d).(deref(worksInGlobal := (DepartmentGlobal where (nameGlobal = "MAGAZYN”and isLocatedInGlobal = (LocationGlobal where nameGlobal = "Warszawa").deref(idGlobal))).(deref(idGlobal))),deref(nameGlobal), deref(surnameGlobal));

32

Wyniki ewaluacji zapytańWprowadzenie | Tezy pracy | Automatyczna integracja rozproszonych zasobów | Architektura obiektowego gridu baz danych | Prototyp | Weryfikacja | Podsumowanie

CUPeer1 Query 1[ms]

Query 2[ms]

Query 3[ms]

Query 4[ms]

Query 5[ms]

Query 6[ms]

Query 7[ms]

Query 8[ms]

Test 1 3410 8120 * * 955 * * *Test 2 1846 3504 51260 5875 565 3939 5849 12834Test 3 581 1283 13898 1397 147 869 1487 2513Test 4 349 441 5190 569 59 363 617 1511

CUPeer2 Query 1[ms]

Query 2[ms]

Query 3[ms]

Query 4[ms]

Query 5[ms]

Query 6[ms]

Query 7[ms]

Query 8[ms]

Test 1 3245 8049 * * 920 * * *Test 2 1810 3401 49312 5693 514 3541 5569 12574Test 3 562 1021 12339 1280 140 843 1358 2371Test 4 312 405 5054 546 53 359 593 1279

CUPeer3 Query 1[ms]

Query 2[ms]

Query 3[ms]

Query 4[ms]

Query 5[ms]

Query 6[ms]

Query 7[ms]

Query 8[ms]

Test 1 3451 8219 * * 981 * * *Test 2 1894 3589 53134 6092 593 4142 6112 13072Test 3 599 1398 14402 1510 161 884 1611 2683Test 4 496 465 5921 673 72 436 717 1769

Platforma transportowa zaimplementowana z użyciem JXTA jest średnio 4 krotnie wolniejsza niż wbudowany w ODRĘ mechanizm linków.

Podsumowanie

34

Ograniczenia rozwiązania• Możliwa integracja baz danych z

danymi o fragmentacji poziomej.• Niska wydajność platformy

transportowej gridu.• Brak obsługi wyrażeń ścieżkowych

przez perspektywy wymusiło realizacje zapytań przez predykaty selekcji.

Wprowadzenie | Tezy pracy | Automatyczna integracja rozproszonych zasobów | Architektura obiektowego gridu baz danych | Prototyp | Weryfikacja | Podsumowanie

35

Dalsze prace• Realizacja integracji danych z

uwzględnienieniem fragmentacji pionowej oraz mieszanej zasobów danych,

• Integracja danych nadmiarowych (redundantnych),

• Integracja replikacji danych,• Opracowanie platformy transportowej

dedykowanej dla gridu, • Rozwój implementacji w nowym prototypie.

Wprowadzenie | Tezy pracy | Automatyczna integracja rozproszonych zasobów | Architektura obiektowego gridu baz danych | Prototyp | Weryfikacja | Podsumowanie

36

PublikacjeISI/DBLP: 8 Kowalski T.M., Kuliberda K., Wiślicki J., Adamus R.: “Auto-updatable Index Approach for OODBMSs”, On the Move to Meaningful

Internet Systems 2009, ODBASE (Ontologies, DataBases, and Applications of Semantics) International Conference 2009, Villamoura, Portugal, November 1-6, 2009, Springer 2009 LNCS 5872, ISSN 0302-9743, pp. 15-16

Kowalski T.M., Kuliberda K., Wiślicki J. Adamus R., Generic Approach to Automatic Index Updating in OODBMS , 11th International Conference on Enterprise Information Systems (ICEIS), Volume DISI, Milan, Italy, 2009, ISBN: 978-989-8111-84-5, pp. 255-260

Kuliberda K., Adamus R., Wiślicki J., Kaczmarski K., Kowalski T.M., Subieta K., A Generic Proposal for a Transparent Integration of Distributed Data by an Autonomous Layer in a Virtual Repository , Multiagent and Grid Systems (MAGS) 2007 Volume 3, Number 4, IOS Press, Netherlands 2007, ISSN 1574-1702, 393-410

Kuliberda K., Wiślicki J., Kowalski T.M., Adamus R., Kaczmarski K., Subieta K., Procedures of Integration of Fragmented Data in a P2P Data Grid Virtual Repository, 4th International Conference on Service-Oriented Computing (ICSOC'06), Chicago, USA, December 4-7, 2006, Springer 2006 LNCS 4294, Chicago, USA, 2006, 557-568

Kuliberda K., Adamus R., Wiślicki J., Kaczmarski K., Kowalski T.M., Subieta K., Autonomous Layer for Data Integration in a Virtual Repository, On the Move to Meaningful Internet Systems 2006, 3th International Conference on Grid computing, high-performAnce and Distributed Applications (GADA'06), Springer 2006 LNCS 4276, Montpellier, France, 2006, 1290-1304

Kuliberda K., Blaszczyk P., Balcerzak G., Kaczmarski K., Adamus R., Subieta K.: Virtual Repository Supporting Integration of Pluginable Resources, 17th DEXA 2006 and 2nd International Workshop on Data Management in Global Data Repositories (GRep 2006), Krakow, Polska, September 4 - 8, 2006, Proceedings in IEEE Computer Society ISBN-13: 978-0-7695-2641-6 / ISBN-10: 0-7695-2641-1 / ISSN 1529-4188, 657-661

Kuliberda K., Wislicki J., Adamus R., Subieta K.: Object-Oriented Wrapper for Semistructured Data in a Data Grid Architecture, 9th International Conference on Business Information Systems in cooperation with ACM SIGMIS 2006 (BIS 2006), Klagenfurt, Austria, May 31 – June 2, 2006, Proceedings in Lecture Notes in Informatics (LNI) vol. P-85, GI-Edition 2006, ISBN 3-88579-179-X / ISSN 1617-5468, 528-542

Kuliberda K., Wislicki J., Adamus R., Subieta K.: Object-Oriented Wrapper for Relational Databases in the Data Grid Architecture, On the Move to Meaningful Internet Systems 2005 (GADA'05, Agia Napa, Cyprus, October 31 – November 4, 2005, Springer 2005 LNCS 3762, ISBN 3-540-29739-1 / ISSN 0302-9743, 367 - 376

Pozostałe międzynarodowe: 6Rozdziały w książce: 1Krajowe: 26

Wprowadzenie | Tezy pracy | Automatyczna integracja rozproszonych zasobów | Architektura obiektowego gridu baz danych | Prototyp | Weryfikacja | Podsumowanie

37

Granty krajowe i międzynarodowe

• Advanced eGovernment Information Service Bus (FP6-IST-4-026727-STP)

• Stypendium celowe WIDDOK-Praca współfinansowana ze środków Europejskiego Funduszu Społecznego oraz Budżetu Państwa w ramach programu Mechanizm WIDDOK (numer umowy Z/2.10/II/2.6/04/05/U/2/06)

Wprowadzenie | Tezy pracy | Automatyczna integracja rozproszonych zasobów | Architektura obiektowego gridu baz danych | Prototyp | Weryfikacja | Podsumowanie

Dziękuję za uwagę