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

unshardCollection

이 페이지의 내용

  • 정의
  • 호환성
  • 제한 사항
  • 구문
  • 명령 필드
  • 고려 사항
  • 요구 사항:
  • 예제
unshardCollection

기존의 샤딩된 컬렉션 을 언샤드하고 컬렉션 데이터를 단일 샤드 로 이동합니다. 컬렉션 의 샤딩을 해제하면 컬렉션 을 여러 샤드 로 분할할 수 없으며 샤드 키 가 제거됩니다.

버전 8.0에 추가 되었습니다.

mongosh 에서 이 명령은 sh.unshardCollection() 을(를) 통해 실행 수도 있습니다.

헬퍼 메서드는 mongosh 사용자에게 편리하지만 데이터베이스 명령과 동일한 수준의 정보를 반환하지 못할 수 있습니다. 편의가 필요하지 않거나 추가 리턴 필드가 필요한 경우 데이터베이스 명령을 사용합니다.

이 명령은 admin 데이터베이스 에서 실행 되어야 합니다.

참고

컬렉션 의 샤딩 해제는 쓰기 집약적인 작업으로 oplog 성장률이 증가할 수 있습니다. 이를 완화하려면 다음과 같은 구성 변경을 고려하세요.

  • oplog 의 무제한 증가를 방지하려면 고정된 oplog 크기를 설정하다 합니다.

  • 세컨더리가 오래될 가능성을 줄이려면 oplog 크기를 늘리세요.

자세한 내용은 복제본 세트 Oplog를 참조하세요.

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

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

중요

이 명령은 공유 또는 서버리스 인스턴스에서 실행 수 없습니다. 자세한 내용은 지원되지 않는 명령을 참조하세요.

다음에는 unshardCollection 을(를) 사용할 수 없습니다.

db.adminCommand( {
unshardCollection: "<database>.<collection>",
toShard: "<shard-id>"
} )
필드
유형
필요성
설명
unshardCollection
문자열
필수 사항
샤딩을 해제할 데이터베이스 및 컬렉션 을 지정합니다.
toShard
문자열
옵션

수신자 샤드 ID 를 지정합니다. MongoDB 가 컬렉션 을 샤딩 해제하면 컬렉션 데이터를 현재 샤드에서 이 특정 샤드 로 이동합니다.

지정하지 않으면 클러스터 는 데이터 양이 가장 적은 샤드 를 선택합니다.

컬렉션 의 샤딩을 해제하기 전에 다음 요구 사항을 충족하는지 확인하세요.

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

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

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

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

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

다음 예시 에서는 sales.eu_accounts 컬렉션 을 샤딩 해제합니다.

db.adminCommand( {
unshardCollection: "sales.eu_accounts"
} )

다음 예시 에서는 sales.us_accounts 컬렉션의 샤딩을 해제하고 컬렉션 데이터를 shard1 에 배치합니다.

db.adminCommand( {
unshardCollection: "sales.eu_accounts",
toShard: "shard1"
} )

돌아가기

unsetSharding