1 / 38

Transparent Integration of Distributed Resources within Object-Oriented Database Grid

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

lane-potter
Download Presentation

Transparent Integration of Distributed Resources within Object-Oriented Database Grid

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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

  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 2

  3. Wprowadzenie

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

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

  6. Grid bazodanowy – główne zagadnienia Wprowadzenie |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. 6

  7. Tezy pracy

  8. Tezy Wprowadzenie | Tezy pracy | Automatyczna integracja rozproszonych zasobów | Architektura obiektowego gridu baz danych | Prototyp | Weryfikacja | Podsumowanie 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. 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. 8

  9. Motywacja Wprowadzenie | Tezy pracy | Automatyczna integracja rozproszonych zasobów | Architektura obiektowego gridu baz danych | Prototyp | Weryfikacja | Podsumowanie • 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). 9

  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 User User Kontrybucjadanych Kontrybucja danych Dostęp do danych wirtualnych Relational Database Object-Oriented Database 10

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

  12. Automatyczna, przezroczysta integracja rozproszonych zasobów wewnątrz obiektowego gridu bazodanowego

  13. Założenia integracji w modelu obiektowym Wprowadzenie |Tezy pracy | Automatyczna integracja rozproszonych zasobów | Architektura obiektowego gridu baz danych | Prototyp | Weryfikacja | Podsumowanie • Fragmentacja pozioma kontrybucja1.obiekt union kontrybucja2.obiekt union kontrybucja3.obiekt • Fragmentacja pionowa • ( • ((kontrybucja1.obiekt where exist(podobiekt1)) as k1 • join • ((kontrybucja2.obiekt where exist(podobiekt2)) as k2 • where k1.identyfikator = k2.identyfikator • ) join ( • (kontrybucja2.obiekt where exist(podobiekt3)) as k3 • where k3.identyfikator = k1.identyfikator • ) 13

  14. Automatyczna, przezroczysta integracja 3-warstwowy model integracji do gridu Wprowadzenie |Tezy pracy | Automatyczna integracja rozproszonych zasobów | Architektura obiektowego gridu baz danych | Prototyp | Weryfikacja | Podsumowanie Wirtualne daneglobalne Perspektywyglobalne Użytkownik gridu Wirtualne daneintegracyjne Perspektywyintegracyjny Administrator gridu Wirtualne danekontrybucyjne Perspektywykontrybucyjny Zarządca kontrybucji Bazadanych 14

  15. Proces przezroczystej integracji zasobów Wprowadzenie |Tezy pracy | Automatyczna integracja rozproszonych zasobów | Architektura obiektowego gridu baz danych | Prototyp | Weryfikacja | Podsumowanie Teza II: Możliwa jest integracja zasobów lokalnych do wirtualnego repozytorium przy wykorzystaniu mechanizmu wirtualnych obiektowych aktualizowanych perspektyw. Teza II Możliwa jest integracja zasobów lokalnych do wirtualnego repozytorium przy wykorzystaniu mechanizmu wirtualnych obiektowych aktualizowanych perspektyw. Kontrybucja do gridu zasobu A Informacja Kontrybucyjna A Schemat kontrybucyjny Dane lokalne CMU Peer Schematy -integracyjny -globalny Schemat globalny Schematy -Integracyjny -globalny Schematy -Integracyjny -globalny Schematy -Integracyjny -globalny Index zasobów Komunikacja P2P Przetwarzanie danych Propagacja schematu integracyjnego A+B Schemat integracyjny Schematy -integracyjny -globalny Dane lokalne Schemat kontrybucyjny Kontrybucja do gridu zasobu B Informacja Kontrybucyjna B 15 15

  16. Architektura zaimplementowanego obiektowego gridu baz danych

  17. Architektura warstwowa z middleware Wprowadzenie |Tezy pracy | Automatyczna integracja rozproszonych zasobów | Architektura obiektowego gridu baz danych | Prototyp | Weryfikacja | Podsumowanie Wirtualne repozytorium Węzeł CMU 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. Węzeł Klienta Węzeł Klienta Węzeł Klienta Węzeł Klienta Węzeł Klienta Silniki baz danych ODRA Wirtualna sieć P2P Platforma Transportowa Sieć TCP/IP Sieć prywatna (NAT) Sieć prywatna (NAT) Internet 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

  18. Prototyp ODRA-GRID

  19. Środowisko ODRA-GRID Wprowadzenie |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 – removefromgrid • removefromgrid <modulepath> • dblink > p2plink • add p2plink <linkname> <username>.<modulename>/<password>@<peername> • np. add p2plink WarsawEmployees admin.pu1/admin@CUPeer1 19

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

  21. Generator perspektyw Wprowadzenie |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 21

  22. Perspektywa integracyjna integrationscript.xml Wprowadzenie |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> 22

  23. Perspektywa integracyjna cd. integrationscript.xml Wprowadzenie |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 ); } 23

  24. Perspektywa integracyjna cd. integrationscript.xml Wprowadzenie |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> 24

  25. Perspektywa integracyjna - konfiguracja Wprowadzenie |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> 25

  26. Perspektywa integracyjna - transformacja Wprowadzenie |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> 26

  27. Weryfikacja koncepcji

  28. Testy wykonanego prototypu Wprowadzenie |Tezy pracy | Automatyczna integracja rozproszonych zasobów | Architektura obiektowego gridu baz danych | Prototyp | Weryfikacja | Podsumowanie • 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. 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. 28

  29. Testowy schemat danych Wprowadzenie |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 29

  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); 30

  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. (EmployeeGlobal where (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)); (DepartmentGlobal where (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)); 31

  32. Wyniki ewaluacji zapytań Wprowadzenie |Tezy pracy | Automatyczna integracja rozproszonych zasobów | Architektura obiektowego gridu baz danych | Prototyp | Weryfikacja | Podsumowanie Platforma transportowa zaimplementowana z użyciem JXTA jest średnio 4 krotnie wolniejsza niż wbudowany w ODRĘ mechanizm linków. 32

  33. Podsumowanie

  34. Ograniczenia rozwiązania Wprowadzenie |Tezy pracy | Automatyczna integracja rozproszonych zasobów | Architektura obiektowego gridu baz danych | Prototyp | Weryfikacja | Podsumowanie • 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. 34

  35. Dalsze prace Wprowadzenie |Tezy pracy | Automatyczna integracja rozproszonych zasobów | Architektura obiektowego gridu baz danych | Prototyp | Weryfikacja | Podsumowanie • 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. 35

  36. Publikacje Wprowadzenie |Tezy pracy | Automatyczna integracja rozproszonych zasobów | Architektura obiektowego gridu baz danych | Prototyp | Weryfikacja | Podsumowanie • ISI/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: 6 • Rozdziały w książce: 1 • Krajowe: 26 36

  37. Granty krajowe i międzynarodowe Wprowadzenie |Tezy pracy | Automatyczna integracja rozproszonych zasobów | Architektura obiektowego gridu baz danych | Prototyp | Weryfikacja | Podsumowanie • 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) 37

  38. Dziękuję za uwagę

More Related