Centerprise Best Practices: Leistungsoptimierung beim Datenflussdesign

By |2019-09-13T10:26:41+00:00November 25th, 2013|

In Teil I In diesem zweiteiligen Blog sprachen wir darüber, wie Datenströme der Eckpfeiler jedes Datenintegrationsprojekts in sind Centerprise und erörterte einige Best Practices für Modularität und Wiederverwendbarkeit, um das Beste aus Ihrem System herauszuholen Centerprise Integrationsprojekte. Diese Woche betrachten wir einige Best Practices für die Optimierung der Leistung. Das Centerprise Die parallele Verarbeitungsplattform wurde für überlegene Geschwindigkeit und Leistung entwickelt. Wenn Sie also Ihre Datenflüsse so ausrichten, dass sie die Fähigkeiten der Software nutzen, kann dies die Datenintegrationsleistung erheblich beeinträchtigen.

Datenquellen
Häufig kann ein Datenfluss durch eine Feinabstimmung an der Datenquelle optimiert werden. Hier einige nützliche Optimierungstechniken:

Filtern in Datenbank: Wenn Sie Daten aus einer Datenbank laden, geben Sie eine where-Klausel ein, um die Daten an der Quelle zu filtern. Daten laden in Centerprise und dann mit dem filtern Centerprise Durch die Filterumwandlung kann die Leistung erheblich beeinträchtigt werden.

Vermeiden Sie das Zuordnen zusätzlicher Felder: Die Datenbanktabellenquelle erstellt automatisch eine Abfrage, um nur die zugeordneten Felder zu laden. Um diese Optimierung zu nutzen, ordnen Sie nur die Felder zu, die in den nachfolgenden Aktionen verwendet werden.

Sortierung nach erfolgreichen Joins: Die Leistung von Centerprise Joins verbessert sich um Größenordnungen, wenn mit zuvor sortierten Daten gearbeitet wird. Vermeiden Sie nach Möglichkeit das Sortieren von Daten in Centerprise und sortieren Sie stattdessen in Ihrer Datenbankabfrage, indem Sie order by-Klausel hinzufügen.

Partitionierung: Centerprise Datenbank- und Dateiquellen ermöglichen das Partitionieren von Daten, wodurch das Lesen beschleunigt wird, indem ein Datensatz in Blöcke aufgeteilt und diese Blöcke parallel gelesen werden. Verwenden Sie die Partitionierung, wenn Sie eine große Datentabelle verschieben

Change Data Capture-Technologie: Wenn Sie inkrementelle Datenänderungen regelmäßig übertragen, sollten Sie eine der folgenden Möglichkeiten in Betracht ziehen CenterpriseCDC-Muster (Change Data Capture), um sicherzustellen, dass Ihre Daten so aktuell sind, wie Sie es brauchen. Centerprise unterstützt verschiedene CDC-Strategien, mit denen Sie die für Ihre Umgebung und Ihre Anforderungen geeignete Strategie auswählen können. Weitere Informationen hierzu finden Sie unter Weitere Ressourcen am Ende dieses Dokuments Centerprise Datenerfassung ändern.

Joins
Centerprise Mit Join-Transformationen können Sie mehrere Datenquellen verbinden. Beim Verknüpfen werden eingehende Datenströme häufig sortiert, was den häufigsten Grund für Leistungsprobleme darstellt. Beachten Sie bei der Verwendung von Joins die folgenden Vorgehensweisen:

  • Daten verbinden in Centerprise ist zeitaufwändig. Verwenden Sie nach Möglichkeit Datenbank-Joins.
  • Sortieren Sie die Daten ggf. in der Quelle. Das Zusammenfügen sortierter Datenströme ist wesentlich schneller.
  • Wenn Sie Daten aus derselben Datenbank zusammenfügen, verwenden Sie die Option Database Join in Join Transformation. Wenn die Option Database Join angegeben ist, Centerprise erstellt und führt eine einzelne Abfrage aus, die mehrere Tabellen miteinander verbindet. Dies kann die Leistung in den meisten Situationen verbessern.
  • Wenn Sie die Anzahl der Felder in der Join-Umwandlung reduzieren, wird auch die Leistung verbessert. Entfernen Sie daher nicht benötigte Felder.

Suchvorgänge

Suchvorgänge sind eine weitere Quelle für Leistungsprobleme bei Integrationsjobs. Centerprise bietet mehrere Zwischenspeicherungstechniken an, um die Leistung von Suchvorgängen zu verbessern. Experimentieren Sie mit den Nachschlage-Caching-Optionen und wählen Sie die Optionen aus, die für bestimmte Situationen am besten geeignet sind. Einige Tipps sind:

  • Wenn Sie mit einem großen Dataset arbeiten, das sich nicht häufig ändert, sollten Sie das neue verwenden Centerprise Persistent Lookup Cache, der eine Momentaufnahme der Nachschlagetabelle auf dem lokalen Laufwerk des Servers speichert und in nachfolgenden Läufen verwendet. In Situationen, in denen die Lookup-Tabelle täglich aktualisiert wird, kann beim ersten Durchlauf nach dem Update ein Snapshot erstellt und im Laufe des Tages zur Verarbeitung von inkrementellen Daten verwendet werden.
  • Wenn Sie mit einem großen Dataset arbeiten, aber nur einen kleinen Bruchteil der Elemente in einem einzigen Lauf verwenden, sollten Sie die Option "Cache bei erstmaliger Verwendung" in Betracht ziehen
  •  Wenn eine Suche an mehreren Stellen innerhalb desselben Flusses verwendet wird, sollten Sie eine getrennte Suche in Betracht ziehen
  • Verwenden Sie gegebenenfalls einen Datenbank-Join anstelle einer Suchfunktion

Reiseziele

Centerprise unterstützt Massenladen für gängige Datenbanken. Verwenden Sie nach Möglichkeit Massenladen für Datenbankziele, und experimentieren Sie mit den Stapelgrößen, um die Leistung zu optimieren. Centerprise bietet eine Diff-Prozessor-Umwandlung, mit der ein eingehender Datenstrom mit vorhandenen Daten in der Tabelle verglichen und Unterschiede angewendet werden kann. In bestimmten Situationen kann diese Umwandlung die Datenflüsse erheblich beschleunigen.

Generelle Richtlinien

  • Vermeiden Sie unnötige Schritte. Einige Schritte, wie z. B. Record Level Log, verursachen erheblichen Performance-Overhead und sollten nur während der Entwicklung zum Isolieren von Datenproblemen verwendet werden.
  • Das Auftragsüberwachungsfenster zeigt die Ausführungszeit für jeden Schritt. Dies sind keine genauen Zahlen, sondern stellen eine grobe Annäherung an die Zeit für jeden Schritt dar und können zur Optimierung bestimmter Schritte verwendet werden.