Make the MongoDB docs better! We value your opinion. Share your feedback for a chance to win $100.
Click here >
Docs Menu
Docs Home
/ /

샤드 키

샤드 키는 단일 인덱싱된 필드 이거나, 클러스터의 샤드 간에 컬렉션의 문서 분포를 결정하는 복합 인덱스 로 커버되는 여러 필드입니다. 자세한 내용은 샤드 키 인덱스를 참조하세요.

MongoDB 샤드 키 값(또는 해시 샤드 키 값)의 범위를 겹치지 않는 범위로 나눕니다. 각 범위 청크 와 연결되며, MongoDB 클러스터 의 샤드 간에 청크를 균등하게 분배하려고 시도합니다.

더 작은 범위 또는 청크로 분할된 샤드 키 값 공간의 다이어그램.

mongosh 메서드 sh.shardCollection() 를 사용하여 컬렉션을 샤드 할 수 있습니다. 컬렉션 을 샤드 하려면 샤드 하려는 컬렉션 의 전체 네임스페이스 와 샤드 키 지정해야 합니다.

sh.shardCollection(<namespace>, <key>) // Optional parameters omitted

namespace

샤딩하려는 컬렉션의 전체 네임스페이스("<database>.<collection>")를 지정합니다.

key

문서 { <shard key field1>: <1|"hashed">, ... }를 지정합니다. 여기에서 문서는 다음과 같습니다.

  • 1 범위 기반 샤딩을 나타냅니다.

  • "hashed" 해시된 샤딩을 나타냅니다.

샤딩 메서드에 대한 자세한 내용은 sh.shardCollection()를 참조하세요.

샤드 키 의 선택은 사용 가능한 샤드 전체의 데이터 생성 및 배포에 영향을 줍니다. 이상적인 샤드 키 사용하면 MongoDB 클러스터 전체에 문서를 고르게 분산하는 동시에 일반적인 쿼리 패턴을 용이하게 할 수 있습니다.

자세한 내용은 샤드 키 선택 페이지를 참조하세요.

두 가지 방법으로 샤드 키 변경할 수 있습니다.

자세한 내용은 샤드 키 변경 페이지를 참조하세요.

샤드 키 필드 _id 필드 아닌 경우 컬렉션 의 모든 document 에서 샤드 키 필드 값을 변경할 수 있습니다. 이는 document 상주하는 샤드 에 영향을 미칠 수 있습니다.

자세한 내용은 문서의 샤드 키 값 변경을 참조하세요.

컬렉션 의 문서에 샤드 키 에 지정된 필드가 누락될 수 있습니다. 기본값 으로 샤드 키 에 지정된 필드가 누락된 문서는 null 값을 가진 샤드 키와 동일한 청크 범위 에 있습니다.

자세한 내용은 누락된 샤드 키 필드 설정을 참조하세요.

db.printShardingStatus() 컬렉션 에 사용된 샤드 키 표시하려면 를 사용합니다.

자세한 내용은 샤드 키 표시를 참조하세요.

최적이 아닌 샤드 키 인해 발생하는 일반적인 문제는 다음과 같습니다.

  • Jumbo chunks

  • 고르지 않은 부하 분산

  • 쿼리 성능 저하

자세한 내용은 샤드 키 문제 해결을 참조하세요.

돌아가기

라우터(mongos)

스킬 배지 획득

'샤딩 전략'을 무료로 마스터하세요!

자세한 내용을 알아보세요.

이 페이지의 내용