Identifizieren von Antimustern für Auftragspläne
- Batch-Data-Lake-Aufnahme
- Batch-Profilaufnahme
- Batch-Segmentierung
- Batch-Zielaktivierung
Die Vorgangszeitpläne hilft Ihnen, häufige Konfigurationsprobleme zu identifizieren, die sich negativ auf die Leistung und Zuverlässigkeit Ihrer Datenpipeline auswirken können. Diese Anti-Muster führen häufig zu Auftragsfehlern, Dateninkonsistenzen oder schlechterer Systemleistung. Drei der häufigsten Anti-Muster werden automatisch erkannt und durch Warnanzeigen in der Benutzeroberfläche angezeigt. Durch das frühzeitige Erkennen dieser Muster können Sie Ihre Aufträge neu konfigurieren, um Probleme zu vermeiden, bevor sie sich auf Ihre Geschäftsvorgänge auswirken.
Automatisch erkannte Anti-Muster auto-detection
Vorgangszeitpläne erkennt automatisch drei gängige Anti-Muster und zeigt Warnhinweise auf den entsprechenden Zusammenfassungskarten an. Wählen Sie eine Warnanzeige aus, um einen Detailbereich mit einer Beschreibung des Problems, empfohlenen Aktionen und einer Liste der betroffenen Datensätze oder Ziele zu öffnen.
Voraussetzungen prerequisites
Bevor Sie Anti-Muster identifizieren, sollten Sie:
- Zugriff auf Auftragspläne mit der Zugriffssteuerungsberechtigung Auftragspläne anzeigen.
- Machen Sie sich mit der Benutzeroberfläche für Auftragspläne und dem Lesen der Zeitleisten-Ansicht vertraut.
- Grundlegende (BatchAufnahme), Segmentierung und Profilverarbeitung Konzepte verstehen.
Kurzübersicht anti-pattern-quick-reference
Planen von Überschneidungen schedule-overlap-pattern
Schweregrad der Auswirkungen: Hoch | Primäres Problem: Ressourcenkonflikt
Worauf Sie achten sollten: Mehrere Aufträge, die gleichzeitig oder in enger Abfolge ausgeführt werden sollen, insbesondere wenn ressourcenintensive Aufträge sich überschneiden.
Ein gängiges Beispiel sind Batch-Erfassungsaufträge, die gleichzeitig mit einem geplanten Segmentierungsauftrag ausgeführt werden. Dies führt zu einem Ressourcenkonflikt, da beide Vorgänge eine erhebliche Verarbeitungsleistung und Arbeitsspeicher erfordern.
Warum ist das problematisch:
- Ressourcenkonflikt: Wenn mehrere ressourcenintensive Aufträge gleichzeitig ausgeführt werden, konkurrieren sie um Systemressourcen (CPU, Arbeitsspeicher, E/A), wodurch alle Aufträge langsamer ausgeführt werden.
- Unvorhersehbare Leistung: Die Auftragsdauer wird inkonsistent, was die Planung zuverlässiger Zeitpläne erschwert.
- Kaskadierende Verzögerungen: Wenn Aufträge länger als erwartet dauern, können sie nachgelagerte abhängige Aufträge verzögern, was einen Welleneffekt in der gesamten Pipeline erzeugt.
- Erhöhtes Ausfallrisiko: Eine Ressourcenerschöpfung kann dazu führen, dass Aufträge aufgrund von Zeitüberschreitungen oder komplett fehlschlagen.
Wie kann ich das Problem beheben:
- Auftragspläne staffeln: Stellen Sie sicher, dass ressourcenintensive Vorgänge sequenziell und nicht gleichzeitig ausgeführt werden.
- Pufferzeit hinzufügen: Lassen Sie zur Berücksichtigung von Verarbeitungsvarianzen einen angemessenen Abstand zwischen Aufträgen.
- Abhängigkeiten überprüfen: Identifizieren Sie, welche Aufträge abgeschlossen werden müssen, bevor andere sicher starten können.
Wenn Vorgangszeitpläne erkennt, dass die Segmentierung zu nah an einer geplanten Zielaktivierung ausgeführt wird, wird auf der Zusammenfassungskarte Zielaktivierung ein Warnhinweis angezeigt. Wählen Sie die Warnanzeige aus, um ein Bedienfeld zu öffnen, das die Anzahl erkannter Vorfälle, eine Beschreibung des Zeitkonflikts, Empfehlungen und eine Tabelle der betroffenen Ziele anzeigt.
Geplante Auftragsdichte scheduled-density
Schweregrad der Auswirkungen: Hoch | Primäres Problem: Pipeline-Engpässe
Suchen nach: Zu viele Datensätze mit mehreren Batches, die innerhalb derselben Stunde geplant sind, insbesondere wenn diese Batches nahe beieinander gestapelt und in der Nähe kritischer Verarbeitungsfenster wie der Segmentierungs-Startzeiten geplant werden.
Dieses Muster umfasst normalerweise:
- Mehrere Datensätze mit jeweils mehreren Batches pro Tag
- ETL-Aufträge (Data-Lake-Aufnahme und Profilaufnahme), die innerhalb derselben Stunde geclustert wurden
- Batch-Aufnahme unmittelbar vor oder während geplanter Segmentierungsfenster geplant
Warum ist das problematisch:
- Pipeline-Engpass: Wenn innerhalb eines kurzen Zeitfensters zahlreiche Batches aus verschiedenen Datensätzen gestapelt werden, entsteht ein Verarbeitungs-Engpass, der die Aufnahme-Pipeline überfordern kann.
- Verzögerte Profilverfügbarkeit: Aufträge zur Profilaufnahme, die zu nahe an den Segmentierungs-Startzeiten liegen, werden möglicherweise nicht rechtzeitig abgeschlossen, was zu unvollständigen oder veralteten Zielgruppenauswertungen führt.
- Unvorhersehbare Segmentierung: Wenn Upstream-Aufnahmevorgänge zu Beginn der Segmentierung noch ausgeführt werden, besteht die Gefahr, dass Zielgruppen anhand unvollständiger Daten bewertet werden, was zu einer falschen Zielgruppenzugehörigkeit führt.
- Kaskadierende Fehler: Ein einzelner verzögerter Batch in einem dicht gestapelten Zeitplan kann einen Dominoeffekt verursachen, der alle nachfolgenden Batches und nachgelagerten Prozesse verzögert.
- Ressourcenbelastung: Das System kann Schwierigkeiten bei der Zuweisung ausreichender Ressourcen haben, wenn zu viele gleichzeitige Aufnahmevorgänge verarbeitet werden, was zu langsameren Verarbeitungszeiten oder Fehlern führt.
Wie kann ich das Problem beheben:
- Batches konsolidieren: Reduzieren Sie die Batch-Häufigkeit, indem Sie mehrere kleine Batches in weniger, größeren Batches pro Datensatz kombinieren.
- Gleichmäßig verteilen: Verteilen Sie Aufnahmeaufträge über den Tag, anstatt sie in bestimmten Stunden zu gruppieren.
- Pufferzeit hinzufügen: Stellen Sie sicher, dass zwischen dem Abschluss der Profilaufnahme und dem Start der Segmentierung ein Puffer von mindestens 1-2 Stunden vorhanden ist.
- Anforderungen überprüfen: Beurteilen, ob alle Datensätze wirklich mehrere tägliche Batches benötigen. Viele Anwendungsfälle funktionieren mit weniger häufigen Aktualisierungen.
Wenn Vorgangszeitpläne erkennt, dass Profilaufnahmevorgänge zu nahe an einem geplanten Segmentierungslauf laufen, wird auf der Zusammenfassungskarte Segmentierung ein Warnhinweis angezeigt. Wählen Sie die Warnanzeige aus, um ein Bedienfeld zu öffnen, das die Anzahl der erkannten Vorfälle, eine Beschreibung des Zeitkonflikts, Empfehlungen und eine Tabelle der betroffenen Datensätze anzeigt.
Tägliches Limit für Profilaufnahme profile-ingestion-daily-limit
Schweregrad der Auswirkungen: Hoch | Primäres Problem: System-Schutzmaßnahme
Worauf Sie achten sollten: Ein Warnindikator auf der Zusammenfassungskarte Profilaufnahme wenn die tägliche Profilaufnahme näher rückt oder die 90-Run-Leitplanken überschreitet. Wählen Sie die Warnanzeige aus, um ein Balkendiagramm anzuzeigen, das die tägliche Ausführungsanzahl für jeden Tag im ausgewählten Zeitraum anzeigt.
Das Diagramm verwendet farbcodierte Balken, um anzugeben, wo die Anzahl relativ zum Grenzwert fällt:
- Rote Balken (90 oder mehr Ausführungen): Die tägliche Begrenzung wurde überschritten. Ineffizienzen bei der Verarbeitung können sich auf alle profilaktivierten Datensätze auswirken.
- Orangefarbene Balken (72 bis 89 Läufe): Der Tagesgrenzwert nähert sich.
- Grüne Balken (weniger als 72 Durchläufe): Innerhalb des akzeptablen Bereichs.
Warum ist das problematisch:
- Verarbeitungsineffizienz: Bei mehr als 90 Profilaufnahmen pro Tag entsteht ein Verarbeitungsaufwand, der sich auf alle profilaktivierten Datensätze auswirken kann.
- Ressourcenkonflikt: Eine hohe Gesamtanzahl von Ausführungen kann nachgelagerte Segmentierungs- und Aktivierungsaufträge verzögern.
- Datenveraltet: Wenn die Profilverarbeitung kontinuierlich ausgeführt wird, kann es länger dauern, bis einzelne Batches abgeschlossen sind, was die Datenverfügbarkeit für die Segmentierung verzögert.
Wie kann ich das Problem beheben:
- Reduzieren der Batch-Häufigkeit pro Datensatz: Konsolidieren Sie Batches, sodass täglich weniger Profilaufnahmen ausgelöst werden. Detaillierte Anleitungen Sie unter " Batches pro Datensatz“.
- Alle Aufnahmezeitpläne prüfen Überprüfen Sie alle Datensätze, die für die Profilaufnahme geplant sind, und identifizieren Sie die Datensätze mit unnötig hoher Batch-Häufigkeit.
Zu viele Batches pro Datensatz excessive-batches-per-dataset
Schweregrad der Auswirkungen: Medium | Primäres Problem: Ineffiziente Verarbeitung
Wonach Sie suchen sollten: Ein einzelner Datensatz mit einer übermäßigen Anzahl einzelner Batch-Vorgänge, die über den ganzen Tag geplant sind, wodurch ein langer vertikaler Stapel von Vorgängen auf der Timeline erstellt wird.
Dieses Muster beinhaltet einen einzelnen Datensatz mit vielen einzelnen Batch-Erfassungsvorgängen, die in häufigen Intervallen geplant werden, manchmal in Dutzenden von Batches pro Tag.
Warum ist das problematisch:
- Ineffiziente Verarbeitung: Jeder Batch-Vorgang verursacht Gemeinkosten (Initialisierung, Validierung, Metadatenaktualisierungen). Die Verarbeitung vieler kleiner Batches ist deutlich weniger effizient als die Verarbeitung weniger großer Batches.
- Vergrößerte Ausfallfläche: Mehr Arbeitsplätze bedeuten mehr Ausfallmöglichkeiten. Jeder fehlgeschlagene Batch muss untersucht und möglicherweise erneut verarbeitet werden.
- Unnötige Systemlast: Häufige kleine Batches sorgen dafür, dass das System ständig mit Overhead-Aufgaben beschäftigt ist, anstatt Daten zu verarbeiten, was den Gesamtdurchsatz verringert.
- Verzögerte Datenverfügbarkeit: Paradoxerweise kann die Ausführung vieler kleiner Batches eine Verzögerung verursachen, wenn Daten für nachgelagerte Prozesse verfügbar werden, im Vergleich zu konsolidierten Batches.
- Schwierige Inspektion: Das Nachverfolgen des Erfolgs und der Leistung von Dutzenden einzelner Batch-Vorgänge pro Datensatz wird betrieblich komplex und zeitaufwendig.
- Profil-Verarbeitungsverzögerung: Jeder Profil-Aufnahme-Batch Trigger die Profilverarbeitung. Häufig kleine Batches können dazu führen, dass die Profilverarbeitung fast kontinuierlich ausgeführt wird, was eine effiziente Batch-Optimierung verhindert.
Wie kann ich das Problem beheben:
- Reduzieren der Batch Häufigkeit: Konsolidieren Sie für die meisten Anwendungsfälle auf weniger Batches pro Tag und Datensatz.
- Batch-Größe erhöhen: Sammeln Sie mehr Daten, bevor Sie die Aufnahme auslösen, anstatt sie sofort aufzunehmen.
- Geschäftsanforderungen anpassen: Überprüfen Sie, ob stündliche Updates wirklich erforderlich sind oder ob tägliche/zweimal tägliche Updates ausreichen.
- Streaming für Echtzeit verwenden: Wechseln Sie zur Streaming-Aufnahme, um echte Echtzeitanforderungen zu erfüllen, anstatt dies mit häufigen Batches zu simulieren.
- Überwachen der gesamten täglichen Ausführungen: Wenn mehrere Datensätze eine hohe Batch-Häufigkeit aufweisen, kann die Gesamtsumme die Systemleitplanke überschreiten. Siehe Tageslimit für die Profilaufnahme.
Nächste Schritte next-steps
Nachdem Sie Anti-Muster in Ihren Jobplänen identifiziert haben:
- Zeigen Sie Auftragsdetails an, um bestimmte Datensätze und Auftragsausführungen zu untersuchen, die Probleme verursachen können.
- Informieren Sie über die und Inspektionsfunktionen in der Übersicht zu Auftragsplänen.
- Erfahren Sie mehr über Batch-Aufnahme um Ihre Datenladepläne zu optimieren.
- Grundlegendes Segmentierungspläne, um einen korrekten Zeitplan für Zielgruppenbewertungen sicherzustellen.
- Erkunden Sie Überwachen von Zieldatenflüssen um die End-to-End-Pipeline-Sichtbarkeit zu ermitteln.
- Richten Sie Warnhinweise ein, um Benachrichtigungen zu erhalten, wenn das tägliche Limit für die Profilaufnahme erreicht ist.