Docs Menu

샤드 키 세분화

컬렉션의 샤드 키를 수정하면 보다 세분화된 데이터 배포가 가능하고 카디널리티가 부족하여 기존 키가 점보 청크가 되는 상황을 해결할 수 있습니다.

경고

현재 샤드 키 필드의 범위 또는 해시 유형을 수정하지 마세요. 데이터 불일치를 유발합니다. 예를 들어 샤드 키를 { customer_id: 1 }에서 { customer_id: "hashed", order_id: 1 }로 수정하지 마세요.

참고

MongoDB 5.0부터는 컬렉션의 새 샤드 키를 제공하여 컬렉션을 리샤딩할 수 있습니다. 컬렉션을 리샤딩해야 하는지 또는 샤드 키를 세분화해야 하는지 알아보려면 샤드 키 변경을 참조하세요.

컬렉션의 샤드 키를 수정하려면 refineCollectionShardKey 명령어를 사용하세요. refineCollectionShardKey(은)는 기존 키에 접미사 필드를 하나 이상 추가하여 새 샤드 키를 생성합니다.

예를 들어, test 데이터베이스에 샤드 키 { customer_id: 1 }를 가진 기존 orders 컬렉션이 있을 수 있습니다. refineCollectionShardKey 명령을 사용하여 샤드 키를 새 샤드 키 { customer_id: 1, order_id: 1 }로 변경할 수 있습니다.

db.adminCommand( {
refineCollectionShardKey: "test.orders",
key: { customer_id: 1, order_id: 1 }
} )