メインコンテンツまでスキップ
メインコンテンツまでスキップ

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が待機し、その待機時間も期間に含まれます。

CDC Syncsテーブル