MySQL ClickPipe の同期制御
この文書は、ClickPipeがCDC(実行中)モードにあるときに、MySQL ClickPipeの同期を制御する方法を説明しています。
概要
データベースのClickPipesは、ソースデータベースからデータをプルし、ターゲットデータベースにプッシュする2つの並行プロセスからなるアーキテクチャを持っています。プルプロセスは、データをどのくらいの頻度でプルし、1回にどれだけのデータをプルするかを定義する同期設定によって制御されます。「1回に」とは、バッチを意味します。ClickPipeはバッチでデータをプルしてプッシュします。
MySQL ClickPipeの同期を制御する主な方法は2つあります。以下の設定のいずれかが有効になると、ClickPipeはプッシュを開始します。
同期間隔
パイプの同期間隔は、ClickPipeがソースデータベースからレコードをプルする時間(秒単位)を示します。ClickHouseにプッシュするまでの時間はこの間隔には含まれません。
デフォルトは1分です。 同期間隔は任意の正の整数値に設定できますが、10秒以上を維持することが推奨されます。
プルバッチサイズ
プルバッチサイズは、ClickPipeがソースデータベースから1回のバッチでプルするレコード数です。レコードとは、パイプの一部であるテーブルで行われた挿入、更新、および削除を意味します。
デフォルトは100,000レコードです。 安全な最大値は1000万です。
例外:ソースでの長期間のトランザクション
ソースデータベースでトランザクションが実行されると、ClickPipeはトランザクションのCOMMITを受信するまで待機します。これは、同期間隔とプルバッチサイズの両方を上書きします。
同期設定の構成
ClickPipeを作成する際や既存のClickPipeを編集する際に、同期間隔とプルバッチサイズを設定できます。 ClickPipeを作成する際には、作成ウィザードの2番目のステップで見ることができます。以下のように示されています:

既存のClickPipeを編集する場合は、パイプの設定タブに移動し、パイプを一時停止してから構成をクリックします:

ここで同期設定が表示され、同期間隔とプルバッチサイズを変更できます:

同期制御の動作の監視
ClickPipeのメトリクスタブにあるCDC Syncsテーブルで、各バッチにかかる時間を確認できます。ここでの時間にはプッシュ時間も含まれ、行が入らない場合はClickPipeが待機し、その待機時間も期間に含まれます。
