P2P DATENBANKEN Anwendungen 1 – WS 2009/2010 Julissa Cusi Juarez Department Informatik HAW H b HAW Hamburg 02.12.2009 1 Agenda 1. 2. 3. 4. 5. 6. Motivation Klassische Datenbanksysteme Verteilte Datenbanksysteme Peer‐to‐Peer (P2P) P2P Datenbanksysteme Query Processing in P2P Datenbanksystemen 6.1. Beispiel: Skyframe 7. Zusammenfassung Z f 8. Ausblick a. Literatur 2 1. Motivation y Entwicklung der Endbenutzer‐Kapazitäten Entwicklung der Endbenutzer Kapazitäten y Hohe Rechenleistung y Hohe Speicherkapazität y Entwicklung der Kommunikations‐Netzwerke y Breitbandverbindung verfügbar y Flatrate y Content Sharing Websysteme y Hoher Bedarf, Information auszutauschen Hoher Bedarf Information auszutauschen y Hohe Anzahl von Benutzern weltweit 3 2. Klassische Datenbanksysteme y Basierend auf Client/Server y y y y Model Zentralisiertes DBS paßt gut Zentralisiertes DBS, paßt gut zu zentralisierten Unternehmen Zentrale Administration des Servers Steuert relationale Datenbanken Benutzt SQL Anfragesprache 4 3. Verteilte Datenbanksysteme y Ein Verteiltes Datenbank‐ managementsystem ist eine Software, die eine oder mehrere logisch zusammenhängende Datenbanken über ein Netzwerk steuert. 5 3. Verteilte Datenbanksysteme Klassifikation y Dimension Autonomie 0: Vollständige Integration g g 1: Semi‐autonome System 2: Vollständige Autonomie y Dimension Verteilung 0: Nicht verteilt (zentralisiert) 1: Client / Server System 2: Verteilung Peer‐to‐Peer y Dimension Heterogenität 0: Homogenes System g y 1: Heterogenes System 6 3. Verteilte Datenbanksysteme Fragmentierung: Verteilung der Daten auf Knoten y Horizontal (Zeilen) y Vertikal (Spalten) y Hybrid Replikation : Absichtlich redundante Speicherung der Daten auf den Knoten y Vollständige Replikation y Partielle Replikation y Keine Replikation 7 4. Peer‐to‐Peer (P2P) y Overlay Architektur y Dezentralisiertes und selbstorganisiertes System g y y Das System ist dynamisch y Peers sind gleichberechtigt und P i d l i hb h i d autonom y Kein Peer hat einen Überblick über das Gesamtsystem y Benutzt verteilte und geteilte Ressourcen 8 4. Peer‐to‐Peer (P2P) Eigenschaften y Skalierbarkeit bezüglich der Knotennummer y Dezentralisiert D li i i d i in der reinsten Form von P2P Netzen, gibt es F P P N ib kein Konzept von „Server“ y Autonomie bezüglich Speicherung, Ausführung, Standzeit und Verbindung y Direkter Zugriff auf Daten der verschiedenen Knoten y Robustheit und Härtung gegen Peer‐Ausfälle gegen Peer Ausfälle y Einfache Entwicklung, weil die Knoten keine besondere I f Infrastruktur brauchen k b h 9 4. Peer‐to‐Peer (P2P) Unstrukturierte P2P Netze y y y y Overlay Links beliebig etabliert Anfragebearbeitung durch Flutung“ Anfragebearbeitung durch „Flutung Manchmal können die Anfragen nicht beantwortet werden Flutung erzeugt hohen Kommunikationsoverhead g g Typen Beispiel Zentralisierte P2P‐Systeme Napster R i P P S Reine P2P‐Systeme G Gnutella 0.4, Freenet ll F y y Hybride P2P‐Systeme Gnutella 0.6, Gnutella2, JXTA , ,J 10 4. Peer‐to‐Peer (P2P) Unstrukturierte Systeme, zentralisiertes P2P: Napster Napster Protokoll [8] 11 4. Peer‐to‐Peer (P2P) Unstrukturierte Systeme, reines P2P: Gnutella 0.4 Gnutella Protokoll [8] 12 4. Peer‐to‐Peer (P2P) Strukturierte P2P Netze y Benutzen Distributed Hash Table (DHT) y Jeder Peer ist verantwortlich für einen bestimmten Teil des i b i T il d Netzwerkgehaltes y Das Protokoll wird benutzt, um die geeigneten Peers zu finden g g y Höhere Erhaltungskosten y Beispielsysteme: CAN, Chord B i i l t CAN Ch d CAN Chord 13 4. Peer‐to‐Peer (P2P) Strukturierte Systeme : Distributed Hash Tables (DHT) Distributed Hash Tables [7] 14 5. P2P Datenbanksysteme y Eine Kollektion vom lokalen autonomen Datenbehältern (Peers) y Man kombiniert die dezentralisierten Eigenschaften und die Autonomie der P2P Syteme mit der Semantik der VDBS y Man vermeidet globale Datenbankschemata Integrationarchitektur der Daten [1] Daten [1] 15 5. P2P Datenbanksysteme Vorteile y P2P‐Vorteile bleiben erhalten, z.B. hohe Skalierbarkeit Sk li b k it y Keine besondere Infrastruktur in den Knoten erforderlich Nachteile y Keine Garantie alle Antworten zu erhalten y SQL typischerweise nicht unterstützt Q yp 16 6. Query Processing in P2P DBS y Anfragen werden durch das Overlaynetz verbreitet y Man benutzt benut t spezifische spe ifische Indexes Inde es y Anfragesprache f h oft f begrenzt b und d von der d Art des d Netzwerkes abhängig y Es g gibt keine Garantie, alle Antworten zu erhalten y Benutzt Replikation Replikation‐ und Laufzeittoleranztechniken 17 6. Query Processing in P2P DBS Abhängigkeiten vom verfügbaren Index Typen Beschreibung K i I d Kein Index R ti d h Fl t Routing durch Flutung (wie in Gnutella 0.4) ( i i G t ll ) Zentralisierter Index Ein Peer hat die Information über den Inhalt von allen Knoten Bottleneck (wie in Napster) Knoten. Bottleneck Verteilter Index Unstrukturierten Routing Indexes, ein Peer hat Systeme Information über den Inhalt von erreichbaren Knoten (hängt von Overlaytopologie ab) Strukturierten St kt i t Systeme JJeder Peer hat Indexinformation d P h t I d i f ti aller Daten über die Hash Funktion 18 6. Query Processing in P2P DBS Mögliche Datenmodelle und Anfragesprachen Datenmodell Anfragesprache XML XPath, XQuery RDF SPARQL, Logic Language 19 6.1. Beispiel: Skyframe Skyline Query y y Beispiel von Skyline Query im zweidimensionalen Raum [6] 20 6.1. Beispiele: Skyframe Architektur 1. Q Query Processing Manager: P i M Greedy Skyline Search (GSS) und G d Sk li S h (GSS) d Relaxed Skyline Search (RSS) Greedy Skyline Search [6] Greedy Skyline Search [6] Relaxed Search Space [6] Relaxed Search Space [6] 21 6.1. Beispiele: Skyframe Architektur 2. 3. Query load‐balancing Manager Q y g g y Query load balanced Partition y Dynamic query load balancing Skyframe Skyframe [6] 22 7. Zusammenfassung y Ein P2P DBS kombiniert die dezentralisierten Eigenschaften und die Autonomie der P2P Systeme mit der Semantik der VDBS. y Es gibt verschiedene Query Processing Methoden je nach Overlayarchitektur. y Es gibt verschiedene Datenmodelle und Anfragesprachen, je nach P2P Netz. y Skyframe ist ein beispielhaftes Framework, das den y p , Zeitverlauf optimiert und niedrige Netzwerk‐ kommunikationskosten erreicht. 23 8. Ausblick y Entwicklung von einem Query‐Processing‐Verfahren Entwicklung von einem Query Processing Verfahren für ein strukturiertes P2P‐System y Anwendung des Verfahrens in typischen Szenarien y Vergleich des entwickelten Verfahrens mit existierenden Verfahren für das betrachtete Szenario 24 A. Literatur [1] A. Bonifati, P. K. Chrysanthis, A. M.Ouksel, K. Sattler. Distributed Databases and Peer‐to‐Peer Databases: Past and Present. In ACM SIGMOD Record, Vol.37 No.1, 2008. [2] A. Eyal, A.Gal. Self Organizing Semantic Topologies in P2P Data Integration Systems. In IEEE International Conference on Data Engineering, 2009. [3] X. Shen, Z. Li. Implementing Database Management System in P2P N Networks. k In I International I i l Seminar S i on Future F I f Information i Technology T h l and d Management Engineering , 2008. [4] M. Karnstedt, M Karnstedt K. K Sattler, Sattler M. M Haß, Haß M. M Hauswirth, Hauswirth B. B Sapkota, Sapkota R. R Sachmidt. Sachmidt Estimating the Number of Answers with Guarantees for Structured Queries in P2P Databases. In ACM Conference on Information and Knowledge Management CIKM´08, 2008. 25 A. Literatur [5] G. Koloniari, E. Pitoura. Peer‐to‐Peer Management of XML Data: Issues and Research Challenges. In ACM SIGMOD Record, Vol.34 No.2, 2005. [6] S. Wang, Q. H. Vu, B. C. Ooi, A. K. H. Tung, L. Xu. Skyframe: a framework for skyline query processing in peer‐to‐peer systems. In VLDB Journal, Vol.18, No.1, 2009. [7] http://en.wikipedia.org/wiki/Distributed_hash_table [8] http://www.umkc.edu/is/security/p2p_explanation.asp 26 Vielen Dank für Ihre Vi l D k fü Ih Aufmerksamkeit ! 27