データのリバランス
ClickHouse は自動シャード・リバランスをサポートしていません。ただし、優先度の高い順に、次のようなシャードのリバランス方法があります。
-
分散テーブル のシャード構成を調整し、新しいシャードへの書き込みが優先されるようにします。これによりクラスター内で負荷の不均衡やホットスポットが発生する可能性はありますが、書き込みスループットが極端に高くないほとんどのシナリオでは現実的な方法です。ユーザーが書き込み先を変更する必要はなく、書き込み先は分散テーブルのままで構いません。ただし、既存データのリバランスには役立ちません。
-
(1) の代替として、既存のクラスター構成を変更し、クラスターのバランスが取れるまで新しいシャードのみに書き込むことで、手動で書き込みの重み付けを行います。これは (1) と同じ制約があります。
-
既存データをリバランスする必要があり、かつデータをパーティション分割している場合は、パーティションをデタッチし、新しいシャードに再アタッチする前に別のノードへ手動で移動することを検討してください。これは後続の手法より手作業が多くなりますが、より高速でリソース消費も少なくて済む場合があります。手動操作であるため、データのリバランスを考慮して計画する必要があります。
-
ソースクラスターから新しいクラスターへ、INSERT FROM SELECT を介してデータをエクスポートします。これは非常に大きなデータセットに対しては高いパフォーマンスを期待できず、ソースクラスターで多大な IO を発生させる可能性があるほか、相当量のネットワークリソースを消費します。この方法は最後の手段として位置付けられます。