Hauptseminar Data Grid



Ähnliche Dokumente
Seminar Informationsintegration und Informationsqualität. Dragan Sunjka. 30. Juni 2006

Ein Beispiel. Ein Unternehmen will Internettechnologien im Rahmen des E- Business nutzen Welche Geschäftsprozesse?

Java und XML 2. Java und XML

Fragenkatalog zum Kurs 1666 (Datenbanken in Rechnernetzen) Kurstext von SS 96

Integration verteilter Datenquellen in GIS-Datenbanken

Datenmanagement in Android-Apps. 16. Mai 2013

Softwareentwicklungspraktikum Sommersemester Grobentwurf

Zustandsgebundene Webservices

Geodatenmanagement und -harmonisierung mit GeoKettle

Konfiguration des Novell GroupWise Connectors

Qualitätsmanagement an beruflichen Schulen in Deutschland: Stand der Implementierung. Diplomarbeit

Grid-Systeme. Betrachtung verschiedener Softwareplattformen zur Realisierung von Grids und Vorstellung des Globus Toolkit Grid Systeme 1

Wiederholung: Beginn

Benutzerhandbuch für die Verwendung des viavac HL7 Forcast Webservices (VAC-CDSS)

Autorisierung. Sicherheit und Zugriffskontrolle & Erstellen einer Berechtigungskomponente

Verteilte Systeme: Übung 4

Entwurf zum Web-Service Rechnung

Workflow, Business Process Management, 4.Teil

Entwicklung mit Arbortext Editor 6.1

Abschlussvortrag zur Bachelorarbeit. Konzeption und Aufbau eines Grid Testlabors am Beispiel des Globus Toolkit 4

SAP NetWeaver Gateway. 2013

Abschlussvortrag zur Diplomarbeit Aufbau und Analyse einer Shibboleth/GridShib-Infrastruktur

Grundlagen des Grid Computing

CoBox - Mehrsprachige Apex-Anwendung zur Mitarbeiterkommunikation. Alexander Elsas Goethe-Universität Frankfurt

ODM. ww w. syn t egris.de

ORCA Software GmbH Kunstmühlstraße 16 D Rosenheim Telefon +49(0) Fax +49(0)

XMPP: Extensible Messaging and Presence Protocol

Kapitel 10 Aktive DBMS

Urs Meier Art der Info Technical Info (Februar 2002) Aus unserer Projekterfahrung und Forschung

Web Services stellen eine Integrationsarchitektur dar, die die Kommunikation zwischen verschiedenen Anwendungen

Web-Services - die GIS-Zukunft?

Übungen zu Softwaretechnik

zur Sage New Classic 2015

E-Services mit der Web-Service-Architektur

Datenbanksysteme 2 Frühjahr-/Sommersemester Mai 2014

Software-Engineering 2. Übungen zur Wiederholung. IT works. Metris GmbH

Software Engineering. Zur Architektur der Applikation Data Repository. Franz-Josef Elmer, Universität Basel, HS 2015

Inhalt. Fragestellungen. ...we make the invisible visible... Analysen und deren Anwendung Erfahrungen

Enterprise Applikation Integration und Service-orientierte Architekturen. 09 Simple Object Access Protocol (SOAP)

Man liest sich: POP3/IMAP

... Peter Woetzel Director Product Management Online Software AG

SQL-Injection. Seite 1 / 16

CartCalc FAQ (frequently asked questions) häufige Fragen zu CartCalc

SAP HANA Einsatzmöglichkeiten und Potenziale

Klausur Interoperabilität

Multimedia und Datenkommunikation

AJAX DRUPAL 7 AJAX FRAMEWORK. Was ist das Ajax Framework? Ein typischer Ablauf eines Ajax Requests Die Bestandteile des Ajax Frameworks.

Hochschul-App Uni Hohhenheim Case Study

PL/SQL Web-Services mit Oracle 11g

Solaris Cluster. Dipl. Inform. Torsten Kasch Bielefeld.DE> 8. Januar 2008

jet IDS HIGH-LEIT OPC-GATEWAY zur Anbindung von Automatisierungssystemen Ein offenes, skalierbares SCADA System für alle Infrastrukturanwendungen

Mai Hauptseminar: Nichtrelationale Datenbanken Historisch-Kulturwissenschaftliche Informationsverarbeitung Universität zu Köln

Servicebasierte Datenintegration

Arbeitsgruppe Multimedia DLmeta in echten Anwendungen

Interaktive Webseiten mit PHP und MySQL

MIT NEUEN FACHTHEMEN

DVB-S Empfangsgerät, Videorecorder und Fernseher (Fernseher mit zwei Scart- (oder HDMI-)Eingängen)

Übungen zur Vorlesung. Mobile und Verteilte Datenbanken. WS 2008/2009 Blatt 6. Lösung

MSXFORUM - Exchange Server 2003 > SMTP Konfiguration von Exchange 2003

Informationen zum neuen Studmail häufige Fragen

Diplomarbeit: GOMMA: Eine Plattform zur flexiblen Verwaltung und Analyse von Ontologie Mappings in der Bio-/Medizininformatik

Kapitel 4 Die Datenbank Kuchenbestellung Seite 1

Was ist LDAP. Aufbau einer LDAP-Injection. Sicherheitsmaßnahmen. Agenda. LDAP-Injection. ITSB2006 WS 09/10 Netzwerkkonfiguration und Security


Referenzielle Integrität SQL

SWT II Projekt. Chat - Anwendung. Pflichtenheft 2000 SWT

Fassade. Objektbasiertes Strukturmuster. C. Restorff & M. Rohlfing

Leitbildentwicklung Einführung in Leitbildentwicklung und Prozessplanung

Referenz-Konfiguration für IP Office Server. IP Office 8.1

Ist Excel das richtige Tool für FMEA? Steve Murphy, Marc Schaeffers

Christian Kühnel, BMW Group AGILE ENTWICKLUNG VON FAHRERASSISTENZSOFTWARE. AGILE CARS 2014.

MORE Profile. Pass- und Lizenzverwaltungssystem. Stand: MORE Projects GmbH

Suchdienste für Dokumente

... MathML XHTML RDF

Flashfragen in ILIAS Test & Assessment. Helmut Schottmüller

Wasserfall-Ansätze zur Bildsegmentierung

etutor Benutzerhandbuch XQuery Benutzerhandbuch Georg Nitsche

Referenzen TYPO3 Projekt Slider für Reiseberichte Stand: Februar 2015

GI-Technologien zur Umsetzung der EU-Wasserrahmenrichtlinie (WRRL): Wissensbasen. Teil 1: Einführung: Wissensbasis und Ontologie.

Freigabemitteilung 39 Version: 4.50

BGP-Alarmsystem. Gunnar Bornemann Diplomarbeit Lehrstuhl für Netzwerkarchitekturen Technische Universität München

solutions Wie ALKIS zukünftig ALK und ALB ersetzt Werner Probst TOPO graphics GmbH g is@ work

Data-Warehouse-Technologien

HP Service Virtualization. Bernd Schindelasch 19. Juni 2013

Mobiles SAP für Entscheider. Permanente Verfügbarkeit der aktuellen Unternehmenskennzahlen durch den mobilen Zugriff auf SAP ERP.

IEEE 802.1x Authentifizierung. IEEE 802.1x Authentifizierung IACBOX.COM. Version Deutsch

STLB-Bau Kundenmanager

Transparente Hausverwaltung Marketingschmäh oder doch: eine neue Dimension der Dienstleistung?

Vorstellung des BMBF-Projektes FluSs aus Sicht eines Endanwenders. Düsseldorf Maritim-Hotel, 09. Juli 2013 Mark Zwirner

für Systemprogrammierer systemorientierte Mitarbeiter Autor: Wolfram Greis Blended Learning Modul Version 1.5 vom 14. Oktober 2013

ODBC-Treiber Programmübersicht

Lizenzierung von SharePoint Server 2013

Wie erreiche ich was?

User Manual Data 24. Login und Layout

Transkript:

Hauptseminar Data Grid am Lehrstuhl für verteilte Informationssyteme (Universität Passau) Referent: Andreas Scherbauer Datum: 31. Mai 2006 OGSA-DAI OGSA-DQP

Überblick OGSA-DAI Definition Designziele Komponenten im Detail Komponenten in Interaktion (Beispiel) OGSA-DQP Überblick Anfragebehandlung (Beispiel)

DAI Data Access & Integration Was ist DAI? Was soll DAI leisten? Wie ist der Zusammenhang mit grid? Zitat von der OGSA-DAI Homepage: The aim of the OGSA-DAI project is to develop middleware to assist with access and integration of data from separate sources via the grid.

DAI Data Access & Integration Designziele um Entwickler zu unterstützen: Einfache APIs Datenzugriff durch konventionelle Methoden Extension points zum Erweitern (zb DQP) Gemeinsame Abstraktionsebene für verschieden Datenresourcen: Versteckt XML und SOAP Anfragen Transparent gegenüber verschiedenen Versionen von WSI und WSRF

Benutzen eines DataService Client Client sendet Request an DataService Request Activity Activity Activity DataService Request besteht aus 1..n Activity Elementen

Benutzen eines DataService Client DataService bearbeitet Anfrage und antwortet Response Result Result Result DataService Response besteht aus 1..n Result Elementen; für jedes Activity Element ein Result

ServiceFetcher getinstance() GenericServiceFetcher getdataservice(url, resourceid) Client perform(request) DataService

Request und Activity Ein Request besteht aus 1..n Activity Elementen Activities können nebenläufig oder sequenziell sein Activity beschreibt auszuführende Aktion, wie: Datenquelle benutzen (Queries) Umwandlung von Daten (Transformation) Auslieferung/Rückgabe von Ergebnissen Daten fließen zwischen Activities SQLQuery java.sql.resultset WebRowSet XML Daten DeliverToURL

Activity im Detail Eine Activity (Javaklasse) für jede Aktivität, die ein DataService unterstützt Activities sind unabhängig von der serverseitigen Umsetzung (WSI, WSRF) Einfach zu Parametrisieren SQLQuery q1 = new SQLQuery( SELECT * FROM GeneTable WHERE id<10000 ); SQLQuery q2 = new SQLQuery( SELECT * FROM GeneTable WHERE id>? AND id<? ); q2.setparameter(1, 10 ); q2.setparameter(2, 20 );

Activities parallel/sequenziell Sequence verarbeitet nacheinander Flow verarbeitet nebenläufig Komplexere Steuerung mit Verschachtelung von RequestComponent abgeleitet RequestComponent als Unterelemente Sequence Flow SQLUpdate SQLQuery SQLQuery SQLQuery

Sessions Jedem Request ist eine Session zugeordnet Session erlaubt Datentransfer zwischen einzelnen Requests Session Attribute Request Activity Request Activity Zeit Session gezielt wählen mittels SessionRequirements und JoinExistingSession

Daten-ein/-ausgabe (Delivery) DeliverToGFTP DeliverFromGFTP GridFTP DeliverToURL DeliverFromURL WWW server DataService DeliverToSMTP SMTP server DeliverToURL DeliverFromURL FTP server DeliverToFile DeliverFromFile Filesystem DeliverToDT DeliverFromDT DataService

Beispiel Datenintegration (1) Client select, DeliverToDT select, DeliverToDT DataService DS1 MySQL DeliverFromDT, BulkLoad, Merge DataService DS2 DB2 deliver deliver DataService DS3 Oracle

Beispiel Datenintegration (2) 1. Alle drei DataService Objekte holen: ServiceFetcher fetcher = GenericServiceFetcher.getInstance(); DataService ds1 = fetcher.getdataservice( http://www.genes.org/ds1, MySQLResource ); DataService ds2 = fetcher.getdataservice( http://www.moregenes.org/ds2, DB2Resource ); DataService ds3 = fetcher.getdataservice( http://www.evenmoregenes.org/ds3, OracleResource );

Beispiel Datenintegration (3) 2. Anfragen erstellen und senden: SQLQuery query1 = new SQLQuery( SELECT * FROM GeneTable WHERE id<10000 ); WebRowSet rowset1 = new WebRowSet(query1.getOutput()); DTOutputStream output1 = new DTOutputStream(rowset1.getOutput); ActivityRequest request1 = new ActivityRequest(); request1.addactivity(query1); request1.addactivity(rowset1); request1.addactivity(output1); ds1.perform(request1); Für DS2 sind die Schritte fast analog

Beispiel Datenintegration (4) Client select, DeliverToDT DataService DS1 MySQL select, DeliverToDT DataService DS2 DB2

Beispiel Datenintegration (5) 3. DS3 empfängt und verarbeitet Ergebnisse: DeliverFromDT deliver1 = new DeliverFromDT(); SQLBulkLoad load1 = new SQLBulkLoad( deliver1.getoutput(), table1 ); DeliverFromDT deliver2 = new DeliverFromDT(); SQLBulkLoad load2 = new SQLBulkLoad( deliver2.getoutput(), table2 ); //connect the data inputs and outputs deliver1.setdatatransportinput(output1.getdatatransport()); deliver2.setdatatransportinput(output2.getdatatransport()); ActivityRequest request3 = new ActivityRequest(); request3.addactivity(deliver1); request3.addactivity(load1); request3.addactivity(deliver2); request3.addactivity(load2); ds3.perform(request3);

Beispiel Datenintegration (6) Client DataService DS1 MySQL DeliverFromDT, BulkLoad DataService DS2 DB2 deliver deliver DataService DS3 Oracle

Beispiel Datenintegration (7) 4. DS3 verbindet die Ergebnisse: SQLQuery merge = new SQLQuery( SELECT * FROM table1, table2 WHERE... ); WebRowSet rowset = new WebRowSet(merge.getOutput()); ActivityRequest request3 = new ActivityRequest(); request3.addactivity(merge); request3.addactivity(rowset); ds3.perform(request3);

Beispiel Datenintegration (8) Client DataService DS1 MySQL Merge DataService DS2 DB2 DataService DS3 Oracle

Soviel zu OGSA-DAI OGSA-DAI Client Toolkit vereinfacht die Entwicklung von Clients die auf OGSA-DAI DataService Dienste zugreifen Bietet eine gemeinsame Abstraktion für die benutzten Dienste WSI und WSRF Versteckt XML und die Interaktion mit den einzelnen Diensten Bietet etwas Schutz vor Änderungen in der Implementierung in den zugrundeliegenden Diensten

Distributed Query Processing OGSA-DQP ist ein service-basierter verteilter Anfrageprozessor Bietet seine Fähigkeiten wiederum als Service an Verarbeitet Anfragen auf verteilten Resourcen (OGSA-DAI DataSource, WebService) Durch Erweiterung von DAI realisiert

DQP als Zwischenschicht Anfrage Ergebnis OGSA DQP OGSA DAI OGSA DAI DBMS DBMS Middleware Ansatz wie bei OGSA-DAI DQP kann als Vermittlerschicht über DAI Datenresourcen betrachtet werden Kann selbst als Grid Service benutzt werden

DQP die Hauptkomponenten Grid Distributed Query Service (GDQS): Coordinator kompiliert, optimiert, partitioniert und plant Anfragen basiert in Teilen auf Polar Query Evaluation Service (QES) Evaluator führt geplante Partitionen von Anfragen aus

DQP im Detail DQP reduce DQP join (A1,B1) DQP scan (A) DAI DBMS DQP join (A2,B2) DQP scan (B) DAI DBMS DQP Anfragen können über verschiedene Knoten verteilt ausgeführt werden Operatoren (wie join) können parallel ausgeführt werden DQP kompiliert, optimiert und plant die Anfrage für die Ausführung auf den verfügbaren Knoten

DQP Anfragebehandlung Anfrage (Query) Optimierung für einzelnen Knoten Parser Logische Optimierung Physikalische Optimierung Optimierung für mehrere Knoten Partitionierer Scheduler Evaluators Anfrageergebnisse (Query Results)

DQP Beispiel (1) Gegeben sind zwei DBMS und ein Analysedienst: goterm Gen Ontologie DBMS (realisiert als DAI DataService) protein Proteinsequenz DBMS (realisiert als DAI DataService) Blast Bewertet Sequenzausrichtungen (realisiert als WebService) Einzelne Anfrage referenziert mehrere Orte Anfragen in OQL (Object Query Language): SELECT p.proteinid, Blast(p.sequence) FROM protein p, goterm t WHERE t.termid= GO:0005942 AND p.proteinid = t.proteinid

DQP Beispiel (2) Logische Optimierung reduce op_call (Blast) SELECT p.proteinid, Blast(p.sequence) FROM protein p, goterm t WHERE t.termid= GO:0005942 AND p.proteinid = t.proteinid join (proteinid) Der Plan wird als logische Algebra ausgedrückt reduce reduce Konstruiert werden mehrere Pläne mit gleichem Ergebnis scan (protein) scan termid=go:0005942 (goterm)

DQP Beispiel (3) Physikalische Optimierung reduce op_call (Blast) SELECT p.proteinid, Blast(p.sequence) FROM protein p, goterm t WHERE t.termid= GO:0005942 AND p.proteinid = t.proteinid reduce table_scan (protein) hash_join (proteinid) reduce table_scan termid=go:0005942 (goterm) Der Plan wird als physikalische Algebra ausgedrückt Der auszuführende Plan wird durch Kostenvergleich aus mehreren äquivalenten Plänen ausgewählt

DQP Beispiel (4) Partitionierung der Anfrage exchange reduce reduce op_call (Blast) exchange hash_join (proteinid) exchange reduce SELECT p.proteinid, Blast(p.sequence) FROM protein p, goterm t WHERE t.termid= GO:0005942 AND p.proteinid = t.proteinid Der Plan wird als parallele Algebra ausgedrückt An Datenübergabepunkten werden exchange Operatoren eingefügt table_scan (protein) table_scan termid=go:0005942 (goterm)

DQP Beispiel (5) Planen der Ausführung exchange reduce op_call (Blast) exchange hash_join (proteinid) exchange SELECT p.proteinid, Blast(p.sequence) FROM protein p, goterm t WHERE t.termid= GO:0005942 AND p.proteinid = t.proteinid Operatoren an Grid-Knoten zuweisen zur Auswertung reduce reduce table_scan (protein) table_scan termid=go:0005942 (goterm)

OGSA-DQP ein Fazit DQP ist ein service-basierter Anfrageprozessor, der: als Service realisiert ist unter Verwendung von vorhandenen Services implementiert ist DQP zeigt wie die OGSA-DAI Extensibility Points benutzt werden: Activity wird hinzugefügt implementiert neue DataResourceAccessors Vorteile Nebenläufigkeit wird durch OGSA-DAI realisiert DQP kann vielfältige Transfermöglichkeiten von DAI nutzen DQP wird durch DAI abgeschirmt von der verwendeten Plattform (WSI, WSRF)

Quellen http://www.ogsadai.org.uk/ http://www.ogsadai.org.uk/documentation/ ogsadai-wsi-2.2/doc/api-docs/index.html http://www.neresc.ac.uk/projects/ogsa-dqp/ http://www.mygrid.org.uk/ http://www.cs.man.ac.uk/~gounaris/ ahm2003-ogsa-dqp.pdf

Ende Danke für die Aufmerksamkeit - Ende -