enableSharding
정의
enableSharding
참고
버전 6.0에서 변경되었습니다.
MongoDB 부터는 6.0 컬렉션 을 샤드 하는 데 이 명령이 필요 하지 않습니다 .
enableSharding
명령은 데이터베이스를 명시적으로 생성합니다.팁
mongosh
에서 이 명령을sh.enableSharding()
헬퍼 메서드를 통해서도 실행할 수 있습니다.헬퍼 메서드는
mongosh
사용자에게 편리하지만 데이터베이스 명령과 동일한 수준의 정보를 반환하지 못할 수 있습니다. 편의가 필요하지 않거나 추가 리턴 필드가 필요한 경우 데이터베이스 명령을 사용합니다.
호환성
이 명령은 다음 환경에서 호스팅되는 배포에서 사용할 수 있습니다.
MongoDB Atlas: 클라우드에서의 MongoDB 배포를 위한 완전 관리형 서비스
중요
이 명령은 서버리스 인스턴스에서는 지원되지 않습니다. 자세한 내용은 지원되지 않는 명령을 참조하세요.
MongoDB Enterprise: MongoDB의 구독 기반 자체 관리 버전
MongoDB Community: MongoDB의 소스 사용 가능 무료 자체 관리 버전
구문
명령은 다음과 같은 구문을 가집니다:
권장. 생성할 데이터베이스를 지정합니다:
db.adminCommand( { enableSharding: "<database name>" } ) 선택적으로 명령에 프라이머리 샤드 사양을 포함할 수 있지만, 이는 권장되지 않습니다.
db.adminCommand( { enableSharding: "<database name>", primaryShard: "<shard name>" } )
enableSharding
인스턴스의 admin
데이터베이스에 대해서만 명령을 mongos
실행할 수 있습니다.
명령 필드
이 명령은 다음 필드를 사용합니다.
필드 | 유형 | 설명 |
---|---|---|
문자열 | 사용하려는 데이터베이스. 데이터베이스가 존재하지 않는 경우 생성됩니다. | |
문자열 | 선택 사항. 데이터베이스 의 프라이머리 샤드 입니다. 데이터베이스 의 모든 샤딩되지 않은 컬렉션에 대한 기본값 샤드 입니다. 경고: 일반적으로 프라이머리 샤드 를 지정해서는 안 됩니다. 클러스터 가 대신 프라이머리 샤드 를 선택하도록 허용합니다. |
반환
이 명령은 작업 상태가 포함된 문서를 반환합니다.
행동
쓰기 고려
mongos
"majority"
enableSharding
은(는) 명령과 해당 헬퍼 sh.enableSharding()
에 을(를) 사용합니다.
프라이머리 샤드
일반적으로 명령에 프라이머리 샤드를 지정할 필요가 없습니다. 대신 밸런서가 프라이머리 샤드를 선택하도록 허용합니다.
그러나 데이터베이스 에 대한 명령에서 프라이머리 샤드 를 지정하고 데이터베이스가 이미 다른 프라이머리 샤드로 샤딩을 활성화한 경우, 작업은 오류를 반환하고 데이터베이스의 프라이머리 샤드는 이전과 동일하게 유지됩니다. 데이터베이스의 프라이머리 샤드를 변경하려면 movePrimary
을 대신 사용합니다.
예시
mongos
에서 실행되는 다음 명령은 shardTest
데이터베이스를 생성합니다.
db.adminCommand( { enableSharding: "shardTest" } )