정의
sh.enableSharding(database, primaryShard)명시적으로 데이터베이스 만듭니다.
mongosh메서드sh.shardCollection()를 사용하여 데이터베이스 에서 컬렉션을 샤드 .mongosh메서드sh.enableSharding()는enableSharding명령을 래핑합니다.중요
Mongo쉬 방법
이 페이지에서는
mongosh메서드를 설명합니다. 이는 데이터베이스 명령이나 Node.js와 같은 언어별 드라이버에 대한 설명서가 아닙니다.데이터베이스 명령에 대해서는
enableSharding명령을 참조하십시오.MongoDB API 드라이버의 경우 언어별 MongoDB 운전자 설명서를 참조하세요.
호환성
이 메서드는 다음 환경에서 호스팅되는 배포에서 사용할 수 있습니다.
- MongoDB Atlas: cloud 에서의 MongoDB 배포를 위한 완전 managed 서비스
중요
이 명령은 M0 및 Flex 클러스터에서 지원되지 않습니다.자세한 내용은 지원되지 않는 명령을 참조하세요.
MongoDB Enterprise: MongoDB의 구독 기반 자체 관리 버전
MongoDB Community: MongoDB의 소스 사용 가능 무료 자체 관리 버전
구문
sh.enableSharding()의 형식은 다음과 같습니다.
sh.enableSharding( <database>, <primary shard> // Optional. )
Parameter
sh.enableSharding() 메서드는 다음 매개변수를 사용합니다:
Parameter | 유형 | 설명 |
|---|---|---|
문자열 | 생성하려는 데이터베이스의 이름입니다. | |
문자열 | 선택 사항입니다. 데이터베이스의 프라이머리 샤드이며 여기에는 이 데이터베이스에 대한 샤딩되지 않은 컬렉션이 포함되어 있습니다. 일반적으로 프라이머리 샤드를 명시적으로 지정하는 것보다 밸런서가 프라이머리 샤드를 대신 선택하도록 하는 것이 좋습니다. 경고 팁 일반적으로 프라이머리 샤드를 지정할 필요는 없습니다. 밸런서가 대신 프라이머리 샤드를 선택하도록 허용합니다. |
행동
쓰기 고려
mongos는 enableSharding 명령과 해당 헬퍼 sh.enableSharding()에 "majority"를 사용합니다.
프라이머리 샤드
일반적으로 명령에 프라이머리 샤드를 지정할 필요가 없습니다. 대신 밸런서 프라이머리 샤드 선택하도록 허용합니다.
그러나 데이터베이스 의 프라이머리 샤드 지정하고 데이터베이스 이미 다른 프라이머리 샤드 로 샤딩 활성화한 경우 작업은 오류를 반환하고 데이터베이스 의 프라이머리 샤드 이전과 동일하게 유지됩니다. 데이터베이스 의 프라이머리 샤드 변경하려면 movePrimary 명령을 대신 사용합니다.
예시
mongos에서 실행되는 다음 예시는 명시적으로 shardTest 데이터베이스를 생성합니다.
sh.enableSharding("shardTest")
확인하려면 sh.status()를 실행합니다.