このページでは、同時実行変更データ キャプチャ(CDC)タスクとバックフィル タスクの最大数など、ストリームの同時実行制御の概要について説明します。これらのパラメータの値を増減することで、ストリームのパフォーマンスを制御できます。
同時実行制御の概要
同時実行制御を使用すると、バックフィルと CDC を高速化するか、ソース データベースの負荷を分散できます。より高いスループットが必要な場合、データベースの負荷を高くしてもかまわない場合は、CDC タスクとバックフィル タスクの同時実行数を増やすことができます。逆に、データベースの負荷が高く、過負荷から保護する場合は、これらのパラメータの値を減らすことができます。
CDC タスクの最大数
maxConcurrentCdcTasks
パラメータを使用すると、ストリームが並行して実行する CDC タスクの数を制御できます。CDC スループットを拡張するには、このパラメータの値を増やし、Datastream が同時に処理する CDC ログファイルを増やします。
このパラメータの主な特徴は次のとおりです。
- デフォルト値は
5
です。このパラメータには、1
~50
の間で任意の値を設定できます。 - このパラメータは、Oracle ソースと MySQL ソースにのみ適用されます。
- このパラメータは、読み取り可能なデータベース ログファイルが CDC タスク数よりも多い場合にのみ影響します。ログファイルの設定は、ソース データベース構成パラメータ(最大ログファイルサイズと最大のログ ローテーション時間間隔)によって制御されます。これらのパラメータの詳細については、Oracle と MySQL のドキュメントをご覧ください。
- 同時実行 CDC タスクの数を減らすと、Datastream がデータベース ログに遅れ、最終的にログ位置が失われ、ストリームが失敗する可能性があります。
バックフィル タスクの最大数
maxConcurrentBackfillTasks
パラメータを使用すると、ストリームが並行して実行できるバックフィル タスクの数を制御できます。この値を増減してバックフィル スループットを制御できます。
このパラメータの主な特徴は次のとおりです。
- デフォルト値は
15
です。このパラメータには、1
~50
の間で任意の値を設定できます。 - バックフィル タスクはデータベースのパフォーマンスに大きく影響するため、バックフィルの同時実行数の増加には高いリスクがあります。各バックフィルタ タスクは、テーブルに対してフィルタなしの
SELECT
クエリを実行します。大規模なテーブルの場合、このようなクエリは大量の行を返します。 - バックフィルの同時実行数を減らしても、バックフィルの完了時間が長くなることを除き、ソース データベースに悪影響はありません。
同時実行制御の値を変更する
同時実行制御パラメータの値は、Datastream API を使用して変更できます。
- 同時実行 CDC タスクの数を増減する方法については、同時実行 CDC タスクの最大数を変更するをご覧ください。
- 同時実行バックフィル タスクの数を増減する方法については、同時実行バックフィル タスクの最大数を変更するをご覧ください。
次のステップ
- Datastream API の使用方法については、ストリームの管理をご覧ください。
Stream
リソースの詳細については、Datastream API リファレンス ドキュメントをご覧ください。