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 が有効になっていても、そのテーブルはレプリケーションされません。データは書き込み要求を受け取ったノードにのみ書き込まれます。