MySQLからClickHouseへのデータの取り込み (CDCを使用)
ClickPipesを介してClickHouse CloudにMySQLからデータを取り込む機能は、パブリックベータ版です。
ClickPipesを使用して、ソースのMySQLデータベースからClickHouse Cloudにデータを取り込むことができます。ソースのMySQLデータベースは、オンプレミスまたはAmazon RDS、Google Cloud SQLなどのサービスを使用してクラウドでホストできます。
前提条件
開始するには、最初にMySQLデータベースがbinlogレプリケーション用に正しく設定されていることを確認する必要があります。設定手順は、MySQLのデプロイ方法によって異なるため、以下の関連ガイドに従ってください:
ソースのMySQLデータベースが設定されたら、ClickPipeの作成を続けることができます。
ClickPipeの作成
ClickHouse Cloudアカウントにログインしていることを確認してください。まだアカウントをお持ちでない場合は、こちらからサインアップできます。
- ClickHouse Cloudコンソールで、ClickHouse Cloudサービスに移動します。
- 左側のメニューで
Data Sources
ボタンを選択し、「ClickPipeの設定」をクリックします。
MySQL CDC
のタイルを選択します。
ソースのMySQLデータベース接続の追加
-
前提条件のステップで設定したソースのMySQLデータベースの接続詳細を入力します。
参考接続詳細を追加する前に、ClickPipesのIPアドレスをファイアウォールのルールにホワイトリスト登録していることを確認してください。次のページにはClickPipes IPアドレスのリストがあります。 詳細については、このページの上部にリンクされているソースMySQL設定ガイドを参照してください。
(オプション) SSHトンネリングの設定
ソースのMySQLデータベースが公にアクセス不可能な場合は、SSHトンネリングの詳細を指定できます。
-
「SSHトンネリングを使用」のトグルを有効にします。
-
SSH接続の詳細を入力します。
-
キーベースの認証を使用する場合は、「キーの取り消しとペアの生成」をクリックして新しいキーのペアを生成し、生成された公開キーをSSHサーバーの
~/.ssh/authorized_keys
にコピーします。 -
「接続を確認」をクリックして接続を検証します。
ClickPipesがSSHトンネルを確立できるように、SSHバスティオンホストのファイアウォールルールにClickPipesのIPアドレスをホワイトリスト登録してください。
接続詳細が入力されたら、次へ
をクリックします。
高度な設定の構成
必要に応じて高度な設定を構成できます。それぞれの設定の簡単な説明は以下の通りです:
- 同期間隔: これは、ClickPipesがソースデータベースの変更をポーリングする間隔です。これは宛先のClickHouseサービスに影響を与え、コストに敏感なユーザーにはこの値を高く(
3600
以上)設定することを推奨します。 - 初期読み込みのための並列スレッド数: これは初期スナップショットを取得するために使用される並列ワーカーの数です。大量のテーブルがある場合に、初期スナップショットを取得するために使用される並列ワーカーの数を制御するのに役立ちます。この設定はテーブルごとに適用されます。
- プルバッチサイズ: 単一のバッチで取得する行の数です。これは最善の努力に基づく設定であり、すべてのケースで遵守されるとは限りません。
- パーティションごとのスナップショット行数: これは、初期スナップショット中に各パーティションで取得される行の数です。テーブルに大量の行がある場合に、各パーティションで取得される行数を制御するのに役立ちます。
- 並列でのスナップショットテーブル数: これは、初期スナップショット中に並列で取得されるテーブルの数です。大量のテーブルがある場合に、並列で取得されるテーブル数を制御するのに役立ちます。
テーブルの構成
-
ここで、ClickPipeの宛先データベースを選択できます。既存のデータベースを選択するか、新しいデータベースを作成できます。
-
ソースのMySQLデータベースからレプリケートしたいテーブルを選択できます。テーブルを選択する際に、宛先のClickHouseデータベースでテーブルの名前を変更したり、特定のカラムを除外したりすることもできます。
アクセス権限の確認とClickPipeの開始
-
アクセス権限のドロップダウンから「フルアクセス」役割を選択し、「設定を完了」をクリックします。
最後に、一般的な問題やそれらの解決方法については、"MySQL向けClickPipes FAQ"ページを参照してください。
次は何ですか?
MySQLからClickHouse CloudへのデータレプリケーションのためにClickPipeを設定した後は、最適なパフォーマンスのためにデータをクエリおよびモデル化する方法に焦点を当てることができます。MySQL CDCやトラブルシューティングに関する一般的な質問については、MySQL FAQsページを参照してください。