紹介
これらのデプロイメントの例は、ClickHouseサポートおよびサービス組織がClickHouseユーザーに提供したアドバイスに基づいています。これらは動作する例であり、試してみてからニーズに合わせて調整することをお勧めします。こちらに、あなたの要件にぴったり合う例を見つけられるかもしれません。Alternatively, もしデータを2回ではなく3回レプリケートする必要がある場合は、ここで示されたパターンに従うことで、別のレプリカを追加できるはずです。
Terminology
Replica
データのコピー。ClickHouse は常にデータのコピーを少なくとも 1 つ持っており、最小限の レプリカ の数は 1 つです。これは重要な詳細であり、データのオリジナルコピーをレプリカとしてカウントすることに慣れていないかもしれませんが、ClickHouse のコードとドキュメントで使用される用語です。データの 2 番目のレプリカを追加することにより、フォールトトレランスを提供します。
Shard
データのサブセット。ClickHouse は常にデータのためのシャードを少なくとも 1 つ持っているため、データを複数のサーバーに分割しない場合、データは 1 つのシャードに格納されます。データを複数のサーバーにシャーディングすることで、単一のサーバーの容量を超えた場合に負荷を分散させることができます。宛先サーバーは シャーディングキー によって決定され、分散テーブルを作成する際に定義されます。シャーディングキーはランダムであったり、ハッシュ関数 の出力として定義されることがあります。シャーディングに関する導入例では、rand()
をシャーディングキーとして使用し、異なるシャーディングキーを選択するタイミングと方法についてのさらなる情報を提供します。
Distributed coordination
ClickHouse Keeper はデータレプリケーションおよび分散DDLクエリ実行のためのコーディネーションシステムを提供します。ClickHouse Keeper は Apache ZooKeeper と互換性があります。
例
基本
-
スケーリングアウト の例は、データを2つのノードにシャードし、分散テーブルを使用する方法を示しています。これにより、2つのClickHouseノード上にデータが存在することになります。2つのClickHouseノードは、分散同期を提供するClickHouse Keeperも実行しています。また、3番目のノードは、ClickHouse Keeperのクオラムを完成させるためにスタンドアロンの状態でClickHouse Keeperを実行しています。
-
フォールトトレランスのためのレプリケーション の例は、データを2つのノードにレプリケートし、ReplicatedMergeTreeテーブルを使用する方法を示しています。これにより、2つのClickHouseノード上にデータが存在することになります。2つのClickHouseサーバーノードに加えて、レプリケーションを管理するための3つのスタンドアロンのClickHouse Keeperノードがあります。
中級
- 近日公開予定
上級
- 近日公開予定