メインコンテンツへスキップ
ClickHouse を最もすばやく簡単に使い始めるには、ClickHouse Cloud で新しい サービスを作成する方法がおすすめです。このクイックスタートガイドでは、3 つの簡単なステップでセットアップ を完了します。
1

ClickHouse サービスを作成する

ClickHouse Cloud で無料の ClickHouse サービスを作成するには、次の手順でサインアップするだけです。
  • サインアップページ でアカウントを作成します
  • メールアドレス、Google SSO、Microsoft SSO、AWS Marketplace、Google Cloud、Microsoft Azure のいずれかを使ってサインアップできます
  • メールアドレスとパスワードでサインアップする場合は、メールで受信したリンクから 24 時間以内にメールアドレスを確認してください
  • 作成したユーザー名とパスワードを使ってログインします

ログインすると、ClickHouse Cloud によりオンボーディングウィザードが開始され、新しい ClickHouse サービスの作成手順が案内されます。サービスのデプロイ先となるリージョンを選択し、新しいサービスに名前を付けます。
既定では、新しい組織は Scale ティアに設定され、各 4 VCPU と 16 GiB RAM を備えた 3 つのレプリカが作成されます。垂直オートスケーリング は Scale ティアで既定で有効になります。組織ティアは後から「Plans」ページで変更できます。必要に応じて、レプリカがスケールする最小サイズと最大サイズを指定して、サービスのリソースを調整します。準備ができたら、Create service を選択します。
おめでとうございます。ClickHouse Cloud サービスの作成が完了し、オンボーディングも完了しました。データの取り込みとクエリの開始方法について詳しくは、このまま読み進めてください。
2

ClickHouse に接続する

ClickHouse に接続する方法は 2 つあります。
  • Web ベースの SQL Console を使用して接続する
  • アプリから接続する

SQL Console を使用して接続する

すぐに使い始められるように、ClickHouse には Web ベースの SQL Console が用意されており、オンボーディングの完了後に自動的にその画面へリダイレクトされます。クエリタブを作成し、簡単なクエリを入力して、接続が機能していることを確認します。
SHOW databases
リストには、追加したものに加えて、4 つのデータベースが表示されるはずです。
これで完了です。新しい ClickHouseサービス を使い始める準備が整いました。

アプリに接続する

ナビゲーションメニューの Connect ボタンをクリックします。モーダルが開き、サービスの認証情報と、インターフェイスまたは各言語のクライアントから接続する方法が表示されます。
お使いの言語クライアントが表示されない場合は、Integrations の一覧を確認してください。
3

データの追加

ClickHouse はデータがあってこそ真価を発揮します。データを追加する方法はいくつかあり、その多くはナビゲーションメニューからアクセスできる Data Sources ページで利用できます。
以下の方法でデータをアップロードできます:
  • ClickPipe を設定し、S3、Postgres、Kafka、GCS などのデータソースからのデータ取り込みを開始します
  • SQLコンソールを使用する
  • 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 データ型。ほかのデータベースシステムにおける VARCHARBLOBCLOB などの型に代わるものです
  • timestamp: 時点を表す DateTime 型の値
  • metric: 32ビットの浮動小数点数 (Float32)
テーブルエンジンテーブルエンジンは、次の点を決定します。
  • データをどのように、どこに保存するか
  • どのクエリがサポートされるか
  • データがレプリケートされるかどうか

選択できるテーブルエンジンは数多くありますが、単一ノードの ClickHouse サーバー上にシンプルなテーブルを作成するのであれば、MergeTree を選ぶことになるでしょう。

主キーの概要

先に進む前に、ClickHouse における主キーの仕組みを理解しておくことが重要です (主キーの実装は、想像とは異なる部分があるかもしれません!) :
  • ClickHouse の主キーは、テーブル内の各行ごとに 一意ではありません
ClickHouseテーブルの主キーは、ディスクへの書き込み時にデータがどのようにソートされるかを決定します。8,192行または10MBのデータごと (インデックスの粒度と呼ばれます) に、主キーの索引ファイルにエントリが作成されます。この粒度の概念により、メモリに収まりやすいスパースインデックスが生成され、グラニュールはSELECTクエリの処理中に扱われる最小単位のカラムデータのストライプを表します。主キーは PRIMARY KEY パラメータを使用して定義できます。PRIMARY KEY を指定せずにテーブルを定義した場合、ORDER BY 句で指定されたタプルがキーになります。PRIMARY KEYORDER BY の両方を指定する場合、主キーはソート順のサブセットでなければなりません。主キーは、(user_id, timestamp) からなるソートキーでもあります。したがって、各カラムファイルに格納されるデータは、まず user_id、次に timestamp の順にソートされます。ClickHouseのコアコンセプトについて詳しくは、「コアコンセプト」を参照してください。

テーブルへのデータの挿入

ClickHouse では、おなじみの INSERT INTO TABLE コマンドを使用できますが、MergeTree テーブルにデータを insert するたびに、ストレージ内に part が作成されることを理解しておくことが重要です。
ClickHouseのベストプラクティス1バッチあたり大量の行をinsertします。数万行、場合によっては数百万 行を一度に挿入してください。心配はいりません。ClickHouse はその程度の量なら難なく処理でき、サービスへの書き込みリクエスト数も減るため、コスト削減にもつながります。

簡単な例であっても、一度に複数の行を挿入してみましょう:
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 )
timestamp カラムには、さまざまな Date 関数や DateTime 関数を使って値が設定されています。ClickHouse には便利な関数が何百種類もあり、Functions セクションで確認できます。
正常に動作したか確認しましょう:
SELECT * FROM helloworld.my_first_table

ClickHouse Clientを使用したデータの追加

clickhouse client というコマンドラインツールを使って、ClickHouse Cloud サービスに接続することもできます。これらの詳細を確認するには、左側のメニューで Connect をクリックします。表示されたダイアログで、ドロップダウンから Native を選択します。
  1. ClickHouse をインストールします。
  2. コマンドを実行し、hostnameusernamepassword を実際の値に置き換えてください:
./clickhouse client --host HOSTNAME.REGION.CSP.clickhouse.cloud \
--secure --port 9440 \
--user default \
--password <password>
スマイルフェイスのプロンプトが表示されたら、クエリを実行する準備は完了です!
:)
  1. 次のクエリを実行して試してみましょう。

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.
  1. 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.
  1. clickhouse client を終了するには、exit コマンドを入力してください。

exit

ファイルのアップロード

データベースを使い始める際によく行う作業の一つが、手元のファイルに含まれるデータの挿入です。クリックストリームデータを表すサンプルデータをオンラインで提供しています。このデータには、ユーザーID、訪問したURL、イベントのタイムスタンプが含まれています。data.csv という名前のCSVファイルに次のテキストがあるとします:
data.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
  1. 次のコマンドで、データを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
  1. SQL Console からクエリを実行すると、新しい行がテーブルに表示されていることが確認できます:


IP Access List によるフィルタリング先に進む前に、IP Access List によるフィルタリングを設定することを推奨します。 詳しくは、“IP フィルタの設定”を参照してください。

次は?

最終更新日 2026年6月10日