ClickHouse を最もすばやく簡単に使い始めるには、ClickHouse Cloud で新しい サービスを作成する方法がおすすめです。このクイックスタートガイドでは、3 つの簡単なステップでセットアップ を完了します。
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 サービスの作成が完了し、オンボーディングも完了しました。データの取り込みとクエリの開始方法について詳しくは、このまま読み進めてください。
ClickHouse に接続する
ClickHouse に接続する方法は 2 つあります。- Web ベースの SQL Console を使用して接続する
- アプリから接続する
SQL Console を使用して接続する
すぐに使い始められるように、ClickHouse には Web ベースの SQL Console が用意されており、オンボーディングの完了後に自動的にその画面へリダイレクトされます。クエリタブを作成し、簡単なクエリを入力して、接続が機能していることを確認します。これで完了です。新しい ClickHouseサービス を使い始める準備が整いました。
アプリに接続する
ナビゲーションメニューの Connect ボタンをクリックします。モーダルが開き、サービスの認証情報と、インターフェイスまたは各言語のクライアントから接続する方法が表示されます。お使いの言語クライアントが表示されない場合は、Integrations の一覧を確認してください。
データの追加
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 コマンドを使用します。helloworld データベースに my_first_table という名前のテーブルを作成します。my_first_table は4つのカラムを持つ MergeTree テーブルです。user_id: 32 ビットの符号なし整数 (UInt32)message: String データ型。ほかのデータベースシステムにおけるVARCHAR、BLOB、CLOBなどの型に代わるものですtimestamp: 時点を表す DateTime 型の値metric: 32ビットの浮動小数点数 (Float32)
テーブルエンジンテーブルエンジンは、次の点を決定します。
選択できるテーブルエンジンは数多くありますが、単一ノードの ClickHouse サーバー上にシンプルなテーブルを作成するのであれば、
- データをどのように、どこに保存するか
- どのクエリがサポートされるか
- データがレプリケートされるかどうか
選択できるテーブルエンジンは数多くありますが、単一ノードの ClickHouse サーバー上にシンプルなテーブルを作成するのであれば、
MergeTree を選ぶことになるでしょう。主キーの概要
先に進む前に、ClickHouse における主キーの仕組みを理解しておくことが重要です (主キーの実装は、想像とは異なる部分があるかもしれません!) :- ClickHouse の主キーは、テーブル内の各行ごとに 一意ではありません
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 が作成されることを理解しておくことが重要です。簡単な例であっても、一度に複数の行を挿入してみましょう:
timestamp カラムには、さまざまな Date 関数や DateTime 関数を使って値が設定されています。ClickHouse には便利な関数が何百種類もあり、Functions セクションで確認できます。ClickHouse Clientを使用したデータの追加
clickhouse client というコマンドラインツールを使って、ClickHouse Cloud サービスに接続することもできます。これらの詳細を確認するには、左側のメニューでConnect をクリックします。表示されたダイアログで、ドロップダウンから Native を選択します。- ClickHouse をインストールします。
-
コマンドを実行し、
hostname、username、passwordを実際の値に置き換えてください:
- 次のクエリを実行して試してみましょう。
FORMAT句を追加して、ClickHouseがサポートする数多くの出力フォーマット のいずれかを指定します:
clickhouse clientを終了するには、exit コマンドを入力してください。
ファイルのアップロード
データベースを使い始める際によく行う作業の一つが、手元のファイルに含まれるデータの挿入です。クリックストリームデータを表すサンプルデータをオンラインで提供しています。このデータには、ユーザーID、訪問したURL、イベントのタイムスタンプが含まれています。data.csv という名前のCSVファイルに次のテキストがあるとします:data.csv
- 次のコマンドで、データを
my_first_tableに挿入します:
- SQL Console からクエリを実行すると、新しい行がテーブルに表示されていることが確認できます:
次は?
- Tutorial では、テーブルに 200 万行を挿入し、分析クエリをいくつか作成します
- example datasets の一覧と、それらを挿入する方法の手順を用意しています
- 25 分間の Getting Started with ClickHouse のビデオをご覧ください
- データが外部ソースから取り込まれる場合は、メッセージキュー、データベース、パイプラインなどに接続するための インテグレーションガイド集 をご覧ください
- UI/BI 可視化ツールを使用している場合は、UI を ClickHouse に接続するためのユーザーガイド をご覧ください
- 主キー に関するユーザーガイドでは、主キーについて知っておくべきことと、その定義方法を確認できます