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" } )