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