18 Parallele Anfragebearbeitung

18.3 Parallele Joins

Die Wichtigkeit der Verbundoperation sowie ihre oft aufwendige Berechnung führten dazu, daß eine große Anzahl von parallelen Implementierungen vorgeschlagen wurde. Wir stellen zunächst zwei allgemeine Ansätze zur parallelen Join-Verarbeitung vor, welche auf einer dynamischen Umverteilung der Eingaberelationen basieren und zur lokalen Join-Berechnung unterschiedliche sequentielle Algorithmen zulassen (Nested-Loop-, Sort-Merge- oder Hash-Join). Der erste Ansatz basiert dabei auf einer dynamischen Replikation einer der Relationen (Kap. 18.3.1), während der zweite Ansatz eine dynamische Partitionierung der Eingabedaten vorsieht und nur für Equi-Joins (Gleichverbund) anwendbar ist (Kap. 18.3.2). Danach gehen wir genauer auf parallele Join-Algorithmen ein, die Hash-Joins zur lokalen Join-Berechnung benutzen (Kap. 18.3.3). Abschließend diskutieren wir die Parallelisierung von Mehr-Wege-Joins (Kap. 18.3.4).

18.3.1 - Join-Berechnung mit dynamischer Replikation
18.3.2 - Join-Berechnung mit dynamischer Partitionierung
18.3.3 - Parallele Hash-Joins
18.3.4 - Mehr-Wege-Joins