Seminar Service Aspects in ad-hoc and P2P networks

19
Seminar Service Aspects in ad- hoc and P2P networks Database functionality in P2P-networks von Thorsten Weiberg

description

Seminar Service Aspects in ad-hoc and P2P networks. Database functionality in P2P-networks von Thorsten Weiberg. Überblick. Motivation und Einleitung DHT-Systeme Query Vorgänge in P2P Netzen(PIER) Mögliche allgemeine Architektur und Architektur von PIER - PowerPoint PPT Presentation

Transcript of Seminar Service Aspects in ad-hoc and P2P networks

Page 1: Seminar  Service Aspects in ad-hoc and P2P networks

Seminar Service Aspects in ad-hoc and

P2P networks

Database functionality

in

P2P-networks

von

Thorsten Weiberg

Page 2: Seminar  Service Aspects in ad-hoc and P2P networks

2

Überblick

• Motivation und Einleitung• DHT-Systeme• Query Vorgänge in P2P Netzen(PIER)• Mögliche allgemeine Architektur• und Architektur von PIER• Operatoren bei Suchanfragen (Bsp.: Join)• Performance von PIER• Robustheit von PIER• Zusammenfassung und Ausblick

Page 3: Seminar  Service Aspects in ad-hoc and P2P networks

3

1. Einleitung und Motivation

• Peer-to-Peer(P2P) v.a. bekannt durch Filesharing Programme

• Verteilte Datenbanken sind bisher in ihrer Verteilung beschränkt.

• Traditionelle Datenbanken werden bisher zentral verwaltet.

• Versuch Prinzip von P2P auf Datenbanken anzusetzen (Bsp.: PIER)

Page 4: Seminar  Service Aspects in ad-hoc and P2P networks

4

Einleitung und Motivation(2)

Näherung von der Datenbankseite durch Lockerung der

Designprinzipien:

1. Konsistenz

2. Anpassende Skalierung

3. Natürliche Umgebung von Daten

4. Standardisierte Schemas über eine populäre Software

Page 5: Seminar  Service Aspects in ad-hoc and P2P networks

5

2. DHT-Systeme

Aufbau:• Eine(!) Hashtable, deren Daten sich auf allen Knoten

verteilt befinden.• Jeder Knoten kann Daten speichern.• Jedes Datum hat einen eindeutigen Schlüssel.• Herzstück: „overlay“-Routing

Ein DHT-System ist skalierbar und braucht für einen Lookup O(log n) Hops bei n Knoten.

Nur exaktes Matching!

Bsp. für ein DHT-System: CAN

Page 6: Seminar  Service Aspects in ad-hoc and P2P networks

6

3. Query Vorgänge in P2P(Bsp.: PIER)

• Query Engine:

- weit verbreitet, praktisch nutzbar

- API der dazu verwendet DHT dünn, portabel und

allgemein

• PIER (P2P Information Exchange and Retrieval) ist eine Query Engine, die Anzahl der teilnehmenden Knoten

vergrößert, ohne dass die Skalierbarkeit darunter leidet.

Page 7: Seminar  Service Aspects in ad-hoc and P2P networks

7

4. Eine allgemeine Architektur

• Drei-Schichten Modell:

DHT-Schicht

Data Storage Schicht

QP-Schicht

P2P Netzwerk

Page 8: Seminar  Service Aspects in ad-hoc and P2P networks

8

5. Architektur von PIER

Page 9: Seminar  Service Aspects in ad-hoc and P2P networks

9

6. Operatoren bei Suchanfragen

• Operatoren für Selektion, Projektion, Join, Grouping, Aggregation und Sortieren

• Zur Vereinfachung wird nur das JOIN betrachtet:

1. Symmertric hash join

2. Fetch Matches

3. Symmetric semi join

4. Bloom Filter

Page 10: Seminar  Service Aspects in ad-hoc and P2P networks

10

6.1 Symmetric Hash Join

• Join (Equi-Join) über Relationen S und R• Nutzt DHT-Struktur zum Routen und Speichern von

Tupeln• Rehashing von R und S

• jeder Knoten lokalen scan in seinem Namesspace NR und NS ein, um alle R und S Tupel zu lokalisieren.

• jedes Tupel, das alle lokalen Selektionsprädikate erfüllt, wird in den eindeutigen Namespace NQ kopiert.

• Die Werte für die Join-Attribute werden konkateniert und bilden so die resourceID der Kopie.

Page 11: Seminar  Service Aspects in ad-hoc and P2P networks

11

6.1 Symmetric Hash Join(2)

• Das Prüfen der Hashtable ist eine lokale Operation in NQ, die parallel beim Bilden geschieht.

• Jeder Knoten registriert sich in der DHT, um ein newData Callback zu bekommen.

• Wenn nun ein Tupel eingefügt wird, dann wird in NQ geprüft, ob sich eine Übereinstimmung mit der anderen Tabelle ergibt.

• Übereinstimmungen werden an das Prüftupel angehängt, um Ergebnistupel zu generieren.

• Sie werden dann in zur nächsten Station der Anfrage (ein anderer DHT Namespace) oder falls sie schon Ergebnistupel sind, zum Ausgangspunkt der Anfrage geschickt.

Page 12: Seminar  Service Aspects in ad-hoc and P2P networks

12

6.2 Fetch Matches

• Variation eines traditionellen Join-Algorithmus• Eine Tabelle ist schon gehashed(hier S)!

• auf NR ein lscan durchgeführt

• Für jedes Tupel von R wird nun in S auf Übereinstimmungen durchsucht.

• Bei Übereinstimmung wird nun wie beim symmetric hash join verfahren.

Page 13: Seminar  Service Aspects in ad-hoc and P2P networks

13

6.3 Symmetrisches Semi Join

• beide Tabellen (R und S) neu gehashed• Braucht dafür große Bandbreite• Deshalb: Projektion von R und S auf ihre resourceID und

Join Schlüssel• Auf diese Projektion wird ein normales symmetrisches

Join ausgeführt.

Page 14: Seminar  Service Aspects in ad-hoc and P2P networks

14

6.4 Bloom Join

• Generieren von Bloom Filtern für alle Knoten für jedes S und R Fragment

• Diese Filter werden in einer temporären DHT mit den Namespaces für jede Tabelle gespeichert.

• Filter werden nun alle „verodert“ • Multicast zu allen Knoten, die die entgegensetzte Tabelle

speichern• Ein Knoten scannt nun sein korrespondierendes

Fragment und rehashed nur Tupel, die mit den Bloom Filter übereinstimmen.

Page 15: Seminar  Service Aspects in ad-hoc and P2P networks

15

7. Performance von PIER

• Traditionellen Datenbanken Skalierbarkeit in der Netzwerkgröße gemessen

• Beim Internet: Anzahl der Knoten und Netzwerkcharakteristik

• Erhöhung #Knoten Erhöhung der Ressourcen

Latenz steigt• Flaschenhälse: Latenz und Bandbreite

Page 16: Seminar  Service Aspects in ad-hoc and P2P networks

16

7.1 unendliche Bandbreite

• Unendliche Bandbreite (Messergebnisse bis zum Erhalt des letzten Tupel), Vergleich der Join-Algorithmen:

Symmetrischer Hash

Fetch Matches Sym. Semi-Join Bloom Filter

3,73 s 3,78 s 4,47 s 6,85 s

• durchschnittliche Latenz von 0,57 s• Latenz zwischen zwei Knoten beträgt 0,1 s• ein Multicast braucht hier etwa 3 s n = 1024 Knoten

Page 17: Seminar  Service Aspects in ad-hoc and P2P networks

17

7.2 begrenzte Bandbreite

Sinkt die Selektivität von den Prädikaten unter 40% dann ist die Kapazität der Berechnungsknoten der Flaschenhals. Steigt sie über 40%, dann ist die „inbound“ Kapazität auf der Anfrageseite der Flaschenhals.

Page 18: Seminar  Service Aspects in ad-hoc and P2P networks

18

8. Robustheit

• Bemerken von Knotenausfällen mit Hilfe von Lebenszeichen“

• Bemerken eines Knotenausfalls dauert gewisse Zeit• Knoten müssen also refreshed werden• Je höher die Refreshrate desto schneller wird ein Ausfall

bemerkt,• doch desto höher ist die Netzlast.

Page 19: Seminar  Service Aspects in ad-hoc and P2P networks

19

Zusammenfassung/Ausblick

• PIER schlägt den richtigen Weg ein

• Allerdings noch nicht für‘s Internet geeignet,

• aber schon eher für verteilte Datenbanken.

• Aufteilung der Schichten lassen möglichst allgemeine DHTs zu

• Selektion: alle Tupel von R durchsucht (DHT-Schicht), Query Processor von PIER nicht die Möglichkeit diese Tupel von S zu filtern. Rationalisierungsbedarf für die Zukunft

• Es können keine Selektionen von nicht-DHT Attributen in der DHT gespeichert werden.

• Anwendungsgebiete: z.B. Netzwerkmonitorapplikationen und weit verteilte Systeme (Datenbanken)