이 문서에서는 Azure DocumentDB 클러스터 및 작업에 대한 현재 하드 및 소프트 제한을 간략하게 설명합니다. Azure DocumentDB 배포를 효과적으로 계획하고 최적화하는 데 도움이 되는 쿼리 실행 제한, 인덱싱 제약 조건, 클러스터 구성 및 인증 경계에 대해 알아봅니다.
쿼리 및 실행 제한 사항
다음 제한은 Azure DocumentDB 클러스터의 쿼리 작업 및 명령 실행에 적용됩니다.
MongoDB 실행 제한 사항
최대 트랜잭션 수명: 30초.
커서 수명: 10분. 참고: 커서의 수명이 초과되면 cursorNotFound 오류가 발생할 수 있습니다.
기본 쿼리 실행 제한: 120초. 이 제한은 각 MongoDB 드라이버를 사용하여
maxTimeMS쿼리별로 재정의할 수 있습니다.
예시
db.collection.find({ field: "value" }).maxTimeMS(5000)
최대 MongoDB 쿼리 크기
MongoDB 쿼리의 최대 메모리 크기는 계층에 따라 달라집니다. 예를 들어 M80의 경우 쿼리 메모리 크기 제한은 약 150MiB입니다.
분할된 클러스터에서 쿼리가 여러 노드에서 데이터를 끌어오는 경우 해당 데이터 크기의 제한은 1GB입니다.
인덱싱 제한 사항
Azure DocumentDB는 다양한 인덱스 유형 및 작업에서 최적의 성능 및 리소스 사용률을 보장하기 위해 다양한 인덱싱 제한을 적용합니다.
일반 인덱싱 제한 사항
최대 복합 인덱스 필드 수: 32.
_id필드 값의 최대 크기: 2KB.인덱스 경로의 최대 크기: 256B.
기본 최대값: 64.
- 최대 구성 가능한 개수: 컬렉션당 인덱스 300개.
정렬은 메모리에서 수행되며 인덱스로 푸시다운되지 않습니다.
인덱스 정의에 포함된 개체/배열의 최대 중첩 수준: 6.
단일 인덱스 빌드는 동일한 컬렉션에서 진행 중일 수 있습니다.
여러 컬렉션에서 동시 인덱스 빌드 수를 구성할 수 있습니다(기본값: 2).
currentOp명령을 사용하여 장기 실행 인덱스 빌드의 진행률을 확인합니다.고유 인덱스 빌드는 컬렉션의 포그라운드 및 블록 쓰기에서 수행됩니다.
와일드카드 인덱싱 제한 사항
- 와일드카드 인덱스의 경우 인덱싱된 필드가 배열의 배열이면 포함된 전체 배열은 내용을 트래버스하는 대신 값으로 사용됩니다.
지리 공간적 인덱싱 제한 사항
BigPolygons는 지원되지 않습니다.
복합 인덱스는 지리 공간적 인덱스를 지원하지 않습니다.
$geoWithin쿼리는 구멍이 있는 다각형을 지원하지 않습니다.key필드는$geoNear집계 스테이지에서 필요합니다.인덱스는 권장되지만
$near,$nearSphere쿼리 연산자 및$geoNear집계 스테이지에는 필요하지 않습니다.
텍스트 인덱스 제한 사항
컬렉션에 하나의 텍스트 인덱스만 정의할 수 있습니다.
간단한 텍스트 검색만 지원하며 정규식 검색과 같은 고급 검색 기능은 지원되지 않습니다.
hint()는$text식을 사용하는 쿼리와 함께 지원되지 않습니다.정렬 작업은 텍스트 인덱스의 순서를 사용할 수 없습니다.
중국어, 일본어, 한국어에 대한 토큰화는 지원되지 않습니다.
대/소문자를 구분하지 않는 토큰화는 지원되지 않습니다.
벡터 검색 제한 사항
크기가 최대 16,000차원인 인덱싱 벡터(제품 양자화 사용)
인덱싱은 경로당 하나의 벡터에만 적용됩니다.
벡터 패스당 하나의 인덱스만 만들 수 있습니다.
HNSW및DiskANN는 M30 이상 클러스터 계층에서 사용할 수 있습니다.
클러스터 및 샤드 제한 사항
Azure DocumentDB는 최적의 성능 및 리소스 할당을 보장하기 위해 클러스터 구성, 물리적 분할 및 컬렉션 관리에 특정 제한을 적용합니다.
클러스터 계층
- 최대: 물리적 샤드당 M200 / 64 vCores / 256-GiB RAM.
물리적 분할
- 최대: 10.
컬렉션 제한점
클러스터당 컬렉션: 1,000
분할되지 않은 컬렉션 크기: 32TiB
보조 지역
- 최대값: 보조 지역 1개.
무료 계층 제한 사항
다음 제한 사항은 유료 계층으로 업그레이드하면 무시될 수 있음
최대 스토리지 용량: 32GiB.
백업/복원이 지원되지 않음(M25 이상에서 사용 가능)
HA(고가용성)가 지원되지 않음(M30 이상에서 사용 가능)
HNSW(계층적 탐색 가능 Small World) 벡터 인덱스가 지원되지 않음(M40 이상에서 사용 가능)
진단 로깅이 지원되지 않음(유료 계층에서만 사용 가능)
Microsoft Entra ID가 지원되지 않음
서비스 수준 계약이 제공되지 않음(HA를 사용하도록 설정해야 함)
무료 계층 클러스터는 클러스터에 연결되지 않은 상태로 60일 동안 활동이 없으면 일시 중지됩니다.
유료 계층 계정에서 무료 계층 계정으로의 전환은 지원되지 않습니다.
계층 제한
M10, M20 및 M25 서비스 계층에는 다음과 같은 제한 사항이 있습니다.
하나의 물리적 분할(노드)만 지원합니다.
개발/테스트 사용 사례용으로 설계됨; HA(지역 내 고가용성)는 지원되지 않습니다.
지원되는 스토리지 크기에는 32GiB, 64GiB 및 128GiB가 포함됩니다.
클러스터가 M30 계층 이상으로 확장되면 클러스터는 M10, M20 또는 M25 컴퓨팅 계층으로 다시 축소될 수 없습니다.
고객 관리형 키 데이터 암호화 제한 사항
다음은 Azure DocumentDB에서 CMK(고객 관리형 키) 를 구성하기 위한 현재 제한 사항입니다.
Azure Key Vault 및 사용자 할당 관리 ID의 인스턴스는 Azure DocumentDB 클러스터와 동일한 Azure 지역 및 동일한 Microsoft 테넌트에 있어야 합니다.
클러스터를 만든 후에는 데이터 암호화 모드를 시스템 관리형 키에서 고객 관리형 키로 또는 그 반대로 변경할 수 없습니다.
- 복제본 클러스터를 만들거나 클러스터 복원을 수행하고 다른 암호화 모드를 선택할 수 있습니다.
CMK를 사용하도록 설정된 클러스터에서는 물리적 분할 추가 작업이 지원되지 않습니다.
복제 및 지역 내 고가용성 제한
Azure DocumentDB는 다양한 배포 시나리오에서 데이터 일관성 및 성능을 보장하기 위해 특정 제한 사항이 있는 기본 제공 복제 및 HA(고가용성) 기능을 제공합니다.
지역 간 및 동일한 지역 복제
다음 구성은 주 클러스터와 복제본 클러스터 모두에서 동일하며 복제본 클러스터에서 변경할 수 없습니다.
스토리지 및 물리적 분할 수
사용자 계정
복제본 클러스터에서는 다음 기능을 사용할 수 없습니다.
PITR (Point-in-time Restore, 특정 시점 복원)
지역 내 고가용성 (High Availability, HA)
버스트 가능한 컴퓨팅 또는 무료 계층 클러스터가 있는 클러스터에서는 복제를 사용할 수 없습니다.
인증 및 액세스 제어(역할 기반 액세스 제어)
Azure DocumentDB는 사용자 계정 및 역할 간에 보안을 유지하고 리소스 할당을 관리하기 위해 인증 및 액세스 제어 제한을 적용합니다.
- 클러스터당 최대 100개의 총 사용자/역할을 만들 수 있습니다.
Microsoft Entra ID 인증
Microsoft Entra ID 인증 기능에는 다음과 같은 현재 제한 사항이 있습니다.
이 기능은 Microsoft Entra ID 그룹을 지원하지 않습니다.
네이티브 DocumentDB 인증 방법을 사용하지 않도록 설정하면 Azure Portal의 빠른 시작에서 MongoDB 셸이 지원되지 않습니다.
- Azure Portal 외부에서 Microsoft Entra ID 인증과 함께 MongoDB Shell을 사용할 수 있습니다.
기본 DocumentDB 보조 사용자
네이티브 보조 사용자 기능에는 다음과 같은 제한 사항이 있습니다.
이제 명령은
Updateuser암호 업데이트만 지원하며 다른 개체 필드를 수정할 수 없습니다.이
Roleinfo명령은 지원되지 않습니다. 또는usersInfo를 사용할 수 있습니다.특정 데이터베이스 또는 컬렉션에 역할을 할당하는 것은 지원되지 않으며 클러스터 수준만 지원됩니다.
기타 제한 사항
Azure DocumentDB에는 클러스터 관리 및 기능의 다양한 측면에 적용되는 더 많은 운영 및 기능별 제한이 있습니다.
Portal Mongo 셸 사용
- Portal Mongo 셸은 24시간 내에 120분 동안 사용할 수 있습니다.
문서 크기 및 깊이
최대 BSON(이진 JavaScript 개체 표기법) 문서 크기: 문서당 16MB
고정된 최대 중첩 깊이 제한이 적용되지 않습니다.
- 깊이 중첩된 문서 구조는 쿼리 및 읽기 성능에 영향을 미치고 처리 오버헤드를 증가시키며 유지 관리 가능성을 줄일 수 있습니다.
Batch 제한
일괄 처리 작업 유형(쓰기 및 대량)이 모두 지원됩니다.
- 일괄 처리는 서버에 대한 단일 요청을 참조합니다.
일괄 처리 작업당 최대 쓰기 수: 25,000개 쓰기
25,000개의 쓰기를 초과하는 일괄 처리 작업이 실패합니다.
일괄 처리 작업의 총 수에 제한이 없습니다.