18.2 Parallelisierung unärer relationaler Operatoren

18.2.2 Projektion

Die Parallelisierung dieses Operators kann analog zur Selektion erfolgen. Denn für eine in n horizontale Partitionen zerlegte Relation R gilt:

A(R) = A(Ri) (1 i n).
In vielen Fällen werden Projektion und Selektion ohnehin zusammen ausgeführt, um die relevanten Daten nur einmal von Platte zu lesen und den Umfang der Ergebnismengen zu reduzieren. Bei der Bearbeitung einer DB-Operation werden beide Operatoren meist als erstes durchgeführt (auf den Basisrelationen), da sie zu einer starken Reduzierung der Datenmenge führen, die ggf. durch andere Operatoren weiterzuverarbeiten ist.

Die Projektion verlangt ggf. eine Eliminierung von Duplikaten, die i.a. durch Sortieren der Ergebnismenge erfolgt (s.u.). Alternativ dazu kann die Erkennung von Duplikaten hash-basiert erfolgen [Gra93]. Dabei wird jedes Tupel über eine Hash-Funktion in eine Hash-Tabelle abgebildet. Die Erkennung von Duplikaten beschränkt sich damit auf die Tupel einer Hash-Klasse, was bei wenigen Tupeln pro Hash-Klasse (sehr viele Hash-Klassen) billig möglich ist. Durch Aufteilung der Hash-Klassen unter mehrere Prozessoren kann die Duplikateliminierung zudem leicht parallelisiert werden.