Mit Clustering können Sie die Datensätze in den Faktentabellen eines InfoCubes sortiert speichern. Dabei werden Datensätze mit gleichen Dimensionsschlüsseln in gleichen Extents (zusammenhängende Speichereinheit der Datenbank) gespeichert. Dies verhindert die Streuung über einen großen Speicherbereich von gleichen Datensätzen und reduziert damit bei einem Tabellenzugriff die Zahl der zu lesenden Extents. Lese-, Schreib- und Löschzugriffe auf eine Faktentabelle werden dadurch deutlich beschleunigt.
Die Funktion wird derzeit nur von der Datenbankplattform DB2 for Linux, UNIX, and Windows unterstützt. Zur Performanceverbesserung anderer Datenbanken können Sie die Partitionierung verwenden. Weitere Informationen finden Sie unter Partitionierung.
Es stehen zwei Arten von Clustering zur Verfügung: Index Clustering und mehrdimensionales Clustering (MDC).
Mehrdimensionales Clustering organisiert die Datensätze einer Faktentabelle nach einem oder mehreren frei wählbaren Feldern. Die ausgewählten Felder werden auch als MDC-Dimensionen bezeichnet. Nur Datensätze mit gleichen Werten in den MDC-Dimensionen werden in einem Extent gespeichert. Ein Extent wird im Zusammenhang mit MDC auch als Block bezeichnet. Die Sortierung ist damit immer garantiert, eine Tabellenreorganisation ist auch bei vielen Einfüge- und Löschoperationen nicht notwendig.
Anstelle der standardmäßigen Sekundärindizes werden auf den ausgewählten Feldern datenbankinterne Blockindizes angelegt. Blockindizes verweisen auf Extents anstelle von Datensatznummern und sind dadurch deutlich kleiner. Sie sparen Speicherplatz und können schneller durchsucht werden. Dies beschleunigt insbesondere Tabellenabfragen, die Einschränkungen auf diese Felder haben.
Als MDC-Dimension auswählbar sind die Schlüsselfelder der Zeitdimension und aller Kundendimensionen eines InfoCubes. Das Schlüsselfeld der Paketdimension ist nicht auswählbar und wird nur auf der F-Faktentabelle automatisch zu den MDC-Dimensionen hinzugefügt.
Anstelle der Zeitdimension kann auch ein Zeitmerkmal ausgewählt werden. In diesem Fall wird der Faktentabelle ein weiteres Feld mit den SID-Werten des Zeitmerkmales hinzugefügt. Derzeit werden nur die Zeitmerkmale Kalendermonat (0CALMONTH) und Geschäftsjahr/Periode (0FISCPER) unterstützt. Das Zeitmerkmal muss im InfoCube enthalten sein. Wird das Merkmal Geschäftsjahr/Periode (0FISCPER) ausgewählt, muss das Merkmal Geschäftsjahresvariante (0FISCVARNT) auf eine Konstante gesetzt sein.
Das Clustering eines InfoCubes wird für alle seine Aggregate übernommen. Enthält ein Aggregat eine MDC-Dimension des InfoCubes nicht oder wurden alle InfoObjects einer MDC-Dimension als Line Item Dimensionen im Aggregat angelegt, so wird das Clustering des Aggregates mit den verbleibenden MDC-Dimensionen erstellt. Enthält ein Aggregat keine MDC-Dimensionen des InfoCubes oder enthält es nur MDC-Dimensionen, wird Index Clustering für das Aggregat verwendet.
Mehrdimensionales Clustering wurde zum Release SAP NetWeaver 7.0 eingeführt und lässt sich für jeden InfoCube separat einstellen.
Zur Vorgehensweise siehe Definition des Clustering.