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

sh.moveCollection()

이 페이지의 내용

  • 정의
  • 구문
  • 호환성
  • 고려 사항
  • 요구 사항:
  • 예제
  • 자세히 알아보기
sh.moveCollection(namespace, destination)

샤딩되지 않은 단일 컬렉션 을 다른 샤드 sh.moveCollection() 로 이동합니다. 관리 mongos 데이터베이스 를 사용하는 동안 인스턴스 로 를 실행합니다.

중요

Mongo쉬 방법

이 페이지에서는 mongosh 메서드를 설명합니다. 이는 데이터베이스 명령 또는 Node.js와 같은 언어별 드라이버에 대한 설명서가 아닙니다.

데이터베이스 명령에 대해서는 moveCollection 명령을 참조하십시오.

MongoDB API 드라이버의 경우 언어별 MongoDB 드라이버 설명서를 참조하세요.

sh.moveCollection() 의 구문은 다음과 같습니다:

sh.moveCollection( "<database>.<collection>" )

sh.moveCollection() 다음 매개변수를 사용합니다.

Parameter
유형
설명
namespace
문자열
이동할 컬렉션 의 데이터베이스 및 이름입니다.
toShard
문자열
선택 사항. 수신자 샤드 의 ID 입니다. 이동할 샤드 를 지정하지 않으면 밸런서 가 컬렉션 을 부하가 가장 적은 샤드 로 이동합니다.

이 메서드는 다음 환경에서 호스팅되는 배포에서 사용할 수 있습니다.

  • MongoDB Atlas: 클라우드에서의 MongoDB 배포를 위한 완전 관리형 서비스

참고

이 명령은 Atlas 공유 계층에서는 사용할 수 없습니다.

컬렉션 을 이동하기 전에 다음 요구 사항을 충족하는지 확인하세요.

  • 애플리케이션 은 영향을 받는 컬렉션 이 쓰기를 차단하는 2초의 기간을 허용할 수 있습니다. 쓰기가 차단되는 기간 동안 애플리케이션 의 지연 시간 이 증가합니다.

  • 데이터베이스는 다음과 같은 리소스 요구 사항을 충족합니다.

    • 컬렉션 을 이동하려는 샤드 에 컬렉션 및 해당 인덱스를 위한 충분한 저장 공간이 있는지 확인합니다. 대상 샤드 에는 최소 ( Collection storage size + Index Size ) * 2 바이트의 사용 가능한 공간이 필요합니다.

    • I/O 용량 이 50% 미만인지 확인합니다.

    • CPU 로드가 80% 미만인지 확인합니다.

중요

이러한 요구 사항은 데이터베이스에 의해 적용되지 않습니다. 충분한 리소스를 할당하지 못하면 다음과 같은 결과가 발생할 수 있습니다.

  • 데이터베이스 공간이 부족하여 종료되는 경우

  • 성능 저하

  • 작업이 예상보다 오래 걸리는 경우

애플리케이션 에 트래픽이 적은 기간이 있는 경우 가능하면 해당 기간 동안 컬렉션 에 대해 이 작업을 수행합니다.

이 예시 에서는 app 데이터베이스 의 inventory 이라는 샤딩되지 않은 컬렉션 을 shard02 샤드 로 이동합니다.

sh.moveCollection( "app.inventory", "shard02" )

사용 가능한 샤드 ID 목록을 가져오려면 sh.status() 를 실행 합니다. 자세한 내용은 sh.status() 출력을 참조하세요.

돌아가기

sh.moveChunk