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

MySQL から ClickHouse へのデータ取り込み(CDC の使用)

Beta feature. Learn more.
参考文献

ClickPipes を使用した MySQL から ClickHouse Cloud へのデータ取り込みは、現在パブリックベータ版です。

ClickPipes を使用して、ソースの MySQL データベースから ClickHouse Cloud にデータを取り込むことができます。ソースの MySQL データベースは、オンプレミス環境だけでなく、Amazon RDS や Google Cloud SQL などのクラウドサービス上にホストされていても構いません。

前提条件

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

  1. Amazon RDS MySQL

  2. Amazon Aurora MySQL

  3. Cloud SQL for MySQL

  4. 汎用 MySQL

  5. Amazon RDS MariaDB

  6. 汎用 MariaDB

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

ClickPipe を作成する

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

  1. ClickHouse Cloud コンソールで、対象の ClickHouse Cloud サービスに移動します。
ClickPipes サービス
  1. 左側メニューの Data Sources ボタンを選択し、「ClickPipe のセットアップ」をクリックします。
インポートを選択
  1. MySQL CDC タイルを選択します。
MySQL を選択

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

  1. 事前準備のステップで設定したソース MySQL データベースの接続情報を入力します。

    参考文献

    接続情報を入力し始める前に、ファイアウォールルールで ClickPipes の IP アドレスをホワイトリストに登録していることを確認してください。次のページで、ClickPipes の IP アドレス一覧を確認できます。 さらに詳しい情報については、このページの冒頭にリンクされているソース MySQL セットアップガイドを参照してください。

    接続情報を入力

(オプション)SSH トンネリングを設定する

ソース MySQL データベースがパブリックにアクセス可能でない場合は、SSH トンネリングの詳細を指定できます。

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

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

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

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

注記

ClickPipes が SSH トンネルを確立できるように、SSH バスティオンホストのファイアウォールルールで ClickPipes の IP アドレスを必ずホワイトリストに登録してください。

接続情報をすべて入力したら、Next をクリックします。

詳細設定を構成する

必要に応じて詳細設定を構成できます。各設定の簡単な説明は次のとおりです。

  • Sync interval: ClickPipes がソースデータベースの変更をポーリングする間隔です。これは宛先の ClickHouse サービスに影響します。コストを意識するユーザーには、この値を高め(3600 秒以上)に保つことを推奨します。
  • Parallel threads for initial load: 初回スナップショットの取得に使用される並列ワーカーの数です。大量のテーブルがある場合に、初回スナップショット取得時に使用される並列ワーカー数を制御するのに有用です。この設定はテーブル単位です。
  • Pull batch size: 1 回のバッチで取得する行数です。ベストエフォートの設定であり、すべての場合で厳密に守られるとは限りません。
  • Snapshot number of rows per partition: 初回スナップショット中に各パーティションで取得される行数です。テーブル内の行数が多い場合に、各パーティションで取得される行数を制御するのに有用です。
  • Snapshot number of tables in parallel: 初回スナップショット中に並列で取得されるテーブル数です。テーブル数が多い場合に、並列で取得するテーブル数を制御するのに有用です。

テーブルを構成する

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

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

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

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

    権限を確認

最後に、一般的な問題とその解決方法については、「ClickPipes for MySQL FAQ」ページを参照してください。

次のステップ

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