Verteilte und föderierte Datenbanken und das Grid

Slides:



Advertisements
Ähnliche Präsentationen
Heterogene Informationssysteme
Advertisements

Datenbanken Einführung.
Datenmodellierung Externe Phase Informationsstruktur
Objektorientierte Datenbanken
Vs61 6 Verteilte Datenverwaltung. vs62 Ziel:Zusammengehöriger Datenbestand soll über mehrere Stationen verteilt werden, z.B. Fragmentierung: in mehrere.
Datenbankzugriff im WWW (Kommerzielle Systeme)
Microsoft Access – Einführung – Allgemeine Technologien I
Das Entity-Relationship-Modell
Universität Paderborn
Objektrelationales Mapping mit JPA
Objektorientierter Entwurf (OOD) Übersicht
Datenbanken I (0,*) Produkt 3 Karczewski Datenbanken I.
Konzeption und prototypische Implementierung eines zentralen Informationssystems für Systemmanagement Motivation Oft wird es schwierig, die benötigten.
On a Buzzword: Hierachical Structure David Parnas.
Anfragesprachen – Dipl. Ing. Ulrich Borchert / FH Merseburg1/7 Datenbanken werden als Anhäufung von Werten eines Wertebereiches aufgefasst und Datenbankabfragen.
SciAgents - Eine agentenbasierte Umgebung für verteilte wissenschaftliche Berechnungen Alexander StarkeSeminar Software Agenten
XINDICE The Apache XML Project Name: Jacqueline Langhorst
Client-Server-Architekturen
WIESEL – Integration von Wissensmanagement und E-Learning auf der Basis von Semantic Web Technologien Matthias Rust, XML-Tage 2004, Berlin WIESEL Integration.
XML in Client-Server und GRID Architektur
Access 2000 Datenbanken.
Datenbanken Einführung Merkmale dateiorientierte Datenverwaltung
Seminar: Verteilte Datenbanken
Einführung Dateisystem <-> Datenbanksystem
Überlegungen zur Architektur eines Fachinformations-Netzwerkes am Beispiel des CeGIM Mehrwert ist es nicht nur, Daten von ihren Quellen zu den Nutzern.
Informationssysteme SS Informationssysteme Grundvorlesung Informatik Sommersemester 2004 Universität des Saarlandes, Saarbrücken Dr. Ralf Schenkel.
RelationentheorieObjektorientierte Datenbanken AIFB SS Das ODMG-Objektmodell vs. relationales Modell (1/9) ODMG-Objektmodell Literal_type Atomic_literal.
Einführung und Überblick
UML Begleitdokumentation des Projekts
JDBC: JAVA Database Connectivity
Diplomarbeit Thema: Untersuchungen zur Spezifikation und Realisierung von Interoperabilitätskonzepten (hauptsächlich) CORBA-basierter Multiagentensysteme.
Datenmodelle, Datenbanksprachen und Datenbankmanagementsysteme
... und alles was dazugehört
Evaluierung des ITU-T.124 Telekonferenzstandards
ODBC (Open Database Connectivity)
Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering SS 2009Folie 1 Objektmodellierung Objekte und Klassen Ein Objekt ist ein Exemplar.
Nestor Workshop im Rahmen der GES 2007 Digitale Langzeitarchivierung und Grid: Gemeinsam sind wir stärker? Anforderungen von eScience und Grid-Technologie.
Vorteile eines lokalen Netzwerks?
Principles of Distributed Database Systems
Entwicklung verteilter Anwendungen I, WS 13/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 5 Folie 2 ADO.NET s.a:
Sesame Florian Mayrhuber
Überblick über die Datenbankproblematik
Datenbanken und Datenmodellierung
Welchen Problemen ist man bei heterogener, verteilter Programmierung ausgesetzt? Hardware: nicht einheitliche, inkompatible Systeme, verschiedene Leistungsfähigkeit.
WS 2011/12 Datenbanksysteme Mi 15:15 – 16:45 R Vorlesung #9 Physische Datenorganisation.
Allgemeines zu Datenbanken
Die Architektur von Jini Präsentation von Thomas Heinis & Michea Wankerl Seminar Information & Kommunikation WS 2000/01.
Replikation und Synchronisation
DI (FH) DI Roland J. Graf MSc (GIS) U N I V E R S I T Ä T S L E H R G A N G Geographical Information Science & Systems UNIGIS.
Vorlesung #10 Physische Datenorganisation
verstehen planen bearbeiten
Torque in Turbine Team 4 Josef Bohninger Thomas Lindenhofer
ADAT©2004 Dipl. - Ing. Walter SabinSeite: 19 Version 1.0a Programme - Zusatzsoftware Oracle: –Forms –Reports –Designer –Jdeveloper –APEX (Application Express)
Institute of Scientific Computing – University of ViennaP.Brezany Integration von föderierten Datenbanken Peter Brezany Institut für Scientific Computing.
Eike Schallehn, Martin Endig
Eike Schallehn, Martin Endig
© 2001 Sven Dammann1 Aufbau Integrierter Informationssysteme XML Bearbeitung und relationale Abbildung Sven Dammann Martin-Luther-Universität Halle-Wittenberg.
Vortrag - Diplomarbeiten (HS I)
Einführung Dateisystem <-> Datenbanksystem
Vs51 5 Verteilte Datenverwaltung. vs52 Situation:Zusammengehöriger Datenbestand ist über mehrere Stationen verteilt, z.B. Fragmentierung: in mehrere Fragmente.
Institute for Software Science – University of ViennaP.Brezany Datenintegration Peter Brezany Institut für Softwarewissenschaften Universität Wien.
Middleware in Java vieweg 2005 © Steffen Heinzl, Markus Mathes Kapitel 1: Architektur verteilter Systeme.
Distributed Database Systems Parallele Datenbanksysteme von Stefan Schneider.
Key-Value Paare (KVP) - Metadaten für Kanäle speichern und nach MDF4 exportieren PM (V1.0)
Kapitel 6: Datenbanksysteme
Datenbanken Eine Einführung Kerstin Fröhlig, HHBK.
Von Wietlisbach, Lenzin und Winter
Datenbanksystem Von Anna und Robin.
Datenbanken Von Amed und Alicia.
Von Wietlisbach, Lenzin und Winter
 Präsentation transkript:

Verteilte und föderierte Datenbanken und das Grid Peter Brezany Institut für Softwarewissenschaft Universität Wien Tel. : 01/4277 38825 E-mail : brezany@par.univie.ac.at Sprechstunde: Dienstag 11.30-12.30

Lernziele Prinzipien von verteilten und föderierten Datenbanksystemen Ideen, wie Datenbanken in das Grid eingebunden werden können. In Richtung auf Datenbankservices

Einführung In der ersten Generation von Grid Anwendungen nutzten nur einige Anwendungen Datenbanken (DB), um wissenschaftliche Daten zu speichern – fast alle nutzten files. In der nächsten Generation wird DB-Integration in das Grid wichtig. Es ist nicht möglich, dieses Ziel nur durch Erweiterung von existierenden Grid services, die files behandeln, zu erreichen. DB bieten eine viel reichere Menge von Operationen (z.B. queries, Transaktionen, usw.) an. Es gibt größere Heterogenität zwischen DB-Paradigmen (z.B. relationale und objekt-orientierte (OO) DB; in einem Paradigm können verschiedene DB Produkte verschiedene Funktionalität und Schnittstellen haben) als zwischen File-Systemen. Es ist notwendig folgende Datenquellen zu integrieren: Strukturierte Daten (z.B. Daten aus relationalen und OO DB) Semi-strukturierte Daten wie XML Relativ unstrukturierte Daten, wie Zeitschrift- und Konferenzartikel.

Einführung (2) Vorhandene DB Management Systeme (DBMS) bieten keine Grid Integration an. Sie sind doch das Resultat (Sicherheit, gute Leistung, Verlässlichkeit, usw.) langjähriger Bemühungen von Tausenden Personen. Ausbau neuer Grid-orientierter DBMS ganz von vorn ist nicht vernünftig; das wäre eine Aufwandverschwendung. Das Forschungsziel: Einbindung von existierenden DBMS in das Grid. Limitierung: Einige verlangten Attribute müssen trotzdem direkt in das unterliegende DBMS integriert werden.

Bereiche von Grid DB Anwendungen Speicherung und Zurückholung (retrieval) von Daten – Hauptaufgabe Metadaten. Information über Information; sie fügen den Kontext zu den Daten hinzu; es ist möglich Daten ausfindig zu machen, ohne zu wissen, wo die Daten gespeichert sind oder ihren physischen Namen zu kennen. Relationale DB sind momentan die Hauptmetode für Speicherung von Metadaten auf dem Grid – sie unterstützen Metadatenabfragen. Herkunft von Daten. Sie bieten Information über die Quelle und folgende Geschichte von Daten (Datenschaffung, Quelle, Besitzer, welche Bearbeitung stattfand, welche Analyse angewendet wurde, Vetrauen in die Qualität der Information). ... , z.B. Abrechnungsinformation – benutzt für Gebührenberechnung.

Grid-DB Forschung It is basiert auf Technologie der verteilten und föderierten Datenbanken – es gibt verschiedene Interpretationen dieser Begriffe, z.B.: Eine verteilte Datenbank (VDB) ist eine Datenbank, die absichtlich über gewisse Zahl von Orten verteilt wurde. Eine VDB wird als Ganzes entworfen, und ist mit ziemlich zentralisierter Steuerung assoziiert. In einer föderierten Datenbank (FDB) tragen viele Datenbanken Daten und Ressourcen zu einer Multi-datenbank-Föderation bei, doch hat jeder Teilnehmer volle lokale Autonomie.

Prinzipien von Verteilten Datenbank-Systemen (Distributed Database Systems DDBS) DDBS = Netzwerk von Computern (Sites) + Datenbank DDBS = Verteilung + Integration + Netzwerk Datenbank = DDBS

Geschichtlicher Rückblick Ende der 60er Anfang der 70er ging man zunehmend dazu über Datenbanksysteme zu benutzen, um die Datenunabhängigkeit der Anwendungsprogramme zu erhöhen, transaktionsorientierte Verarbeitung zu ermöglichen, Mehrbenutzerbetrieb zu realisieren, sowie die Recovery-Funktionen zu verbessern. Entstehen von Rechenzentren, wodurch die Betriebsorganisation zentralisiert wurde! Die Datenmenge wuchsen immer weiter an  zusammengehörende Datenbestände wurden auf verschiedene Datenbanken verteilt. Dadurch entstanden Probleme mit der Konsistenthaltung der Daten. In den 80iger und 90iger Jahren konnten durch Onlineanwendungen bislang Getrennte Anwendungen und Datenbestände zusammengeführt werden. Deshalb wurden integrierte verteilte Informationssysteme realisiert.

Transaktion - Definition Transaktion: Besteht aus einer Sequenz von Lese- und Schreiboperationen auf eine Datenbank zusammen mit Berechnungsschritten Transaction management behandelt das Problem, die Datenbank immer in einen konsistenten Zustand zu halten, auch wenn gleichzeitige Zugriffe und Fehler auftreten.

Definition „A distributed database is a collection of multiple, logically interrelated databases distributed over a computer network. A distributed database management system is the software that permits the management of the DDBS and makes the distribution transparent to the users.“

Zentrale Datenbank in einem Netzwerk Boston Edmonton Communication Network Paris San Francisco

Verteilte Datenbankstruktur Edmonton Boston Edmonton Angestellte Paris Projekte Edmont Projekte Boston Angestellte Paris Angestellte Boston Projekte Communication Network San Francisco Paris Paris Angestellte Paris Projekte Boston Angestellte Boston Projekte San Francisco Angestellte San Francisco Projekte

Transparentes Management Datenunabhängigkeit Netzwerk Transparenz Replizierungstransparenz Fragmentierungstransparenz (Fragmentierung=Aufteilung)

Verbesserte Leistung Ein DBMS teilt die Datenbank und erlaubt es den Daten somit sehr sehr nahe ihrem Ort, wo sie gebraucht werden, gespeichert zu werden. dies hat 3 Vorteile: Seit jeder Knoten einen Teil der Daten bewältigt, ist der Kampf um Ressourcen wie CPU nicht mehr so wichtig wie in zentralisierten Datenbanken Lokalisierung vermindert die Verzögerung bei entfernten Aufrufen Parallele Verarbeitung

Abstraktionsebenen eines DBS Externe Ebene – Sie erlaubt unterschiedliche Sichten verschiedener Benutzer oder Benutzergruppen auf den Datenstand. Konzeptionelle Ebene – Das ist die zentrale Ebene. Sie spezifiziert die logische Gesamtsicht (d.h. unabhängig von der tatsächlichen Speicherung) aller Daten, die von irgendeinem Anwendungprogramm benötigt werden. Es erfolgt eine Beschreibung aller Objet- und Beziehungs-typen sowie deren Wertebereiche. Interne Ebene – Sie beschreibt die physische Datenorganisation, d.h. sie legt fest wie die im konzeptionellen Schema beschriebenen Objekte und Beziehungen physisch abgespeichert werden und welche Zugriffsmöglichkeitenbestehen. Es werden etwa Zugriffsmöglichkeiten zu den Datensätzen durch Indexstrukturen wie Hashtabellen, invertierte Listen oder B-Bäume spezifiziert.

Architektur von DBMS Die Idee hinter dem ANSI/SPARC Modell ist die Datenunabhängigkeit der Daten gegenüber Veränderungen der Speicherstrukturen. Das DBMS ist eine Schnittstelle zu den Daten.

Architekturmodell

Architektur von DBMS Client - Server Architektur Verteilte Datenbank Architektur Multi Datenbank Architektur

Client/Server Architektur Hier gibt es typischerweise einen zentralen Datenbank-Server und eine größere Anzahl vernetzter Arbeitsplatzrechner, die keine relevanten Daten speichern. Der Benutzer am Arbeitsplatzrechner sieht die volle Funktionalität des DBMS. Das System verhält sich wie ein zentrales Datenbanksystem, die Kommunikation ist für den Benutzer transparent

Verteiltes Datenbanksystem Hier gibt es mehrere Datenbankserver, wobei bestimmte Daten auf nur einem Rechner oder auch auf mehreren (replizit) gespeichert sein können. Eine virtuelle Datenbank, deren Komponenten physisch in einer Anzahl unterschiedlicher, real existierender DBMS abgebildet werden. Transaktionen können in diesem Fall über mehrere DBMS laufen. Sammlung von Daten, die Aufgrund gemeinsamer, verknüpfender Eigenschaften dem gleichen System angehören Auf versch. Rechnern im Netzwerk verteilt sind Wobei jeder Rechner seine eigene Datenbank besitzt Autonom lokal Aufgaben abwickeln kann

Verteiltes Datenbanksystem - gleichzeitige Benutzung der Rechenleistung mehrerer Rechner - Engpaß in zentralen Datenbanksystemen bei Zugriff auf die Daten wird vermieden, da die Daten verteilt sind (ggf. repliziert) - Daten werden von einem Datenbanksystem verwaltet - Verteilungstransparenz - Grundlage: 4-Ebenen-Schema-Architektur

Verteiltes Datenbanksystem externes Schema 1 . . . externes Schema N konzeptionelles Schema lokales konzept. Schema lokales konzept. Schema lokales konzept. Schema . . . lokales internes Schema lokales internes Schema lokales internes Schema . . . 4 - Ebenen - Schema - Architektur

Multidatenbanksystem - Ein MDBS ist ein Verbund von mehreren Datenbanksystemen. - Das Konzeptionelle Schema repräsentiert nur den Teil von Daten, den die lokalen DBMS teilen wollen. - Auf jedes DBS können lokale Anwendungen zugreifen. - Jedes DBS kann Daten enthalten, welche keine Beziehung zu Daten anderer DBS haben.

Multidatenbanksystem GES GES GES LES LES LES LES LES LES GKS LKS 1 ... LKS n LIS 1 ... LIS n Modell mit globalem konzeptionellem Schema

Design Entwurfsmethodik top-down: von den Anforderungen zum Systementwurf; geeignet für Neuentwicklungen. bottom-up: Integration bestehender Datenbanken zu einer verteilten; typisch bei heterogenen Datenbanken. Datenverteilung Fragmentierung der Daten zur Bildung logischer Einheiten, Verteilung der Fragmente auf den Sites: Allokation aller Fragmente an jeder Site (volle Replikation) oder jedes Fragment an mehr als einer Site (partielle Replikation) oder jedes Fragment an genau einer Site (Partitionierung).

Die Trennung von Fragmentierung und Allokation dient der Vereinfachung des Entwurfs. Globales Schema: Definition der Relationen eines vDBS ohne Berücksichtigung der Verteilung, Fragmentierungsschema: Definition der Abbildung zwischen globalen Relationen und Fragmenten, Allokationsschema: Definition der Abbildung zwischen Fragmenten und Sites. Der Zugriff zu den Daten soll hinsichtlich Fragmentierung, Lokation, und Replikation transparent sein.

R1 R1,1 S1 R2 R R2,1 R1,2 R3 R4 Globale Relation S2 R2,2 Fragmente Fragmente und ihre Allokation Allokation an den Sites R3,3 S3 R4,3

Beispiel: horizontale Fragmentierung

Beispiel: abgeleitete horizontale Fragmentierung

Beispiel: vertikale Fragmentierung

Was ist die „optimale“ Zuordnung von F zu S bzgl. Q? Allokation Sei F = {F1, ..., Fn} eine Menge von Fragmenten, S = {S1, ..., Sm} ein Netzwerk gegeben durch die Menge seiner Sites, und Q = {Q1, ..., Qp} die Menge der relevanten Anwendungen. Allokationsproblem: Was ist die „optimale“ Zuordnung von F zu S bzgl. Q? Optimaltätskriterium: Minimalität der Kosten gegeben durch die Speicherkosten der Fi an den Sites Sj, der Anfragekosten für Fi an Site Sj, der Änderungskosten der Fi an allen Sites an den sie gespeichert sind, und die Kosten der Datenkommunikation. Performanz im Sinne von Antwortzeiten oder Systemdurchsatz.

A Typical Federated System Architecture Catalog: registers wrappers Data: caches query reults

Integration von Datenbanken in das Grid Two possible approaches: Grid-enabled version of JDBC/ODBC - The core set of functionality offered by JDBC/ODBC does not include a number of operations to fulfill Grid database requirements. Better solution: Service-based approach shown in the next slide, with a service wrapper placed between the Grid and the DBS

Integrating Databases into the Grid (2) Bulk load is the fastest way to load data into a table. Incremental load is slower than bulk load because each row is individually stored in the target table, and is individually logged.

Federating Database Systems Across the Grid A Grid application interfacing directly to a set of DBS

Federating Database Systems Across the Grid (2) The virtual database service provides the illusion that a singe DB is accessed. The services can be transient (Grid-enabled) or persistent (operated independently of the Grid).

Database Database Service (GDS) Entdeckung des DB services Die Beschreibung der DB services mußt publiziert (registriert) werden: Inhalt der DB Details über DB Operationen usw. Registry Look-up gibt Grid Service Handle (GSH) zurück. GSH ist ein global eindeutiger Name für jeden einzigen service Fall (instance).

Database Statements DB statements ermöglichen Abfragen (queries), Modifikationen (updates) und Ladungen (loads) an ein DB für Ausführung zu schicken. Grundlegendes database statement interface query (IN queryNotation, IN query, OPTIN expires, OUT resultHandle, OUT fail) update (....) bulkLoad (....) schemaUpdate (....) ..................................................................... z.B. queryNotation = “SQL92“ expires – Beschränkung von Ressourcen-Anwendung

Distributed Query Service The role of a distributed query service is to allow individual queries to access multiple DB, thereby allowing the system to take responsibility for query optimization and efficient evaluation. Setting up a distributed query service

Distributed Query Service (2) Using up a distributed query service

Database Services in OGSA DB services bekommen zusätzliche Eingeschaften, when sie mit OGSA integriert werden. Life cycles – OGSA unterscheidet zwischen: persistent service: er wird außerhalb der Grid-Service-Umgebung hergestellt; er kann durch standard Grid-Service-Konventionen benutzt werden. transient Grid service: er wird innerhalb von OGSA von factory hergestellt. Es ist möglich seine Lebensspane (lifespan) zu spezifizieren. Auch schema, Datenbank, usw. kann spezifiziert werden. Es ist notwendig zu ermöglichen, dass DB Authoriesierungsfunktionalität innerhalb von OGSA zugreifbar ist.

Creating and Using a Grid Data Service