Skip to main content
現在使用しているデータベースシステムに対して、ClickHouse が提供する Integration engine または テーブル関数 のいずれか、あるいはベンダー提供の JDBC driver または ODBC ドライバが利用できる場合は、 ClickHouse、より正確には clickhouse-local を、現在のデータベースシステムから ClickHouse Cloud へデータを移行するための ETL ツールとして使用できます。 この移行方法は、ソースデータベースから宛先データベースへデータを移動する際に、中間の中継点を使うことから、“pivot” メソッドと呼ばれることがあります。たとえば、セキュリティ要件により、プライベートまたは内部ネットワーク内からは外向き接続のみが許可されている場合、この方法が必要になることがあります。そのため、clickhouse-local でソースデータベースからデータを取得し、その後、clickhouse-local を中継点として使いながら、宛先の ClickHouse データベースへデータを送ることになります。 ClickHouse は、MySQLPostgreSQLMongoDBSQLite 向けに、Integration engine とテーブル関数 (その場で Integration engine を作成するもの) を提供しています。 その他の一般的なデータベースシステムについては、そのシステムのベンダーから JDBC driver または ODBC ドライバが提供されています。

clickhouse-local とは?

通常、ClickHouse はクラスターとして実行され、複数の ClickHouse データベースエンジンのインスタンスが異なるサーバー上で分散して稼働します。 単一のサーバーでは、ClickHouse データベースエンジンは clickhouse-server プログラムの一部として実行されます。データベースへのアクセス (パス、ユーザー、セキュリティなど) は、サーバー設定ファイルで構成します。 clickhouse-local ツールを使うと、ClickHouse サーバーを構成して起動しなくても、ClickHouse データベースエンジンを独立したコマンドラインユーティリティとして利用し、多数の入出力に対して超高速な SQL データ処理を行えます。

clickhouse-local のインストール

現在のソースデータベースシステムと ClickHouse Cloud のターゲットサービスの両方にネットワークアクセスできる、clickhouse-local 用のホストマシンが必要です。 そのホストマシンで、お使いのコンピューターのオペレーティングシステムに応じた適切な clickhouse-local のビルドをダウンロードしてください。
  1. clickhouse-local をローカルにダウンロードする最も簡単な方法は、次のコマンドを実行することです。
  1. clickhouse-local を実行します (バージョンが表示されるだけです) 。
重要このガイド全体の例では、clickhouse-local を実行する Linux のコマンド (./clickhouse-local) を使用しています。 Mac で clickhouse-local を実行する場合は、./clickhouse local を使用してください。
リモートシステムを ClickHouse Cloud サービスの IP Access List に追加するremoteSecure 関数が ClickHouse Cloud サービスに接続できるようにするには、リモートシステムの IP アドレスが IP Access List で許可されている必要があります。詳細については、このヒントの下にある Manage your IP Access List を展開してください。
ClickHouse Cloud のサービス一覧から対象のサービスを選択し、Settings に切り替えます。接続元となるリモートシステムの IP アドレスまたはアドレス範囲が IP Access List に含まれていない場合は、Add IPs で追加できます。ClickHouse Cloud サービスへの接続に必要な個別の IP アドレス、またはアドレス範囲を追加します。必要に応じてフォームを編集し、Save します。

例: Integration engine を使用した MySQL から ClickHouse Cloud への移行

ソースの MySQL データベースからデータを読み取るために、integration table engine (mysql テーブル関数 によってその場で作成されます) を使用し、データをお使いの ClickHouse Cloud サービス上の宛先テーブルに書き込むために remoteSecure テーブル関数 を使用します。

宛先のClickHouse Cloud サービスで:

宛先のデータベースを作成します:

MySQLテーブルと同等のスキーマを持つ宛先テーブルを作成します:

ClickHouse Cloud の宛先テーブルのスキーマとソース MySQL テーブルのスキーマは揃っている必要があります (カラム名と順序が同じで、カラムのデータ型に互換性がある必要があります) 。

clickhouse-local を実行するホストマシン上で:

移行クエリを使用して clickhouse-local を実行します:

データは clickhouse-local を実行しているホストマシン上には保存されません。代わりに、ソースの MySQL テーブルからデータを読み取り、 すぐに ClickHouse Cloud サービス上の宛先テーブルへ書き込まれます。
最終更新日 2026年7月3日