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