Azure Cosmos DB for PostgreSQL のクラスター内のシャードの再調整
適用対象: Azure Cosmos DB for PostgreSQL (PostgreSQL の Citus データベース拡張機能を利用)
新しく追加したノードを利用するには、分散テーブルのシャードを再調整します。 再調整により、シャードが既存のノードから新しいノードに移動します。 Azure Cosmos DB for PostgreSQL では、ダウンタイムなしで再調整できます。つまり、シャードの再調整をクエリを中断させることなく続行できます。
クラスターのバランスが取れているかどうかを判断する
Azure portal では、クラスター内のワーカー ノード間でデータが均等に分散されているかどうかがわかります。 [クラスター管理] メニューで、[シャード リバランサー] を選択します。
ワーカー間でデータがずれている場合: 各ノードのサイズの一覧と共に、再調整が推奨されますというメッセージが表示されます。
データのバランスが取れている場合: この時点では再調整は推奨されませんというメッセージが表示されます。
シャード リバランサーを実行する
シャード リバランサーを起動するには、クラスターのコーディネーター ノードに接続し、分散テーブルで rebalance_table_shards SQL 関数を実行します。
関数により、引数に指定したテーブルのコロケーション グループ内にあるすべてのテーブルが再調整されます。 すべての分散テーブルに対して関数を呼び出す必要はありません。 代わりに、各コロケーション グループの代表的なテーブルに対して呼び出します。
SELECT rebalance_table_shards('distributed_table_name');
再調整の進行状況を監視する
Azure portal から再調整の進行状況を表示できます。 [クラスター管理] メニューで、[シャード リバランサー] を選択します。 再調整中ですというメッセージは、次の 2 つの表と共に表示されます。
- 最初の表は、ノードとの間を移動するシャードの数を示します。 たとえば、"6/24 が移動しました" などです。
- 2 番目のテーブルは、データベース テーブルごとの進行状況を、名前、影響を受けるシャード数、影響を受けるデータのサイズ、および再調整の状態と共に示します。
[最新の情報に更新] を選択して、ページを更新します。 再調整が完了すると、この時点では再調整は推奨されませんというメッセージが表示されます。
次の手順
- クラスターのパフォーマンス オプションに関する詳細情報を学びます。
- クラスターのスケールアップまたはスケールアウト
- rebalance_table_shards リファレンス資料を参照する