メインコンテンツまでスキップ

ClickHouse 高可用性

Q1. ClickHouse クラスターで High Availability (HA) を有効にするとどうなりますか?

回答: High Availability (HA) を有効にして ClickHouse データベースクラスターを作成すると、サービスは各シャードに対してレプリカを自動的に作成します。ただし、レプリケーション機能を使用するには、ユーザーはレプリケーションをサポートするテーブルを作成する必要があります。詳細については、ClickHouse の公式ドキュメント Replicated* table engines | ClickHouse Doc を参照してください。 レプリケーションは MergeTree ファミリーのテーブルでのみサポートされており、以下のテーブルタイプが含まれます。

  • ReplicatedMergeTree
  • ReplicatedSummingMergeTree
  • ReplicatedReplacingMergeTree
  • ReplicatedAggregatingMergeTree
  • ReplicatedCollapsingMergeTree
  • ReplicatedVersionedCollapsingMergeTree
  • ReplicatedGraphiteMergeTree

Q2. レプリケーションはサーバーレベルで適用されますか、それともテーブルレベルで適用されますか?

回答: レプリケーションはサーバーレベルではなく、テーブルレベルで動作します。これは、単一のサーバーがレプリケーションされたテーブルとされていないテーブルの両方を同時にホストできることを意味します。

Q3. ClickHouse において、レプリケーションはシャーディングに依存しますか?

回答: いいえ。レプリケーションはシャーディングから独立しています。各シャードは、他のシャードとは別に独自のレプリケーションメカニズムを管理します。 例えば、ReplicatedMergeTree ではなく MergeTree を使用してテーブルを作成した場合、HA が有効になっていても、そのテーブルはレプリケーションされません。データは書き込み要求を受け取ったノードにのみ書き込まれます。