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

MySQL から ClickHouse へのデータインジェスト(CDC の利用)

Beta feature. Learn more.
参考文献

ClickPipes を介して MySQL から ClickHouse Cloud へデータをインジェストする機能は、現在パブリックベータ段階にあります。

MySQL ClickPipe は、MySQL および MariaDB データベースから ClickHouse Cloud へデータを取り込むための、フルマネージドで堅牢な手段を提供します。1 回限りのインジェストを行う 一括ロード(bulk loads) と、継続的なインジェストを行う Change Data Capture (CDC) の両方をサポートします。

MySQL ClickPipes は、ClickPipes UI を使用して手動でデプロイおよび管理できます。将来的には、OpenAPITerraform を用いて、MySQL ClickPipes をプログラム的にデプロイおよび管理できるようになる予定です。

前提条件

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

サポートされているデータソース

名前ロゴ詳細
Amazon RDS MySQL
1 回限りのロード、CDC
Icon-Architecture/32/Arch_Amazon-RDS_32Amazon RDS MySQL の設定ガイドに従ってください。
Amazon Aurora MySQL
1 回限りのロード、CDC
Icon-Architecture/32/Arch_Amazon-Aurora_32Amazon Aurora MySQL の設定ガイドに従ってください。
Cloud SQL for MySQL
1 回限りのロード、CDC
Cloud SQL for MySQL の設定ガイドに従ってください。
Azure Flexible Server for MySQL
1 回限りのロード
Icon-databases-122Azure Flexible Server for MySQL の設定ガイドに従ってください。
Self-hosted MySQL
1 回限りのロード、CDC
Generic MySQL の設定ガイドに従ってください。
Amazon RDS MariaDB
1 回限りのロード、CDC
Icon-Architecture/32/Arch_Amazon-RDS_32Amazon RDS MariaDB の設定ガイドに従ってください。
Self-hosted MariaDB
1 回限りのロード、CDC
MDB-VLogo_RGBGeneric 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 ページ を参照してください。