ClickHouse を最も迅速かつ簡単に使い始めるには、ClickHouse Cloud で新しい サービスを作成します。このクイックスタートガイドでは、3 つの簡単な手順でセットアップします。
ClickHouseサービスを作成する
無料の ClickHouse サービスを ClickHouse Cloud で作成するには、次の手順でサインアップします。
- サインアップページでアカウントを作成します
- メールアドレス、Google SSO、Microsoft SSO、AWS Marketplace、Google Cloud、または Microsoft Azure を使用してサインアップできます
- メールアドレスとパスワードでサインアップした場合は、メールで受信したリンクから 24 時間以内にメールアドレスを確認してください
- 作成したユーザー名とパスワードでログインします

ログインすると、ClickHouse Cloud のオンボーディングウィザードが開始され、新しい ClickHouse サービスの作成手順が案内されます。サービスをデプロイするリージョンを選択し、新しいサービスに名前を付けます。

デフォルトでは、新しい組織は Scale ティアになり、それぞれ 4 vCPU と 16 GiB の RAM を備えた 3 つのレプリカが作成されます。垂直オートスケーリングは、Scale ティアでデフォルトで有効になります。組織ティアは後から「プラン」ページで変更できます。
必要に応じて、レプリカのスケーリング範囲となる最小サイズと最大サイズを指定し、サービスリソースをカスタマイズします。準備ができたら、Create service を選択します。

おめでとうございます。ClickHouse Cloud サービスが稼働し、オンボーディングが完了しました。データの取り込みとクエリの開始方法については、このまま読み進めてください。
ClickHouse に接続する
ClickHouse への接続方法は 2 つあります。
- Web ベースの SQL コンソールを使用する
- アプリケーションから接続する
SQL コンソールを使用する
すぐに始められるよう、ClickHouse では Web ベースの SQL コンソールを提供しています。オンボーディングが完了すると、このコンソールにリダイレクトされます。

クエリタブを作成し、簡単なクエリを入力して接続が正常に機能していることを確認します。
SHOW databasesリストには4つのデータベースと、追加したデータベースが表示されます。

これで完了です。新しいClickHouseサービスを使い始める準備ができました!
アプリから接続する
ナビゲーションメニューの接続ボタンを押します。モーダルが開き、サービスの認証情報と、インターフェイスまたは言語クライアントから接続する手順が表示されます。

お使いの言語クライアントが見つからない場合は、インテグレーションの一覧をご確認ください。
データを追加
ClickHouse はデータがあってこそ真価を発揮します。データを追加する方法は複数あり、そのほとんどはナビゲーションメニューからアクセスできる「Data Sources」ページで利用できます。

以下の方法でデータをアップロードできます。
- ClickPipe を設定して、S3、Postgres、Kafka、GCS などのデータソースからデータの取り込みを開始する
- SQL Console を使用する
- ClickHouse client を使用する
- ファイルをアップロードする - JSON、CSV、TSV フォーマットに対応
- ファイル URL からデータをアップロードする
ClickPipes
ClickPipes は、多様なソースからのデータ取り込みを数回のクリックだけで実現するマネージド統合プラットフォームです。最も要求の厳しいワークロード向けに設計されており、ClickPipes の堅牢でスケーラブルなアーキテクチャは一貫したパフォーマンスと信頼性を確保します。ClickPipes は、長期的なストリーミング用途にも一度限りのデータロードジョブにも利用できます。

SQL Console を使用してデータを追加する
ほとんどのデータベース管理システムと同様に、ClickHouse もテーブルを論理的に データベース 単位でまとめます。ClickHouse で新しいデータベースを作成するには、CREATE DATABASE コマンドを使用します。
CREATE DATABASE IF NOT EXISTS helloworld次のコマンドを実行して、helloworld データベースに my_first_table という名前のテーブルを作成します。
CREATE TABLE helloworld.my_first_table
(
user_id UInt32,
message String,
timestamp DateTime,
metric Float32
)
ENGINE = MergeTree()
PRIMARY KEY (user_id, timestamp)上記の例の my_first_table は、4つのカラムを持つ MergeTree テーブルです:
user_id: 32ビット符号なし整数 (UInt32)message: String データ型。他のデータベースシステムで使用されるVARCHAR、BLOB、CLOBなどの型に相当しますtimestamp: 特定の時点を表す DateTime 値metric: 32ビット浮動小数点数 (Float32)
主キーの簡単な紹介
先に進む前に、ClickHouse における主キーの仕組みを理解しておくことが重要です (主キーの実装は意外に思えるかもしれません) 。
- ClickHouseの主キーは、テーブル内の各行で一意ではありません
ClickHouse テーブルの主キーは、データがディスクに書き込まれる際のソート順を決定します。8,192 行または 10MB のデータごとに (これを インデックスグラニュラリティ と呼びます) 主キーインデックスファイルにエントリが作成されます。このグラニュラリティの概念によりメモリに容易に収まるスパースインデックスが生成され、グラニュールは SELECT クエリの処理時に扱われる最小のカラムデータのストライプを表します。
主キーは PRIMARY KEY パラメータで定義できます。PRIMARY KEY を指定せずにテーブルを定義した場合、
キーは ORDER BY 句で指定したタプルになります。PRIMARY KEY と ORDER BY の両方を指定する場合、主キーはソート順のサブセットでなければなりません。
主キーはソートキーでもあり、(user_id, timestamp) のタプルです。したがって、各カラムファイルに格納されるデータは user_id、次に timestamp の順にソートされます。
ClickHouse の中核的な概念を深く理解するには、"コアコンセプト" を参照してください。
テーブルにデータを挿入する
ClickHouse でも使い慣れた INSERT INTO TABLE コマンドを利用できますが、MergeTree テーブルへの insert ごとに、ストレージ上に part が 1 つ作成される点を理解しておくことが重要です。
単純な例ではありますが、一度に複数の行を挿入してみましょう:
INSERT INTO helloworld.my_first_table (user_id, message, timestamp, metric) VALUES
(101, 'Hello, ClickHouse!', now(), -1.0 ),
(102, 'Insert a lot of rows per batch', yesterday(), 1.41421 ),
(102, 'Sort your data based on your commonly-used queries', today(), 2.718 ),
(101, 'Granules are the smallest chunks of data read', now() + 5, 3.14159 )正しく動作したか確認します:
SELECT * FROM helloworld.my_first_tableClickHouse Client を使用したデータの追加
clickhouse client というコマンドラインツールを使用して ClickHouse Cloud サービスに接続することもできます。左メニューの Connect をクリックすると、接続情報を確認できます。表示されたダイアログのドロップダウンから Native を選択してください:

-
ClickHouseをインストールします。
-
hostname、username、password を適切な値に置き換えて、コマンドを実行します。
./clickhouse client --host HOSTNAME.REGION.CSP.clickhouse.cloud \
--secure --port 9440 \
--user default \
--password <password>スマイリーフェイスのプロンプトが表示されれば、クエリを実行する準備は完了です。
:)- 次のクエリを実行して、試してみてください。
SELECT *
FROM helloworld.my_first_table
ORDER BY timestampレスポンスが見やすいテーブル形式で返されている点に注目してください:
┌─user_id─┬─message────────────────────────────────────────────┬───────────timestamp─┬──metric─┐
│ 102 │ Insert a lot of rows per batch │ 2022-03-21 00:00:00 │ 1.41421 │
│ 102 │ Sort your data based on your commonly-used queries │ 2022-03-22 00:00:00 │ 2.718 │
│ 101 │ Hello, ClickHouse! │ 2022-03-22 14:04:09 │ -1 │
│ 101 │ Granules are the smallest chunks of data read │ 2022-03-22 14:04:14 │ 3.14159 │
└─────────┴────────────────────────────────────────────────────┴─────────────────────┴─────────┘
4 rows in set. Elapsed: 0.008 sec.FORMAT句を追加し、ClickHouse でサポートされている多数の出力フォーマットのいずれかを指定します。
SELECT *
FROM helloworld.my_first_table
ORDER BY timestamp
FORMAT TabSeparated上記のクエリでは、出力はタブ区切り形式で返されます。
Query id: 3604df1c-acfd-4117-9c56-f86c69721121
102 Insert a lot of rows per batch 2022-03-21 00:00:00 1.41421
102 Sort your data based on your commonly-used queries 2022-03-22 00:00:00 2.718
101 Hello, ClickHouse! 2022-03-22 14:04:09 -1
101 Granules are the smallest chunks of data read 2022-03-22 14:04:14 3.14159
4 rows in set. Elapsed: 0.005 sec.clickhouse clientを終了するには、exit コマンドを入力します。
exitファイルをアップロードする
データベースを使い始める際によくある作業が、すでにファイルとして手元にあるデータを挿入することです。ここでは、クリックストリームデータを模したサンプルデータをオンラインで用意しており、これを挿入できます。このデータには、ユーザーID、アクセスされたURL、イベントのタイムスタンプが含まれています。
data.csv という名前の CSV ファイルに、次のテキストが含まれているとします。
102,This is data in a file,2022-02-22 10:43:28,123.45
101,It is comma-separated,2022-02-23 00:00:00,456.78
103,Use FORMAT to specify the format,2022-02-21 10:43:30,678.90- 次のコマンドで、データを
my_first_tableに挿入します。
./clickhouse client --host HOSTNAME.REGION.CSP.clickhouse.cloud \
--secure --port 9440 \
--user default \
--password <password> \
--query='INSERT INTO helloworld.my_first_table FORMAT CSV' < data.csv- SQL Console からクエリを実行し、新しい行がテーブルに表示されていることを確認します。

次のステップ
- チュートリアルでは、テーブルに 200 万行を挿入し、いくつかの分析クエリを作成します
- サンプルデータセットの一覧には、それらを挿入する方法が記載されています
- ClickHouse をはじめるに関する 12 分間のビデオをご覧ください
- データが外部ソースから取得される場合は、メッセージキュー、データベース、パイプラインなどへの接続方法を紹介するインテグレーションガイド集をご覧ください
- UI/BI 可視化ツールを使用している場合は、UI を ClickHouse に接続するためのユーザーガイドをご覧ください
- 主キーのユーザーガイドでは、主キーとその定義方法について知っておくべきことをすべて説明しています
この手順を自分で実行することも、スクリプト化することも、AI Agent に任せることもできます。コンソール版では、Cloud UI ビューに切り替えてください。
このページでは、ClickHouse CLI (clickhousectl) を使用して、コマンドラインから ClickHouse Cloud サービスのプロビジョニング、接続、データの読み込みを行う方法を説明します。コマンドは非対話型で、clickhousectl は --json を指定すると JSON を出力します。
前提条件
ClickHouse CLI をインストールします。
curl https://clickhouse.com/cli | shjq も必要です。
ClickHouse Cloud アカウントが必要です。まだお持ちでない場合は、clickhousectl cloud auth signup を実行すると、ブラウザでサインアップページが開きます。
書き込み操作 (作成、削除) には API キー認証 が必要です。OAuth ログインは読み取り専用です。
clickhousectl cloud auth login --api-key <YOUR_KEY> --api-secret <YOUR_SECRET>または、環境変数 CLICKHOUSE_CLOUD_API_KEY と CLICKHOUSE_CLOUD_API_SECRET を設定します。clickhousectl cloud auth status で確認し、scope が read/write のエントリが表示されることを確認してください。
ClickHouse サービスを作成する
サービスを作成してレスポンスを保存します。default USER のパスワードは一度しか表示されません。
clickhousectl cloud service create \
--name quickstart-ch \
--region us-east-1 \
--json > ch.jsonレスポンスには、サービス ID、エンドポイント、生成されたパスワードが含まれます (ここでは一部を省略しています。完全なレスポンスには、スケーリング設定、IP アクセスリスト、タグも含まれます) 。
{
"password": "dK7mPq2x_-TzrL9vNw0s",
"service": {
"id": "4f7b92f3-4163-403a-b538-b9bc6e2e8f66",
"name": "quickstart-ch",
"provider": "aws",
"region": "us-east-1",
"state": "provisioning",
"endpoints": [
{
"host": "quickstart-abc123.us-east-1.aws.clickhouse.cloud",
"port": 9440,
"protocol": "nativesecure"
},
{
"host": "quickstart-abc123.us-east-1.aws.clickhouse.cloud",
"port": 8443,
"protocol": "https"
}
],
"numReplicas": 3,
"minReplicaMemoryGb": 16.0,
"maxReplicaMemoryGb": 120.0
}
}このガイドの続きで必要な情報を抽出します。
CH_ID=$(jq -r .service.id ch.json)
CH_PASSWORD=$(jq -r .password ch.json)
CH_HOST=$(jq -r '.service.endpoints[] | select(.protocol=="nativesecure") | .host' ch.json)パスワードを紛失した場合は、clickhousectl cloud service reset-password "$CH_ID" で新しいパスワードを生成します。
clickhousectl で作成されたサービスでは、デフォルトで、すべてのアクセス元 (0.0.0.0/0) を許可する IP アクセスリストが設定されます。アクセスを制限するには、サービスの作成時に --ip-allow を指定してください。詳細は"IP フィルタの設定"を参照してください。
サービスのプロビジョニングが完了するまで待機する
プロビジョニングには約1分かかります。状態が running になるまでポーリングします。
while [ "$(clickhousectl cloud service get "$CH_ID" --json | jq -r .state)" != "running" ]; do
sleep 15
doneQuery API を使用して SQL を実行する
clickhousectl cloud service query を使用すると、HTTP 経由で SQL を実行できます。ローカルの clickhouse バイナリやサービスのパスワードは不要です。初回の呼び出し時に、Query API エンドポイントとサービススコープの API キーが自動的にプロビジョニングされます。
clickhousectl cloud service query --id "$CH_ID" --query "SHOW databases"Provisioning Query API endpoint + key for service 'quickstart-ch'...
{"name":"INFORMATION_SCHEMA"}
{"name":"default"}
{"name":"information_schema"}
{"name":"system"}パイプでの出力はデフォルトで JSONEachRow 形式です。表形式で出力するには、代わりに --format PrettyCompact を指定します。
データベースとテーブルを作成する
clickhousectl cloud service query --id "$CH_ID" \
--query "CREATE DATABASE IF NOT EXISTS helloworld"
clickhousectl cloud service query --id "$CH_ID" \
--query "CREATE TABLE helloworld.my_first_table (
user_id UInt32,
message String,
timestamp DateTime,
metric Float32
) ENGINE = MergeTree()
PRIMARY KEY (user_id, timestamp)"どちらのコマンドも OK を出力します。数行を挿入します。
clickhousectl cloud service query --id "$CH_ID" \
--query "INSERT INTO helloworld.my_first_table (user_id, message, timestamp, metric) VALUES
(101, 'Hello, ClickHouse!', now(), -1.0),
(102, 'Insert a lot of rows per batch', yesterday(), 1.41421),
(102, 'Sort your data based on your commonly-used queries', today(), 2.718),
(101, 'Granules are the smallest chunks of data read', now() + 5, 3.14159)"正常に動作したことを確認します。
clickhousectl cloud service query --id "$CH_ID" \
--query "SELECT * FROM helloworld.my_first_table ORDER BY timestamp"{"user_id":102,"message":"Insert a lot of rows per batch","timestamp":"2026-08-26 00:00:00","metric":1.41421}
{"user_id":102,"message":"Sort your data based on your commonly-used queries","timestamp":"2026-08-27 00:00:00","metric":2.718}
{"user_id":101,"message":"Hello, ClickHouse!","timestamp":"2026-08-27 10:41:28","metric":-1}
{"user_id":101,"message":"Granules are the smallest chunks of data read","timestamp":"2026-08-27 10:41:33","metric":3.14159}タイムスタンプはinsertを実行した時刻に依存するため、実際の値は異なります。
CSVファイルを読み込む
次のテキストが、data.csvという名前のCSVファイルに含まれているとします。
102,This is data in a file,2022-02-22 10:43:28,123.45
101,It is comma-separated,2022-02-23 00:00:00,456.78
103,Use FORMAT to specify the format,2022-02-21 10:43:30,678.90INSERT ... FORMAT はstdinからデータを読み込むため、クエリとファイルをパイプで連結します。
printf 'INSERT INTO helloworld.my_first_table FORMAT CSV\n' | cat - data.csv \
| clickhousectl cloud service query --id "$CH_ID"新しい行が取り込まれたことを確認します。
clickhousectl cloud service query --id "$CH_ID" \
--query "SELECT count() FROM helloworld.my_first_table"{"count()":7}clickhouse client で接続する
clickhouse client を使用すると、ネイティブプロトコル経由でも接続できます。ClickHouse CLI が clickhouse バイナリを管理するため、クライアントを別途インストールする必要はありません。
clickhousectl local use latestこれにより最新のclickhouseバイナリがインストールされ、~/.local/bin/clickhouseへのシンボリックリンクが作成されます。これにより、clickhouseコマンドをPATH上のどこからでも使用できます。
次に、作成レスポンスのhostnameとパスワードを使用して接続します。--queryを指定すると結果が出力され、clientは終了します。指定しない場合は対話型プロンプト (:)) が表示され、exitで終了します。
clickhouse client --host "$CH_HOST" --secure --port 9440 \
--user default --password "$CH_PASSWORD" \
--query "SELECT * FROM helloworld.my_first_table ORDER BY timestamp FORMAT TabSeparated"102 Insert a lot of rows per batch 2026-08-26 00:00:00 1.41421
102 Sort your data based on your commonly-used queries 2026-08-27 00:00:00 2.718
101 Hello, ClickHouse! 2026-08-27 10:41:28 -1
101 Granules are the smallest chunks of data read 2026-08-27 10:41:33 3.14159
103 Use FORMAT to specify the format 2022-02-21 10:43:30 678.9
102 This is data in a file 2022-02-22 10:43:28 123.45
101 It is comma-separated 2022-02-23 00:00:00 456.78同じ形式のコマンドでファイルをアップロードできます。
clickhouse client --host "$CH_HOST" --secure --port 9440 \
--user default --password "$CH_PASSWORD" \
--query='INSERT INTO helloworld.my_first_table FORMAT CSV' < data.csvクリーンアップ
サービスを削除すると、そのすべてのデータが完全に失われます。--force を指定すると、実行中のサービスを先に停止します。
clickhousectl cloud service delete "$CH_ID" --forceデータを保持したままコンピュート料金の発生を止めるには、代わりに clickhousectl cloud service stop "$CH_ID" でサービスを停止します。