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 番目のテーブルは、データベース テーブルごとの進行状況を、名前、影響を受けるシャード数、影響を受けるデータのサイズ、および再調整の状態と共に示します。

[最新の情報に更新] を選択して、ページを更新します。 再調整が完了すると、この時点では再調整は推奨されませんというメッセージが表示されます。

次の手順