メインコンテンツへスキップ
メインコンテンツへスキップ

MySQL ClickPipe の同期の制御

本ドキュメントでは、ClickPipe が CDC(Running)モード の場合に、MySQL ClickPipe の同期を制御する方法について説明します。

概要

データベース向け ClickPipes のアーキテクチャは、ソースデータベースからのプル処理と、ターゲットデータベースへのプッシュ処理という 2 つの並行したプロセスで構成されています。プル処理は、どのくらいの頻度で、そして一度にどれだけのデータをプルするかを定義する同期設定によって制御されます。ここで「一度に」とは 1 バッチを意味します。ClickPipe はデータをバッチ単位でプルおよびプッシュするためです。

MySQL ClickPipe の同期を制御する主な方法は 2 つあります。以下のいずれかの設定条件を満たすと、ClickPipe はプッシュを開始します。

同期間隔

パイプの同期間隔は、ClickPipe がソースデータベースからレコードをプルする時間(秒単位)です。ClickHouse へプッシュするためにかかる時間は、この間隔には含まれません。

デフォルトは 1 分 です。 同期間隔には任意の正の整数値を設定できますが、10 秒以上に保つことを推奨します。

プルバッチサイズ

プルバッチサイズは、ClickPipe が 1 回のバッチでソースデータベースからプルするレコード数です。ここでのレコードとは、そのパイプの対象となっているテーブルに対して行われた INSERT、UPDATE、DELETE を指します。

デフォルトは 100,000 レコードです。 安全な最大値は 1,000 万件です。

例外: ソース側の長時間実行トランザクション

ソースデータベース上でトランザクションが実行されている場合、ClickPipe はそのトランザクションの COMMIT を受信するまで待機し、その後で次に進みます。この挙動は、同期間隔とプルバッチサイズの両方を上書きします。

同期設定の構成

同期間隔とプルバッチサイズは、ClickPipe の作成時、または既存の ClickPipe の編集時に設定できます。 ClickPipe を作成する際は、以下のように作成ウィザードの 2 番目のステップで設定を確認できます。

同期設定の作成

既存の ClickPipe を編集する場合は、そのパイプの Settings タブに移動し、パイプを一時停止してから、ここで Configure をクリックします。

同期設定編集ボタン

これにより同期設定用のフライアウトが開き、同期間隔とプルバッチサイズを変更できます。

同期設定を編集

同期制御の挙動の監視

各バッチにどのくらい時間がかかったかは、ClickPipe の Metrics タブにある CDC Syncs テーブルで確認できます。ここでの所要時間にはプッシュ時間も含まれます。また、受信する行がない場合、ClickPipe は待機し、その待機時間も所要時間に含まれます。

CDC Syncs テーブル