Sie müssen Ihre Datenflüsse zur Leistungsoptimierung unbedingt sorgfältig gestalten, damit Spectrum Technology Platform eine gute Leistung bietet. In diesen Richtlinien werden die Techniken beschrieben, die Sie zur Optimierung der Datenflussleistung anwenden können.
Minimieren der Schrittanzahl
Spectrum Technology Platform erreicht durch eine parallele Verarbeitung eine hohe Leistung. Jeder Schritt in einem Fluss wird asynchron in einem eigenen Thread ausgeführt. Die Prozessoren könnten aber bei der Ausführung bestimmter Datenflusstypen überlastet werden. Wenn dies passiert, verbringt das System mehr Zeit mit der Verwaltung der Threads als mit der eigentlichen Arbeit. Wir haben Datenflüsse mit 130 einzelnen Schritten gesehen, die eine sehr schlechte Leistung auf kleineren Servern mit einem oder zwei Prozessoren aufweisen.
Beim Gestalten von Datenflüssen sollte also zunächst auf eine gute Leistung geachtet werden, um so viele Schritte wie nötig, aber so wenig Schritte wie möglich zu verwenden. Einige Beispiele zur Verwendung von mehr Schritten als nötig sind:
- Die Verwendung von mehreren Conditional Routers, wenn einer ausreichend wäre
- Die Definition von mehreren Transformer-Schritten anstelle der Kombination von Transformationen in einem einzelnen Schritt
Glücklicherweise ist es in der Regel möglich, diese Datenflüsse neu zu gestalten, um redundante oder nicht benötigte Schritte zu entfernen und die Leistung zu verbessern.
Ziehen Sie bei komplexen Flüssen die Verwendung von eingebetteten Flüssen oder Unterflüssen in Betracht, um die Elemente auf der Arbeitsfläche zu verringern und so die Ansicht und auch die Navigation durch den Fluss zu vereinfachen. Die Verwendung von eingebetteten Flüssen hat keine Auswirkung auf die Laufzeitleistung. Jedoch wird die Arbeit mit Flüssen im Spectrum Enterprise Designer vereinfacht. Die Verwendung von Unterflüssen zur Vereinfachung komplexer Flüsse kann die Leistung vom Spectrum Enterprise Designer beim Bearbeiten von Flüssen verbessern.
Verringern der Datensatzlänge
Da Daten zwischen gleichzeitig ausgeführten Schritten übermittelt werden, ist die Länge der Eingabedatensätze eine weitere Überlegung. Im Allgemeinen dauert die Eingabe mit einer großen Datensatzlänge länger als bei einer Eingabe mit einer kürzeren Datensatzlänge, da einfach mehr Daten gelesen, geschrieben und sortiert werden müssen. Datenflüsse mit mehreren Sortiervorgängen profitieren besonders von einer kürzeren Datensatzlänge. Bei sehr großen Datensatzlängen kann es besser sein, unnötige Felder aus der Eingabe zu entfernen, bevor der Spectrum Technology Platform-Auftrag ausgeführt wird, anstatt sie an die resultierende Ausgabedatei anzuhängen.
Verwenden einer angemessenen Sortierung
Eine weitere Überlegung ist die Minimierung der Sortiervorgänge. Die Sortierung ist oftmals zeitaufwendiger als andere Vorgänge und kann zu einem Problem werden, wenn die Anzahl und Größe der Eingabedatensätze zunimmt. Viele Spectrum Technology Platform-Schritte erfordern oder bevorzugen jedoch sortierte Eingabedaten. Spectrum Universal Addressing und Global Geocoding werden z. B. optimal ausgeführt, wenn die Eingabe nach Land und Postleitzahl sortiert ist. Schritte wie „Intraflow Match“ und „Interflow Match“ erfordern eine sortierte Eingabe nach dem Feld „Gruppieren nach“. In manchen Fällen können Sie eine externe Sortieranwendung nutzen, um Eingabedaten vorzusortieren. Dies kann schneller als die Sortierung im Spectrum Technology Platform-Datenfluss sein.