ストリーム同時実行制御

このページでは、同時変更データ キャプチャ(CDC)タスクやバックフィル タスクの最大数など、ストリームの同時実行制御の概要について説明します。これらのパラメータの値を増減することで、ストリームのパフォーマンスを制御できます。

同時実行制御の概要

同時実行制御を使用すると、バックフィルと CDC を高速化する、またはソース データベースの負荷を分散できます。より高いスループットが必要で、データベースの負荷を引き上げられる場合は、CDC タスクとバックフィル タスクの同時実行を増やすことができます。逆に、データベースの負荷が高く、過負荷にならないようにするには、これらのパラメータの値を減らします。

CDC タスクの最大数

maxConcurrentCdcTasks パラメータを使用すると、ストリームが並行して実行する CDC タスクの数を制御できます。CDC のスループットを拡張するには、このパラメータの値を増やし、Datastream がより多くの CDC ログファイルを同時に処理できるようにします。

このパラメータの主な特徴は次のとおりです。

  • デフォルト値は 5 です。このパラメータには、150 の間で任意の値を設定できます。
  • このパラメータは、Oracle ソースと MySQL ソースにのみ適用されます。
  • このパラメータは、CDC タスクよりも読み取り可能なデータベース ログファイルが多い場合にのみ影響します。ログファイルの設定は、ソース データベース構成パラメータ(最大ログファイルサイズと最大のログ ローテーション時間間隔)によって制御されます。これらのパラメータの詳細については、Oracle と MySQL のドキュメントをご覧ください。
  • 同時に実行する CDC タスクの数を減らすと、Datastream がデータベース ログで遅延し、最終的にログ位置の損失やストリームの失敗が発生する可能性があります。

バックフィル タスクの最大数

maxConcurrentBackfillTasks パラメータを使用すると、ストリームが並行して実行できるバックフィル タスクの数を制御できます。この値を増減してバックフィル スループットを制御できます。

このパラメータの主な特徴は次のとおりです。

  • デフォルト値は 15 です。このパラメータには、150 の間で任意の値を設定できます。
  • バックフィル タスクはデータベースのパフォーマンスに大きく影響するため、バックフィルの同時実行数の増加には高いリスクがあります。各バックフィル タスクでは、テーブルに対してフィルタされていない SELECT クエリを実行します。大きなテーブルの場合は、このようなクエリは多数の行を返します。
  • バックフィルの同時実行数を減らしても、バックフィルの完了に時間がかかっている場合を除き、ソース データベースに悪影響を及ぼすことはありません。

同時実行制御の値を変更する

Datastream API を使用して、同時実行制御パラメータの値を変更できます。

次のステップ