clickhouse-local を、現在のデータベースシステムから ClickHouse Cloud へデータを移行するための ETL ツールとして使用できます。
この移行方法は、ソースデータベースから宛先データベースへデータを移動する際に、中間の中継点を使うことから、“pivot” メソッドと呼ばれることがあります。たとえば、セキュリティ要件により、プライベートまたは内部ネットワーク内からは外向き接続のみが許可されている場合、この方法が必要になることがあります。そのため、clickhouse-local でソースデータベースからデータを取得し、その後、clickhouse-local を中継点として使いながら、宛先の ClickHouse データベースへデータを送ることになります。
ClickHouse は、MySQL、PostgreSQL、MongoDB、SQLite 向けに、Integration engine とテーブル関数 (その場で Integration engine を作成するもの) を提供しています。
その他の一般的なデータベースシステムについては、そのシステムのベンダーから JDBC driver または ODBC ドライバが提供されています。
clickhouse-local とは?
clickhouse-server プログラムの一部として実行されます。データベースへのアクセス (パス、ユーザー、セキュリティなど) は、サーバー設定ファイルで構成します。
clickhouse-local ツールを使うと、ClickHouse サーバーを構成して起動しなくても、ClickHouse データベースエンジンを独立したコマンドラインユーティリティとして利用し、多数の入出力に対して超高速な SQL データ処理を行えます。
clickhouse-local のインストール
clickhouse-local 用のホストマシンが必要です。
そのホストマシンで、お使いのコンピューターのオペレーティングシステムに応じた適切な clickhouse-local のビルドをダウンロードしてください。
- Linux
- macOS
clickhouse-localをローカルにダウンロードする最も簡単な方法は、次のコマンドを実行することです。
clickhouse-localを実行します (バージョンが表示されるだけです) 。
重要このガイド全体の例では、
clickhouse-local を実行する Linux のコマンド (./clickhouse-local) を使用しています。
Mac で clickhouse-local を実行する場合は、./clickhouse local を使用してください。IP Access List の管理
IP Access List の管理
ClickHouse Cloud のサービス一覧から対象のサービスを選択し、Settings に切り替えます。接続元となるリモートシステムの IP アドレスまたはアドレス範囲が IP Access List に含まれていない場合は、Add IPs で追加できます。ClickHouse Cloud サービスへの接続に必要な個別の IP アドレス、またはアドレス範囲を追加します。必要に応じてフォームを編集し、Save します。
例: Integration engine を使用した MySQL から ClickHouse Cloud への移行
宛先のClickHouse Cloud サービスで:
宛先のデータベースを作成します:
MySQLテーブルと同等のスキーマを持つ宛先テーブルを作成します:
ClickHouse Cloud の宛先テーブルのスキーマとソース MySQL テーブルのスキーマは揃っている必要があります (カラム名と順序が同じで、カラムのデータ型に互換性がある必要があります) 。
clickhouse-local を実行するホストマシン上で:
移行クエリを使用して clickhouse-local を実行します:
データは
clickhouse-local を実行しているホストマシン上には保存されません。代わりに、ソースの MySQL テーブルからデータを読み取り、
すぐに ClickHouse Cloud サービス上の宛先テーブルへ書き込まれます。