Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

1 J4 Hash-Join R und S werden mittels der gleichen Hashfunktion h – angewendet auf R.A und S.B – auf (dieselben) Hash- Buckets abgebildet Hash-Buckets.

Ähnliche Präsentationen


Präsentation zum Thema: "1 J4 Hash-Join R und S werden mittels der gleichen Hashfunktion h – angewendet auf R.A und S.B – auf (dieselben) Hash- Buckets abgebildet Hash-Buckets."—  Präsentation transkript:

1 1 J4 Hash-Join R und S werden mittels der gleichen Hashfunktion h – angewendet auf R.A und S.B – auf (dieselben) Hash- Buckets abgebildet Hash-Buckets sind i.Allg. auf Hintergrundspeicher (abhängig von der Größe der Relationen) Zu verbindende Tupel befinden sich dann im selben Bucket Wird (nach praktischen Tests) nur vom Merge-Join geschlagen, wenn die Relationen schon vorsortiert sind Implementierung der Verbindung: Strategien

2 2 RS r1r1 5 s1s1 5 r4r4 5 s4s4 5 10s3s3 r2r2 7 s2s2 7 r3r3 8 h(A)h(A)h(B ) Bucket 3 Bucket 2Bucket 1

3 3 Normaler blockierender Hash- Join mit Überlauf: Partitionieren Send R Send S receive P1 P2P3 Partition h(R.A) P1 P2 P3 Partition h(S.A) receive

4 4 Normaler blockierender Hash-Join mit Überlauf: Build/Probe Send R Send S P1 P2P3 Partition h(R.A) P1 P2 P3 build Hashtabelle probe Lade Blöcke von P1

5 5

6 6

7 7

8 8

9 9 Mengendurchschnitt (~Join) mit einem Hash/Partitionierungs-Algorithmus R 2 3 44 5 76 90 13 17 42 88 S 44 17 97 4 6 27 2 13 3 R S Nested Loop: O(N 2 ) Sortieren: O(N log N) Partitionieren und Hashing

10 10 Mengendurchschnitt mit einem Hash/Partitionierungs-Algorithmus R 2 3 44 5 76 90 13 17 42 88 S 44 17 97 4 6 27 2 13 3 R S R 3 90 42 76 13 88 2 44 5 17 Mod 3

11 11 Mengendurchschnitt mit einem Hash/Partitionierungs-Algorithmus R 2 3 44 5 76 90 13 17 42 88 S 44 17 97 4 6 27 2 13 3 R S R 3 90 42 76 13 88 2 44 5 17 S 6 27 3 97 4 13 44 17 2 Mod 3

12 12 Mengendurchschnitt mit einem Hash/Partitionierungs-Algorithmus R 2 3 44 5 76 90 13 17 42 88 S 44 17 97 4 6 27 2 13 3 R S R 3 90 42 76 13 88 2 44 5 17 S 6 27 3 97 4 13 44 17 2 Mod 3

13 13 Mengendurchschnitt mit einem Hash/Partitionierungs-Algorithmus R S R 3 90 42 76 13 88 2 44 5 17 S 6 27 3 97 4 13 44 17 2 6 27 3 Mod 5 Build- Phase Hashtabelle

14 14 Mengendurchschnitt mit einem Hash/Partitionierungs-Algorithmus R S = {3, } R 3 90 42 76 13 88 2 44 5 17 S 6 27 3 97 4 13 44 17 2 6 27 3 Mod 5 Probe- Phase

15 15 Mengendurchschnitt mit einem Hash/Partitionierungs-Algorithmus R S = {3, } R 3 90 42 76 13 88 2 44 5 17 S 6 27 3 97 4 13 44 17 2 97 13 4 Mod 5 Build-Phase 2. Partition

16 16 Mengendurchschnitt mit einem Hash/Partitionierungs-Algorithmus R S = {3, } R 3 90 42 76 13 88 2 44 5 17 S 6 27 3 97 4 13 44 17 2 97 13 4 Mod 5 Probe-Phase 2. Partition

17 17 Mengendurchschnitt mit einem Hash/Partitionierungs-Algorithmus R S = {3, 13 } R 3 90 42 76 13 88 2 44 5 17 S 6 27 3 97 4 13 44 17 2 97 13 4 Mod 5 Probe-Phase 2. Partition

18 18 Mengendurchschnitt mit einem Hash/Partitionierungs-Algorithmus R 2 3 44 5 76 90 13 17 42 88 S 44 17 97 4 6 27 2 13 3 R 3 90 42 76 13 88 2 44 5 17 S 6 27 3 97 4 13 44 17 2 Mod 3 R S = {3, 13, 2, 44, 17 }

19 19 Vergleich: Sort/Merge-Join versus Hash-Join R run S merge R partition S

20 Radix-Join: Erhöhung der Cache- Lokalität durch Partitionierung

21 Wiederholte Partitionierung

22 Technische Universität München Range partitioning of private input 9 19 7 3 21 1 17 2 23 4 31 8 20 26 21 17 23 31 20 26 chunk of worker W 1 chunk of worker W 2 histogram of worker W 1 7 = 00111 <16 16 17 = 10001 histogram of worker W 2 <16 16 4 3 3 4 prefix sum of worker W 1 0 0 prefix sum of worker W 2 4 3 W1W1 W2W2 W1W1 W2W2 1 19 19=10011 22 5 2=00010 2

23 Technische Universität München Range partitioning of private input 9 19 7 3 21 1 17 2 23 4 31 8 20 26 chunk of worker W 1 chunk of worker W 2 histogram of worker W 1 7 = 00111 <16 17 = 10001 histogram of worker W 2 <16 4 3 3 4 prefix sum of worker W 1 0 0 prefix sum of worker W 2 4 3 7 3 9 1 4 17 31 2 8 21 23 20 26 W1W1 W2W2 W1W1 W2W2 1 19 19=10011 23 16 5 2=00010

24 Technische Universität München Real C hacker at work …

25 Technische Universität München Paralleler Hash-Join ohne Partitionierung 25


Herunterladen ppt "1 J4 Hash-Join R und S werden mittels der gleichen Hashfunktion h – angewendet auf R.A und S.B – auf (dieselben) Hash- Buckets abgebildet Hash-Buckets."

Ähnliche Präsentationen


Google-Anzeigen