Ablaufregeln

Ressourcen

In Oracle-Datenbanken kann verhindert werden, dass zu viel parallele Aktivität den gesamten Tempspace verbraucht und die Datenbank Tasks abbricht. Dazu legt der Parameter Resources : Temp Space in vv_sqts_config die maximal verfügbare Temp-Space-Größe in Byte fest. Für jede Task merkt sich der Scheduler, wieviel Tempspace sie bei der letzten Ausführung verwendet hat. Soll eine Task starten, prüft er, ob die Summe des Bedarfs der laufenden Tasks plus des letzten Verbrauchs der neuen Task diese Schwelle überschreitet. Ist das der Fall, wird die Task nicht gestartet.

Sinnvolle Ausgangswerte ergeben sich aus der Umgebung bei der Installation; später passt man sie an die Betriebserfahrung an.

Parallelität

Der Parameter Parallel : Threads in vv_sqts_config begrenzt, wie viele Jobs der Scheduler gleichzeitig starten darf. Ist diese Zahl erreicht, wartet er mit dem nächsten Start, bis ein Job beendet ist.

Ausführungsreihenfolge

Die Transformationen werden nach folgender Reihenfolge ausgeführt (die Bewertung erfolgt in der angegeben Reihenfolge):

  • Priorität (siehe unten)
  • Laufzeit. Transformationen, die in der Vergangenheit länger gelaufen sind, werden früher gestartet
  • Laufende Nummer der Transformation (sqts_action_id)

Priorität

Einem Batchelement und auch einer Connection kann eine Priorität geben kann. Diese wird dann verwendet, wenn es mehr wartende Transformationen gibt als freie Prozesse. Transformationen mit höherer Priorität (= niedriger Nummer) werden dann vorgezogen.

Wenn man in einer Connection eine Priorität festlegt, dass erhalten die Tasks, die diese Connection verwenden, alle die gelcieh Proirität. Damit erreicht man im DWH, dass alle Tabellen einer Quellen etwa zur gleichen Zeit übertragen werden. Über unterschiedliche Prioritätren bei den jeweiligen Connections kann man steuern in welcher Reihenfolge die Daten geladen werden.

Da man mit Hilfe dieser Methode keine Abhängigkeiten schafft (d.h. anstelle von künstlichen Abhängigkeiten der Schichten), ist immer alles soweit verarbeitet, wie es die Abhängigkeiten zwischen den einzelnen Transformationen zulassen, auch wenn höher priorisierte Transformationen fehlgeschlagen sind oder von fehlgeschlagenen Transformationen abhängig sind.