メインコンテンツまでスキップ
メインコンテンツまでスキップ

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

ClickPipesを使用して、ソースのPostgresデータベースからClickHouse Cloudにデータを取り込むことができます。ソースのPostgresデータベースは、オンプレミスまたはAmazon RDS、Google Cloud SQL、Azure Database for Postgres、Supabaseなどのクラウドにホストされることがあります。

前提条件

始める前に、まずPostgresデータベースが正しくセットアップされていることを確認する必要があります。ソースのPostgresインスタンスに応じて、以下のガイドのいずれかに従うことができます。

  1. Amazon RDS Postgres

  2. Amazon Aurora Postgres

  3. Supabase Postgres

  4. Google Cloud SQL Postgres

  5. Azure Flexible Server for Postgres

  6. Neon Postgres

  7. Crunchy Bridge Postgres

  8. Generic Postgres Source、他のPostgresプロバイダーを使用している場合やセルフホストのインスタンスを使用している場合。

  9. TimescaleDB、管理サービスまたはセルフホストインスタンスでTimescaleDB拡張を使用している場合。

注意

PgBouncer、RDS Proxy、Supabase PoolerなどのPostgresプロキシはCDCベースのレプリケーションではサポートされていません。ClickPipesのセットアップには、実際のPostgresデータベースの接続詳細を追加するようにしてください。

ソースのPostgresデータベースがセットアップされたら、ClickPipeの作成を続けることができます。

ClickPipeの作成

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

  1. ClickHouse Cloudコンソールで、ClickHouse Cloudサービスに移動します。
ClickPipes service
  1. 左側のメニューからData Sourcesボタンを選択し、「ClickPipeを設定」をクリックします。
Select imports
  1. Postgres CDCタイルを選択します。

    Select Postgres

ソースPostgresデータベース接続の追加

  1. 前提条件ステップで構成したソースのPostgresデータベースの接続詳細を入力します。

    参考

    接続詳細を追加する前に、ClickPipesのIPアドレスがファイアウォール規則でホワイトリストに登録されていることを確認してください。ClickPipesのIPアドレスのリストはこちらから確認できます。 詳細については、このページの最上部にリンクされているソースPostgresのセットアップガイドを参照してください。

    Fill in connection details

データ転送をプライベートに保ちたい場合、AWSにホストされているソースのPostgresデータベースに接続するためにAWS Private Linkを使用できます。 接続を設定するためのセットアップガイドに従うことができます。

(オプション) SSHトンネリングの設定

ソースのPostgresデータベースが公開されていない場合、SSHトンネリングの詳細を指定できます。

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

  2. SSH接続の詳細を入力します。

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

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

注記

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

接続詳細が入力されたら、「Next」をクリックします。

レプリケーション設定の構成

  1. 前提条件ステップで作成したレプリケーションスロットをドロップダウンリストから選択してください。

    Select replication slot

高度な設定

必要に応じて高度な設定を構成できます。各設定の簡単な説明は以下の通りです:

  • Sync interval: ClickPipesがソースデータベースの変更をポーリングする間隔です。これは、コストに敏感なユーザーには3600を超える高い値を推奨します。
  • Parallel threads for initial load: 初期スナップショットを取得するために使用される並行ワーカーの数です。多くのテーブルがある場合に初期スナップショットを取得する並行ワーカーの数を制御するのに便利です。この設定はテーブルごとに適用されます。
  • Pull batch size: 一度に取得する行数です。この設定は努力の結果であり、すべてのケースで尊重されるわけではありません。
  • Snapshot number of rows per partition: 初期スナップショットの際に各パーティションで取得される行数です。テーブルに多くの行がある場合、各パーティションで取得する行数を制御するのに便利です。
  • Snapshot number of tables in parallel: 初期スナップショットの際に並行して取得されるテーブルの数です。多くのテーブルがある場合、並行して取得されるテーブルの数を制御するのに便利です。

テーブルの構成

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

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

    注意

    ClickHouseで決定キーをPostgresの主キーとは異なる方法で定義している場合は、関連するすべての考慮事項を忘れないでください。

権限を確認し、ClickPipeを開始

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

    Review permissions

次は何ですか?

ClickPipeがPostgreSQLからClickHouse Cloudへのデータのレプリケーションを設定したら、データを最適なパフォーマンスのためにクエリし、モデル化する方法に集中できます。ニーズに最適な戦略を判断するための移行ガイドや、CDCワークロードのベストプラクティスに関する重複排除戦略 (CDCを使用)および並びキーページを参照してください。

PostgreSQL CDCおよびトラブルシューティングに関する共通の質問については、Postgres FAQsページをご覧ください。