Show TOC

Semantische Partitionierung einsetzenLocate this document in the navigation structure

Kontext

Ein semantisch partitioniertes Objekt ist ein InfoProvider, der aus mehreren strukturgleichen InfoCubes oder DataStore-Objekten besteht.

Die semantische Partitionierung ist eine Eigenschaft des InfoProviders. Sie wird beim Anlegen des InfoProviders angegeben und teilt den InfoProvider in mehrere kleinere, gleiche Einheiten (Partitionen) auf.

Das semantisch partitionierte Objekt bietet folgende Vorteile gegenüber Standard InfoCubes bzw. Standard DataStore-Objekten:

  • eine bessere Performance bei Massendaten:

    Bei Standard DataStore-Objekten und Standard InfoCubes verlängern sich die Laufzeiten, je größer das Datenvolumen ist. Durch die semantische Partitionierung werden die Datenmengen auf mehrere Datenbehälter verteilt und damit erhalten Sie bei einem großen Datenvolumen trotzdem gute Laufzeiten.

  • eine enge Datenkopplung:

    Die Fehlerbehandlung ist besser. Wenn z.B. ein Request für eine Region mit einem Fehler beendet wird, dann ist der gesamte InfoProvider für Analyse und Reporting nicht verfügbar. Bei einem semantisch partitionierten Objekt ist durch die Trennung der Regionen in verschiedene Partitionen nur die Region nicht für die Datenanalyse verfügbar, die den Fehler verursacht hat.

  • Umgang mit verschiedenen Zeitzonen:

    In EDW-Szenarien sind meist mehrere Zeitzonen beteiligt. Bei einem semantisch partitionierten Objekt können die Zeitzonen durch die Partitionen getrennt werden. Das Datenladen und die administrativen Aufgaben können dadurch unabhängig von der jeweiligen Zeitzone eingeplant werden.

Analyse und Reporting

Sie können das semantisch partitionierte Objekt wie jeden anderen InfoProvider für Reporting und Analyse verwenden. Sie können aber auch z.B, nur ausgewählte Partitionen in einen InfoCube fortschreiben oder in einen MultiProvider aufnehmen und diesen für die Analyse verwenden, wie die folgende Grafik zeigt:

Hinweise zum Fortschreiben von Deltas:

Wenn das semantisch partitionierte Objekt aus InfoCubes besteht, dann können Deltas ohne Einschränkungen über DTPs zum Ziel-InfoProvider fortgeschrieben werden.

Wenn die Quelle ein semantisch partitionierte Objekt aus DataStore-Objekten bestehend ist, dann können nur Full-DTPs angelegt werden. Wenn die Fortschreibung über Deltas erfolgen soll, dann müssen Sie als Quelle die Partitionen des semantisch partitionierten Objekts wählen, und nicht das semantisch partitionierte Objekt selbst.

Wenn das Ziel ein semantisch partitioniertes Objekt ist, dann können Sie die DTPs über den Wizard des Ziel-SPO erfolgen. Als Quelle der DTPs darf dann nicht das semantisch partitionierte Objekt gewählt werden, sondern die Outbound-InfoSource des Quell-SPO.

Ein Hinweis zur Analyse:

Wenn Sie das gesamte semantisch partitionierte Objekt in einen weiteren InfoProvider fortschreiben, dann stehen Ihnen die Navigationsattribute in der Analyse nicht zur Verfügung. Dies hängt damit zusammen, dass die InfoSource, die die einzelnen Partitionen für die Fortschreibung zusammenfasst, dies nicht unterstützt. Wenn sie nur einen Teil der Partitionen fortschreiben, dann entfällt diese Einschränkung.

Ein Hinweis zur Query-Performance:

Durch Partition Pruning werden die Daten bei Verwendung eines BW Accelerators wie auch ohne schnell verarbeitet. Beim Partition Pruning werden nur die Partitionen gelesen, die die in der Query angefragten Daten enthalten.

Vorgehensweise

  1. Sie legen ein DataStore-Objekt bzw. einen InfoCube mit der Eigenschaft semantisch partitioniert an.
  2. Sie legen eine Transformation an.
  3. Sie legen einen Datentransferprozess an.
  4. Sie legen eine Prozesskette an.

Ergebnisse

Sie haben ein semantisch partitioniertes Objekt samt Datenfluss angelegt. In der Bearbeitung des semantisch partitionierten Objekts erhalten Sie über Monitor anzeigen eine Übersicht über den Status Ihrer Partitionen und der DTPs. Sie bekommen den Requeststatus angezeigt, ob die Requests aktiv sind und ob alle Daten auf dem gleichen Stand sind. Letzteres bedeutet, dass geprüft wird, ob der letzte abgeholte Request in allen Partitionen der gleiche ist, oder ob in einer Partition ein neuerer Request als in den anderen Partitionen enthalten ist.