Docs Menu
Docs Home
/
MongoDBマニュアル
/ / /

既存のシャード ゾーンを更新する

項目一覧

  • このタスクについて
  • 始める前に
  • NYC というゾーンにシャードを追加する
  • NYC ゾーンの郵便番号値の範囲を指定する
  • 手順
  • バランサーを停止する
  • ゾーンから現在の NYC 範囲を削除
  • NYC ゾーンのゾーンキー範囲の更新
  • バランサーを再起動する
  • 詳細

シャード ゾーンの値の範囲を指定した後、アプリケーションの要件が変更された場合は、シャード ゾーンの範囲を更新できます。

既存のシャード ゾーンを更新するには、次の手順を実行します。

  1. バランサーを停止します。

  2. ゾーンから古い範囲を削除します。

  3. ゾーンの範囲を更新します。

  4. バランサーを再起動します。

  • ゾーン範囲は、下側の境界を含み、上側の境界を含みません。

  • ゾーンを変更すると、バランサーは新しい値の範囲に基づいてチャンクを適切なゾーンに移行する必要があります。 バランシングが完了するまで、シャーディングされたクラスターに構成されたゾーンを考慮すると、いくつかのチャンクが間違ったシャードに存在する可能性があります。

このチュートリアルを完了するには、シャーディングされたコレクションを持つ シャーディングされたクラスター を配置し、変更する ゾーン を作成する必要があります。

この例では、 zipcodeフィールドでシャーディングされた、 recordsデータベース内の usersという名前のシャーディングされたコレクションを使用します。

1
sh.addShardToZone(<shard name>, "NYC")
2
sh.updateZoneKeyRange("records.users", { zipcode: "10001" }, { zipcode: "10281" }, "NYC" )

次の手順では、 NYCゾーンのzipcode値の範囲を11201から11240に変更します。

1
sh.stopBalancer()
2
sh.removeRangeFromZone("records.user", { zipcode: "10001" }, { zipcode: "10281" } )
3
sh.updateZoneKeyRange("records.users", { zipcode: "11201" }, { zipcode: "11240" }, "NYC" )
4
sh.startBalancer()

戻る

管理