Docs Menu
Docs Home
/
MongoDB 매뉴얼
/ /

샤딩된 클러스터의 운영 제한 사항

이 페이지의 내용

  • 샤딩 운영 제한
  • 기존 컬렉션 데이터 크기 샤딩

$where$where 함수에서 db 객체에 대한 참조를 허용하지 않습니다. 비 샤드형 컬렉션에서는 이런 일이 흔하지 않습니다.

geoSearch 명령은 샤딩된 환경에서는 지원되지 않습니다.

MongoDB 5.0 이전까지는 $lookup 단계의 from 파라미터에 샤드된 컬렉션을 지정할 수 없습니다.

multi: false 또는 justOne 옵션을 지정하는 분할된 컬렉션에 대해 updateOne()deleteOne() 작업 사용 방법:

  • 하나의 샤드만 대상으로 하는 경우 쿼리 사양에서 부분 샤드 키를 사용할 수 있습니다.

  • 쿼리 사양에서 샤드 키 또는 _id 필드를 제공할 수 있습니다.

findOneAndUpdate()를 샤드 컬렉션과 함께 사용하려면 쿼리 필터에 샤드 키에 대한 동일성 조건이 포함되어 키와 값을 이러한 형식 중 하나로 비교해야 합니다.

{ key: value }
{ key: { $eq: value } }

고유 인덱스에 전체 샤드 키가 인덱스의 접두사로 포함된 경우를 제외하고, MongoDB는 샤드 간 고유 인덱스를 지원하지 않습니다. 이러한 상황에서 MongoDB는 단일 필드가 아닌 전체 키에 고유성을 적용합니다.

참조:

기존 컬렉션은 크기가 특정 제한을 초과하지 않는 경우에만 샤딩할 수 있습니다. 이러한 제한은 모든 샤드 키 값의 평균 크기와 구성된 청크 크기를 기반으로 추정할 수 있습니다.

중요

이러한 제한은 초기 샤딩 작업에만 적용됩니다. 샤딩을 성공적으로 활성화한 후에는 샤드 컬렉션을 원하는 크기로 늘릴 수 있습니다.

MongoDB는 컬렉션의 문서를 배포하여 생성 시 각 청크가 절반이 되도록 합니다. 다음 공식을 사용하여 이론적 최대 컬렉션 크기를 계산합니다.

maxSplits = 16777216 (bytes) / <average size of shard key values in bytes>
maxCollectionSize (MB) = maxSplits * (chunkSize / 2)

참고

최대 BSON 문서 크기는 16MB 또는 16777216 바이트입니다.

모든 전환은 기본2 배율을 사용해야 합니다. 1024 킬로바이트 = 1 메가바이트.

maxCollectionSize 이 대상 컬렉션보다 작거나 거의 같은 경우 청크 크기를 늘려 초기 샤딩이 성공할 수 있도록 합니다. 계산 결과가 대상 컬렉션 크기에 너무 '가까운'지 확실하지 않은 경우 청크 크기를 늘리는 것이 좋습니다.

초기 샤딩에 성공한 후에는 필요에 따라 청크 크기를 줄일 수 있습니다. 나중에 청크 크기를 줄이는 경우 모든 청크가 새 크기로 분할되는 데 시간이 걸릴 수 있습니다. 청크 크기 수정에 대한 지침 은 샤드 클러스터에서 청크 크기 수정을 참조하세요.

이 표는 위에서 설명한 공식을 사용하여 대략적인 최대 컬렉션 크기를 보여줍니다.

샤드 키 값의 평균 크기
512 바이트
256 바이트
128 바이트
64 바이트

최대 분할 수

32,768

65,536

131,072

262,144

최대 컬렉션 크기(64 MB 청크 크기)

1 TB

2 TB

4 TB

8 TB

최대 컬렉션 크기(128 MB 청크 크기)

2 TB

4 TB

8 TB

16 TB

최대 컬렉션 크기(256 MB 청크 크기)

4 TB

8 TB

16 TB

32 TB

돌아가기

참조