Docs Menu
Docs Home
/
MongoDB 매뉴얼
/ / /

기존 샤드 구역 업데이트

이 페이지의 내용

  • 이 작업에 대하여
  • 시작하기 전에
  • NYC라는 구역 에 샤드 추가
  • NYC 구역 의 우편번호 값 범위 지정
  • 단계
  • 밸런서 중지
  • 구역 에서 현재 NYC 범위 제거
  • NYC 구역 의 구역 키 범위 업데이트
  • 밸런서 다시 시작
  • 자세히 알아보기

샤드 구역의 값 범위를 지정한 후 애플리케이션의 요구 사항이 변경되면 샤드 구역의 범위를 업데이트할 수 있습니다.

기존 샤드 구역 을 업데이트 하려면 다음 단계를 수행합니다.

  1. 밸런서 를 중지합니다.

  2. 구역 에서 이전 범위 를 제거합니다.

  3. 구역의 범위를 업데이트합니다.

  4. 밸런서 를 다시 시작합니다.

  • 구역 범위에는 하한 경계가 포함되고 상한 경계는 제외됩니다.

  • 구역 을 수정한 후에는 밸런서 가 새 값 범위 에 따라 청크를 적절한 구역으로 마이그레이션 해야 합니다. 밸런싱이 완료될 때까지, 샤드 샤딩된 클러스터 에 대해 구성된 구역을 고려할 때 일부 청크가 잘못된 샤드 에 있을 수 있습니다.

이 튜토리얼을 완료하려면 샤딩된 컬렉션 이 있는 샤딩된 클러스터 를 배포 하고 수정할 구역 을 만들어야 합니다.

이 예시 에서는 records 데이터베이스 에서 zipcode 필드 에 의해 샤딩된 된 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()

돌아가기

관리