Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

MySQL から ClickHouse へのデータ取り込み(CDC(変更データキャプチャ)を使用)

ベータ機能

MySQL ClickPipe は、MySQL および MariaDB データベースから ClickHouse Cloud にデータを取り込むための、フルマネージドかつ耐障害性に優れた方法です。バルクロードによる一回限りのインジェストと、**変更データキャプチャ (CDC (変更データキャプチャ) ) **による継続的インジェストの両方をサポートしています。

MySQL ClickPipe は、ClickPipes UI を使用して手動でデプロイおよび管理できるほか、OpenAPITerraform を使用してプログラムで操作することもできます。

前提条件

開始するには、まず MySQL データベースが binlog レプリケーション用に正しく設定されていることを確認する必要があります。設定手順は MySQL のデプロイ方法によって異なるため、以下の該当するガイドに従ってください。

サポート対象のデータソース

名前 ロゴ 詳細
Amazon RDS MySQL
一度だけロード, CDC (変更データキャプチャ)
Amazon RDS MySQL の設定ガイドに従ってください。
Amazon Aurora MySQL
一度だけロード, CDC (変更データキャプチャ)
Amazon Aurora MySQL の設定ガイドに従ってください。
Cloud SQL for MySQL
一度だけロード, CDC (変更データキャプチャ)
Cloud SQL for MySQL の設定ガイドに従ってください。
Azure Flexible Server for MySQL
一度だけロード
Azure Flexible Server for MySQL の設定ガイドに従ってください。
セルフホスト MySQL
一度だけロード, CDC (変更データキャプチャ)
Generic MySQL の設定ガイドに従ってください。
Amazon RDS MariaDB
一度だけロード, CDC (変更データキャプチャ)
Amazon RDS MariaDB の設定ガイドに従ってください。
セルフホスト MariaDB
一度だけロード, CDC (変更データキャプチャ)
Generic MariaDB の設定ガイドに従ってください。

ソース MySQL データベースの設定が完了したら、ClickPipe の作成に進むことができます。

ClickPipe を作成する

ClickHouse Cloud アカウントにログインしていることを確認してください。まだアカウントをお持ちでない場合は、こちらから登録できます。

  1. ClickHouse Cloud コンソールで、対象の ClickHouse Cloud サービスを開きます。
ClickPipes サービス
  1. 左側のメニューで Data Sources ボタンを選択し、「Set up a ClickPipe」をクリックします
インポートを選択
  1. MySQL CDC(変更データキャプチャ) タイルを選択します
MySQL を選択

ソース MySQL データベース接続を追加する

  1. 前提条件の手順で設定したソース MySQL データベースの接続情報を入力します。
接続情報を入力

(任意) TLS設定の変更

デフォルトでは、ClickPipe は TLS と証明書検証を有効にした状態で作成されます。これらのデフォルト設定は、ClickPipe の作成時に変更できます。

TLS 設定

または、一時停止中の ClickPipe の Settings タブにある Connection settings セクションで編集することもできます。

接続設定 -> 接続を編集
接続を編集

各項目の意味は次のとおりです。

  • Disable TLS は、その接続で TLS を有効または無効にするトグルです。TLS を無効にすると、データはネットワーク上を平文で送信されるため、シークレットや機密データが含まれる可能性があります。
  • Skip certificate verification は、ソースデータベースから提示される証明書の検証を有効または無効にするトグルです。証明書検証をスキップすることによるセキュリティ上の影響を考慮してください。
  • TLS Host (省略可。デフォルトはソースの Host) は、証明書検証が有効な場合に、証明書の CN と一致している必要があるホスト名です。
  • Upload CA は、証明書検証が有効な場合に使用する CA を指定するために利用できます。

(任意) SSH トンネリングを設定する

ソースの MySQL データベースが外部公開されていない場合は、SSH トンネリングの接続情報を指定できます。

  1. 「Use SSH Tunnelling」トグルを有効にします。

  2. SSH の接続情報を入力します。

    SSH トンネリング
  3. 鍵ベース認証を使用する場合は、「Revoke and generate key pair」をクリックして新しいキーペアを生成し、生成された公開鍵を SSH サーバーの ~/.ssh/authorized_keys にコピーします。

  4. 「Verify Connection」をクリックして接続を確認します。

接続情報の入力が完了したら、Next をクリックします。

詳細設定を設定する

必要に応じて、詳細設定を行えます。各設定の概要は以下のとおりです。

  • 同期間隔: ClickPipes がソースデータベースの変更をポーリングする間隔です。これは宛先の ClickHouse サービスのコストに影響するため、コストを重視する場合は高めの値 (3600 を超える値) に設定することを推奨します。
  • 初期ロードの並列スレッド数: 初期スナップショットの取得に使用する並列ワーカー数です。テーブル数が多い場合に、初期スナップショットの取得に使う並列ワーカー数を制御するのに役立ちます。この設定はテーブルごとに適用されます。
  • Pull バッチサイズ: 1 回の Batch で取得する行数です。これはベストエフォートの設定であり、すべてのケースで反映されるとは限りません。
  • スナップショットのパーティションごとの行数: 初期スナップショット中に各パーティションで取得する行数です。テーブル内の行数が非常に多い場合に、各パーティションで取得する行数を制御するのに役立ちます。
  • スナップショットで並列に処理するテーブル数: 初期スナップショット中に並列で取得するテーブル数です。テーブル数が多い場合に、並列に取得するテーブル数を制御するのに役立ちます。
  • サーバー ID: MySQL の binlog レプリケーション用のサーバー ID を設定するための任意のパラメータです。設定しない場合、ClickPipes はランダムなサーバー ID を生成しますが、これは ClickPipe のライフサイクル中に変更される可能性があります。ソース側の MySQL サーバーで ClickPipe を決定論的に識別するために使用します。

テーブルを設定

  1. ここでは、ClickPipe の宛先データベースを選択できます。既存のデータベースを選択することも、新しいデータベースを作成することもできます。

    宛先データベースを選択
  2. ソース MySQL データベースからレプリケートするテーブルを選択できます。テーブルの選択時には、宛先の ClickHouse データベースでテーブル名を変更したり、特定のカラムを除外したりすることもできます。

  3. さらに、宛先のClickHouse テーブルのパーティション化を制御するために、カスタムの PARTITION BY <expr> 式を指定できます。

    パーティション化の基準

権限を確認して ClickPipe を開始する

  1. 権限のドロップダウンから「Full access」ロールを選択し、「Complete Setup」をクリックします。

    権限の確認

最後に、よくある問題とその解決方法の詳細については、"MySQL 向け ClickPipes よくある質問" ページを参照してください。

次のステップ

MySQL から ClickHouse Cloud へデータをレプリケートするための ClickPipe の設定が完了したら、次は最適なパフォーマンスを引き出すためのデータのクエリ方法やモデリングに注力できます。MySQL CDC (変更データキャプチャ) に関するよくある質問やトラブルシューティングについては、MySQL よくある質問ページを参照してください。

Navigation