メインコンテンツへスキップ
メインコンテンツへスキップ

NixOS に ClickHouse をインストールする

ClickHouse は Nixpkgs リポジトリで提供されており、LinuxmacOS 上で Nix を使ってインストールできます。

推奨事項を確認する

ClickHouse をインストールする前に、次の推奨事項を確認してください。

  • スワップ: プロダクション環境では、オペレーティングシステムのスワップファイルを無効にします。
  • ディスク容量: ClickHouse バイナリのインストールには、少なくとも 2.5 GB のディスク容量が必要です。
  • ネットワーク: 分散デプロイメント (クラスタリング) では、少なくとも 10 Gbit のネットワーク接続を使用します。大量の中間データを伴う分散クエリの処理やレプリケーションでは、ネットワーク帯域幅が重要です。

ストレージ要件の見積もり

データに必要なディスク容量を見積もるには、次の手順に従います。

  1. データ量を見積もる: データのサンプルを取り、1 行あたりの平均サイズを計算して、保存予定の行数を掛けます。
  2. 圧縮率を適用する: サンプルデータを ClickHouse にロードし、元のデータサイズと格納後のテーブルサイズを比較します。たとえば、クリックストリームデータは通常 6~10 倍に圧縮されます。
  3. レプリカを考慮する: 複数のレプリカにデータを保存する予定がある場合は、見積もり容量にレプリカ数を掛けます。

より詳細なハードウェア要件については、「サイジングとハードウェアの推奨事項」を参照してください。

Nix を使って ClickHouse をインストールする

Nix を使用すると、ClickHouse をシステムに永続的に追加することなくインストールできます:

# 最新の安定版をインストール
nix shell nixpkgs#clickhouse

# または LTS 版をインストール
nix shell nixpkgs#clickhouse-lts

これにより、現在のシェルセッションで clickhouse バイナリが利用可能になります。

  • nixpkgs#clickhouse パッケージは最新の安定版を提供します。
  • nixpkgs#clickhouse-lts パッケージは Long Term Support 版を提供します。
  • どちらのパッケージも Linux と macOS で動作します。

永続的なインストール

ClickHouse をシステムに永続的にインストールするには:

NixOS ユーザーの場合configuration.nix に次を追加します:

environment.systemPackages = with pkgs; [
  clickhouse
];

その後、システムを再構築します:

sudo nixos-rebuild switch

非 NixOS ユーザーの場合、Nix プロファイル経由でインストールします:

# 最新の安定版をインストール
nix profile install nixpkgs#clickhouse

# または LTS 版をインストール
nix profile install nixpkgs#clickhouse-lts

ClickHouse サーバーを起動する

インストール後、次のコマンドで ClickHouse サーバーを起動できます:

clickhouse-server

デフォルトでは、サーバーは基本的な設定で起動し、localhost:9000 で待ち受けます。

NixOS 上で本番用途とする場合は、ClickHouse をシステムサービスとして構成することを推奨します。利用可能な設定オプションについては、NixOS マニュアル を参照してください。

ClickHouse クライアントを起動する

ClickHouse サーバーに接続するには、新しいターミナルを開き、次を実行します:

clickhouse-client

Nix パッケージについて

Nixpkgs に含まれる ClickHouse パッケージには、次のコンポーネントが含まれます。

  • clickhouse-server - ClickHouse データベースサーバー
  • clickhouse-client - ClickHouse に接続するためのコマンドラインクライアント
  • clickhouse-local - ローカルファイルに対して SQL クエリを実行するためのツール
  • その他の ClickHouse ユーティリティ

Nixpkgs における ClickHouse パッケージの詳細については、次を参照してください。