Transparent Integration of Distributed Resources within Object-Oriented Database Grid
Post on 13-Mar-2016
34 Views
Preview:
DESCRIPTION
Transcript
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ę
top related