識別工作排程反模式

IMPORTANT
Job schedules目前僅適用於下列Real-Time CDP工作:
  • 批次資料湖擷取
  • 批次設定檔擷取
  • 批次分段
  • 批次目的地啟用

工作排程時間表檢視可協助您識別可能對您的資料管道效能和可靠性造成負面影響的常見設定問題。 這些反模式通常會導致工作失敗、資料不一致或系統效能降低。 透過及早發現這些模式,您可以重新設定工作,以避免問題影響您的業務運作。

先決條件 prerequisites

在識別反模式之前,您應該:

快速參考 anti-pattern-quick-reference

反圖樣
您會在時間軸上看到的內容
主要影響
嚴重性
排程重疊
同時執行多個工作
資源爭用與工作失敗
已排程的工作密度
許多資料集都在同一小時內以批次叢集化
管道瓶頸和不完整分段
每個資料集有太多批次
單一資料集包含數十個每日批次
低效的處理和作業複雜性
媒體

排程重疊 schedule-overlap-pattern

影響嚴重程度:高| 主要問題:資源爭用

要尋找的內容:排程同時或連續執行多個工作,尤其是在資源密集的工作重疊時。

一個常見的範例是批次擷取工作與排程的分段工作同時執行。 這會造成資源爭用,因為這兩項作業都需要強大的處理能力和記憶體。

為什麼這會有問題

  • 資源爭用:當多個資源密集的工作同時執行時,它們會競爭系統資源(CPU、記憶體、I/O),導致所有工作執行速度變慢。
  • 無法預測的效能:工作期間變得不一致,因此很難規劃可靠的排程。
  • 階層式延遲:如果工作所需時間比預期長,可能會延遲下游相依工作,進而在整個管道中產生漣漪效應。
  • 增加失敗風險:資源耗儘可能導致工作逾時或完全失敗。

如何修正它

  • 交錯工作排程:確保資源密集的作業會依序執行,而非同時執行。
  • 新增緩衝時間:在工作之間保留足夠的間距,以考慮處理差異。
  • 檢閱相依性:識別哪些工作必須完成,其他工作才能安全啟動。

已排程的工作密度 scheduled-density

影響嚴重程度:高| 主要問題:管道瓶頸

要尋找的內容:太多資料集在同一小時內排程了多個批次,尤其是當這些批次棧疊在一起,並排程在關鍵處理期間(如分段開始時間)附近時。

此模式通常包括:

  • 多個資料集每天各執行幾個批次
  • ETL工作(資料湖擷取和設定檔擷取)在同一小時內叢集
  • 批次內嵌已排程在排程的分段時段之前或期間

為什麼這會有問題

  • 管道瓶頸:當來自不同資料集的許多批次在短時間內棧疊時,它們會產生處理瓶頸,可能會使擷取管道不堪重負。
  • 延遲的設定檔可用性:執行時間太接近分段開始時間的設定檔擷取工作可能無法及時完成,導致對象評估不完整或過時。
  • 無法預測的分段:如果分段開始時上游擷取工作仍在執行,您可能會根據不完整的資料評估對象,導致不正確的對象會籍。
  • 階層式失敗:在密集棧疊排程中,單一延遲批次可能會造成多米諾效應,延遲所有後續批次和下遊程式。
  • 資源緊張:處理過多並行擷取工作時,系統可能難以配置足夠的資源,導致處理時間變慢或失敗。

如何修正它

  • 合併批次:將多個小批次合併成每個資料集更少、更大的批次,以降低批次頻率。
  • 平均分佈:將內嵌工作分散到一整天,而不是在特定小時內叢集化。
  • 新增緩衝時間:請確定在設定檔擷取完成和分段開始之間至少要有1-2小時的緩衝。
  • 檢閱需求:評估所有資料集是否確實需要多個每日批次。 許多使用案例的更新頻率較低。

每個資料集有太多批次 excessive-batches-per-dataset

影響嚴重程度: Medium | 主要問題:處理效率低下

要尋找的內容:單一資料集一整天排程的個別批次工作數量過多,造成時間軸上的垂直工作棧疊過長。

此模式涉及單一資料集,其中包含許多排程頻繁間隔的個別批次擷取工作,有時每天會有數十個批次。

為什麼這會有問題

  • 處理效率低下:每個批次工作都有間接成本(初始化、驗證、中繼資料更新)。 處理許多小批次比處理較少的大批次效率低很多。
  • 已增加失敗表面:更多工作表示有更多的失敗機會。 每個失敗的批次都需要調查和可能的重新處理。
  • 不必要的系統負載:頻繁的小批次,讓系統持續忙碌於額外負荷,而非實際的資料處理,減少整體處理量。
  • 延遲的資料可用性:矛盾的是,與合併的批次相比,當資料可用於下游處理程式時,執行許多小批次可能會延遲。
  • 困難的檢查:追蹤每個資料集數十個個別批次工作的成功和效能,會變得操作複雜且耗時。
  • 設定檔處理延遲:每個設定檔擷取批次都會觸發設定檔處理。 頻繁的小批次可能會導致設定檔處理幾乎連續執行,從而阻止有效的批次最佳化。

如何修正它

  • 降低批次頻率:針對大多數使用案例,每個資料集合併為每天較少的批次。
  • 增加批次大小:在觸發擷取之前累積更多資料,而不是立即擷取。
  • 符合業務需求:確認是否確實需要每小時更新,或每日/每日兩次更新是否足夠。
  • 使用串流進行即時:切換為串流擷取以符合真正的即時需求,而不是使用頻繁的批次進行模擬。

後續步驟 next-steps

識別工作排程中的反模式後:

recommendation-more-help
0864bbb5-5346-4cec-ac66-122367f65666