串流並行控制

本頁提供串流並行控制項的總覽,例如並行變更資料擷取 (CDC) 工作和補充工作數量上限。您可以增加或減少這些參數的值,控制串流效能。

並行控制總覽

使用並行控制項,您可以加快回填和 CDC 的速度,或是平衡來源資料庫的負載。如果您需要更高的吞吐量,且可以承受資料庫的較高負載,則可以增加 CDC 和回填工作的並行作業。反之,如果資料庫負載過高,且您想避免資料庫超載,可以降低這些參數的值。

CDC 工作數量上限

maxConcurrentCdcTasks 參數可讓您控制串流平行執行的 CDC 工作數量。如要延長 CDC 處理量,請提高這個參數的值,讓 Datastream 同時處理更多 CDC 記錄檔。

參數的主要特徵包括:

  • 預設值為 5。您可以將這個參數設為 150 之間的任何值 (含頭尾)。
  • 這個參數僅適用於 Oracle 和 MySQL 來源。
  • 只有在可讀取的資料庫記錄檔數量大於 CDC 工作數量時,這個參數才會產生影響。記錄檔設定會受來源資料庫設定參數控制:記錄檔大小上限和記錄輪替時間間隔上限。如要進一步瞭解這些參數,請參閱 Oracle 和 MySQL 說明文件。
  • 如果減少並行 CDC 工作數量,Datastream 可能會落後於資料庫記錄,最終可能導致記錄位置遺失和串流失敗。

補充工作數量上限

maxConcurrentBackfillTasks 參數可讓您控制串流可同時執行的回補工作數量。您可以增加或減少這個值,藉此控制回填吞吐量。

參數的主要特徵包括:

  • 預設值為 15。您可以將這個參數設為 150 之間的任何值 (含頭尾)。
  • 增加回填並行作業的風險極高,因為回填工作會對資料庫效能造成重大影響。每個回填工作都會對資料表執行未經篩選的 SELECT 查詢,對於大型資料表,這類查詢會傳回大量資料列。
  • 如果您降低回填並行作業,不會對來源資料庫造成負面影響,只是回填作業需要更長的時間才能完成。

變更並行控制項的值

您可以使用 Datastream API 變更並行控制參數的值。

後續步驟