Docs Menu
Docs Home
/
데이터베이스 매뉴얼
/

MongoDB 7.0 릴리스 노트

이 페이지에서는 MongoDB 7.0에 도입된 변경 사항과 새로운 기능에 대해 설명합니다.

MongoDB 7.0 은 메이저 릴리스이므로 MongoDB Atlas 와 온프레미스 배포 모두에서 지원됩니다. MongoDB 7.0 에는 MongoDB Rapid Release 6.1, 6.2 및 6.3 에 도입된 변경 사항이 포함되어 있습니다. 이 페이지에서는 해당 Rapid Release 및 MongoDB 7 에 도입된 변경 사항에 대해 설명합니다.0.

Major 릴리스와 Rapid Release의 차이점에 학습 보려면 MongoDB 버전 관리를 참조하세요.

경고

과거 릴리스 제한 사항

아래의 중요 권고 사항은 일부 이전 MongoDB 버전에 영향을 미칩니다. 중요 권고 사항의 영향을 받는 기능을 기반으로 배포하는 경우 사용 가능한 최신 패치 릴리스로 업그레이드하세요.

이슈
영향을 받는 버전

SERVER-94559

7.0.0 - 7.0.15

7.0.0 - 7.0.2

7.0.0 - 7.0.2

7.0.0 - 7.0.5

7.0.0 - 7.0.5

7.0.0 - 7.0.6

7.0.0 - 7.0.7

7.0.0 - 7.0.15

이 출시하다 에는 보안 또는 안정성 개선 사항이 포함되어 있습니다. 이 출시하다 노트는 추가 정보가 제공되면 업데이트됩니다.

수정된 문제:

수정된 문제:

  • 서버-81797: 시간 초과를 지원 원자 notify()wait() 의 이식 가능한 직접 구현 만듭니다.

  • SERVER-86656: 리더에 최적화된 리더-라이터 뮤텍스를 생성합니다.

  • SERVER-95324: chunkMigrationConcurrency 비활성화

  • SERVER-101581: ASIO에서 연결을 수락하기 전에 소켓 상태 확인합니다.

  • 서버-103934: FCBIS는 메모리 유출 없이 KVEngine::cleanShutdown을 호출할 수 있어야 합니다.

  • 7.0.23에서 모든 JIRA 문제가 종료됨

  • 7.0.23 변경 로그

수정된 문제:

수정된 문제:

  • 서버-92806: 계획 캐시 항목이 $elemMatch를 사용한 인덱스 정렬을 무시합니다.

  • SERVER-95672: 하위 배열이 포함된 배열 필드의 인덱스에 일부 결과가 포함되지 않습니다.

  • SERVER-97044: 구역 샤딩을 사용 중이거나 사용했던 컬렉션을 재샤딩 또는 샤딩 해제 중에 change streams가 잘못된 'drop' 이벤트를 출력하는 문제를 수정했습니다.

  • WT-12012: verbose 수준을 높인 후 gen_drain이 정상 상태로 복귀하면 원래 verbose 수준을 복구합니다.

  • WT-13216: 컴팩트에서 캐시 제거 검사 사용 평가

  • 7.0.21에서 모든 JIRA 문제가 종료됨

  • 7.0.21 변경 로그

중요

불완전한 데이터를 잘못 처리하여 mongos 새 연결을 수락하지 못할 수 있는 문제를 수정했습니다.

CVE-2025-6714로 인해 7.0.20 이전의 MongoDB 7.0 에서, MongoDB Server의 mongos 구성 요소는 불완전한 데이터를 잘못 처리하여 새 연결에 응답하지 않을 수 있습니다. 이 문제는 지정된 포트에서 HAProxy 을(를) 사용하는 mongos 에 대한 로드 밸런서 지원 으로 구성된 샤딩된 MongoDB 클러스터에 영향을 미칩니다.

이 문제는 다음 MongoDB Server 버전에 영향을 미칩니다.

  • 8.0.0 - 8.0.8

  • 7.0.0 - 7.0.19

  • 6.0.0 - 6.0.22

CVSS 점수: 7.5

CWE: CWE-834 과도한 반복 및 CWE-400 제어되지 않는 리소스 소비

수정된 문제:

중요

MongoDB Server $mergeCursors 단계로 인해 권한 에스컬레이션에 취약할 수 있습니다.

7.0.19 이전의 MongoDB 7.0 에서 CVE-2025-6713로 인해 $mergeCursors 단계의 부적절한 처리로 인해 권한이 없는 사용자가 특수하게 조작된 집계 파이프라인 활용하여 적절한 권한 부여 없이 데이터에 액세스 수 있습니다. MongoDB Server. 이로 인해 추가 권한 부여 부여 없이 데이터에 액세스 할 수 있습니다.

이 문제는 다음 MongoDB Server 버전에 영향을 미칩니다.

  • 8.0.0 - 8.0.6

  • 7.0.0 - 7.0.18

  • 6.0.0 - 6.0.21

CVSS 점수: 7.7

CWE: CWE-285: 부적절한 권한 부여

수정된 문제:

  • 서버-106752 MongoDB Server $mergeCursors 단계로 인해 권한 에스컬레이션에 취약할 수 있습니다.

수정된 문제:

  • 서버-82037 정렬기 유출에 사용되는 메모리가 제한 없이 증가할 수 있습니다.

  • 서버-90689 경고를 표시하기 전에 프로세스 수준 설정도 확인하도록 THP 스타트업 경고 검사를 변경합니다.

  • 서버-95452 업데이트 및 삭제 중에 CollectionRoutingInfoTargeter가 모든 청크 범위를 반복하지 못하도록 합니다.

  • 서버-98720 "실행 계획 오류" 경고 로그에 누락된 redact() 호출 추가

  • 서버-100901 ShardingTaskExecutor에서 tassert하도록 사용자 다이제스트 불변성을 완화합니다.

  • 7.0.18에서 모든 JIRA 문제가 종료됨

  • 7.0.18 변경 로그

중요

MongoDB 서버 OIDC 인증의 사전 인증 서비스 거부 취약점

CVE-2025-6709로 인해 7.0.17 이전의 MongoDB 7.0 에서, MongoDB Server OIDC 인증 사용할 때 JSON 입력의 특정 날짜 값을 부적절하게 처리하여 서비스 거부 취약점에 취약합니다. 이는 Mongo 셸 사용하여 악의적인 JSON 페이로드를 전송하여 불변성 장애 및 서버 충돌을 유발하는 현상을 재현할 수 있습니다.

이 문제는 다음 MongoDB Server 버전에 영향을 미칩니다.

  • 8.0.0 - 8.0.4

  • 7.0.0 - 7.0.16

동일한 문제가 MongoDB Server v6.0에도 영향을 미치지만, 공격자는 인증 후에만 서비스 거부를 유도할 수 있습니다. 이 문제는 다음 MongoDB Server 버전에 영향을 미칩니다.

  • 6.0.0 - 6.0.20

CVSS 점수: 7.5

CWE: CWE-20: 잘못된 입력 유효성 검사

중요

MongoDB 에서 과도한 재귀를 통한 JSON 구문 분석의 사전 인증 서비스 Stack Overflow 오버플로 취약점

CVE-2025-6710로 인해 7.0.17 이전의 MongoDB 7.0 에서, MongoDB Server JSON 구문 분석 메커니즘으로 인해 Stack Overflow 에 취약할 수 있으며, 특별히 조작된 JSON 입력은 불필요한 수준의 재귀를 유발하여 과도한 스택 공간 소비를 초래할 수 있습니다. 이러한 입력으로 인해 Stack Overflow 로가 발생하여 서버 충돌하여 사전 인증이 발생할 수 있습니다.

이 문제는 다음 MongoDB Server 버전에 영향을 미칩니다.

  • 8.0.0 - 8.0.4

  • 7.0.0 - 7.0.16

동일한 문제가 MongoDB Server v6.0에도 영향을 미치지만, 공격자는 인증 후에만 서비스 거부를 유도할 수 있습니다. 이 문제는 다음 MongoDB Server 버전에 영향을 미칩니다.

  • 6.0.0 - 6.0.20

CVSS 점수: 7.5

CWE: CWE-674: 제어되지 않는 재귀

수정된 문제:

수정된 문제:

중요

null 바이트의 부적절한 중화로 인해 MongoDB Server 에서 버퍼 오버 읽기가 발생할 수 있습니다.

7.0.15 이전의 MongoDB 7.0 에서는 권한이 부여된 사용자가 MongoDB Server 에서 잘못된 BSON 구성하는 특수하게 조작된 요청을 발행하여 충돌을 트리거하다 서버 메모리의 버퍼 오버 읽기 내용을 수신할 수 있습니다.

이 문제는 MongoDB Server 버전에 영향을 미칩니다.

  • 5.0.0 - 5.0.29

  • 6.0.0 - 6.0.18

  • 7.0.0 - 7.0.14

  • 8.0.0 - 8.0.1

수정된 문제:

중요

CSFLE 및 Queryable Encryption 자체 조회가 하위 파이프라인의 값을 암호 텍스트 대신 일반 텍스트로 전송할 수 있는 문제 수정

CVE-2024-8013로 인해, 7.0.12 이전의 MongoDB 7.0 에서는 특정 복잡한 자체 참조 $lookup 하위 파이프라인의 쿼리 분석 버그로 인해 전송되는 암호화됨 필드에 대한 표현식에 리터럴 값이 발생할 수 있습니다. 서버 에 연결합니다.

이 경우 문서는 반환되거나 기록되지 않습니다. 이 문제는 다음 MongoDB Server 버전의 mongocryptd 바이너리 및 mongo_crypt_v1 공유 라이브러리에 영향을 줍니다.

  • 7.3.0 - 7.3.3

  • 7.0.0 - 7.0.11

  • 6.0.0 - 6.0.16

  • 5.0.0 - 5.0.28

CVSS 점수: 2.2

CWE: CWE-319: 민감한 정보의 일반 텍스트 전송

수정된 문제:

  • SERVER-96254 CSFLE 및 Queryable Encryption 자체 조회가 하위 파이프라인의 값을 암호화하지 못할 수 있음

  • SERVER-64574 MozJS/Spidermonkey를 최신 ESR로 업그레이드

  • 서버-86674 프라이머리 캐치업은 캐치업되지 않은 경우에도 캐치업된 것으로 간주할 수 있습니다.

  • 서버-90485 $sort는 includeArrayIndex와 함께 사용할 때 예상대로 작동하지 않습니다.

  • 서버-91362 성능: 캐시된 JsExecution이 있는 경우 JS "범위" 객체를 복사하지 마세요.

  • WT-12736 준비된 업데이트로 페이지를 다시 인스턴스화한 후 페이지를 클린으로 표시합니다.

  • 7.0.12에서 모든 JIRA 문제가 종료됨

  • 7.0.12 변경 로그

수정된 문제:

수정된 문제:

수정된 문제:

수정된 문제:

중요

MongoDB Server가 신뢰할 수 없는 연결에 성공할 수 있는 문제를 수정했습니다.

CVE-2024-1351 로 인해 7.0.6 이전의 MongoDB 7.0 에서, --tlsCAFileCAFile 의 특정 구성에서 MongoDB Server는 피어 인증서 유효성 검사를 건너뛸 수 있으며, 이로 인해 신뢰할 수 없는 연결이 성공할 수 있습니다.

이렇게 하면 TLS에서 제공하는 보안 보장과 인증서 유효성 검사 실패로 인해 닫아야 하는 열린 연결이 효과적으로 줄어들 수 있습니다. 이 문제는 다음 MongoDB Server 버전에 영향을 미칩니다.

  • 7.0.0 - 7.0.5

  • 6.0.0 - 6.0.13

  • 5.0.0 - 5.0.24

  • 4.4.0 - 4.4.28

CVSS 점수: 8.8

CWE: CWE-295: 부적절한 인증서 유효성 검사

수정된 문제:

수정된 문제:

수정된 문제:

수정된 문제:

  • SERVER-77506 샤딩된 다중 문서 트랜잭션은 데이터와 ShardVersion이 일치하지 않을 수 있음

  • SERVER-79088 0개의 결과를 반환하는 쿼리에 대한 SBE 다중 플래너 성능 개선

  • SERVER-81106 수신자 샤드가 복제 단계를 시작하기 전에 컬렉션 버전이 로컬로 유지될 때까지 기다리지 않음

  • SERVER-81966 새로 고침하는 동안 이전 ChunkMap 인스턴스 수정을 방지합니다

  • WT-11564 최신 트랜잭션 값이 체크포인트에 존재할 때만 읽도록 RTS를 수정함

  • 7.0.3에서 모든 Jira 이슈 종료

  • 7.0.3 ChangeLog

수정된 문제:

  • SERVER-74954 포함된 $or가 $elemMatch 예비 조건을 다시 작성하면 잘못된 결과가 발생함

  • SERVER-79771 NetworkInterfaceExceededTimeLimit에 대한 리샤딩 작업의 복원력 향상

  • SERVER-79912 CheckReplDBHash가 잘못된 BSON으로 인해 system.buckets 수집에 실패 보고

  • SERVER-79982 일괄 처리된 카탈로그 작성기가 HistoricalCatalogIdTracker::cleanup()과 동시에 실행되어 잘못된 PIT 찾기 결과를 초래할 수 있음

  • SERVER-80488 분산 장치 분할 청크 정책에서 라우팅 테이블 트래버스 방지

  • 7.0.2에서 모든 Jira 이슈 종료

  • 7.0.2 ChangeLog

수정된 문제:

이 페이지의 나머지 부분에서는 MongoDB 7.0에 도입된 변경 사항과 새로운 기능에 대해 설명합니다.

MongoDB 부터 메서드와 데이터베이스 명령을 사용하여 MongoDB Search 인덱스를 7.0 관리 할 수 있습니다.mongosh MongoDB Search 인덱스 명령은 MongoDB Atlas에서 호스팅되는 배포에만 사용할 수 있으며, Atlas cluster 계층 M10 이상이어야 합니다.

MongoDB Search 인덱스를 관리 하려면 다음 명령을 사용합니다.

이름
설명

지정된 컬렉션 또는 뷰에 MongoDB Search 인덱스 만듭니다.

기존 MongoDB Search 인덱스 삭제합니다.

지정된 컬렉션 또는 뷰의 기존 MongoDB Search 인덱스에 대한 정보를 반환합니다.

기존 MongoDB Search 인덱스 업데이트합니다.

이름
설명

지정된 컬렉션 또는 뷰에 하나 이상의 MongoDB Search 인덱스를 생성합니다.

기존 MongoDB Search 인덱스 삭제합니다.

기존 MongoDB Search 인덱스 업데이트합니다.

이름
설명

모든 컬렉션 또는 특정 컬렉션에 대한 샘플링된 쿼리 나열

지정된 컬렉션 또는 뷰의 기존 MongoDB Search 인덱스에 대한 정보를 반환합니다.

MongoDB 7.0 부터 시작됩니다. OIDC 액세스 토큰에 대해 하나의 audience oidcIdentityProviders 필드 만 지정할 수 있습니다. 빈 배열이나 여러 문자열의 배열이 있는 audience 필드는 유효하지 않습니다.

자세한 내용은 oidcIdentityProviders 필드를 참조하세요.

MongoDB 7.0.3부터 (및 6.0.12 및 5.0.22), 해시 샤드 키에 대한 인덱스를 제거할 수 있습니다.

이렇게 하면 해시 샤드 키로 샤딩된 컬렉션에 대한 데이터 삽입 속도를 높일 수 있습니다.

자세한 내용은 해시된 샤드 키 인덱스 제거를 참조하세요.

MongoDB 7.0부터는 저속 쿼리에 대한 로그 메시지에 새로운 캐시 새로 고침 시간 필드가 포함됩니다.

버전 7.0부터 MongoDB는 현재 스토리지 엔진 트랜젝션(읽기 티켓과 쓰기 티켓 모두 포함)의 최대 수를 실시간으로 조정하는 데 기본 알고리즘을 사용해 오버로드 시 데이터베이스 처리량을 최적화합니다.

다음 표는 MongoDB post-7.0 이후 버전과 이전 버전에서 과부하 시나리오를 식별하는 방법을 요약한 것입니다.

버전
과부하 시나리오 진단

7.0 이상

많은 수의 작업의 대기 중인 상황이 오랫동안 지속되면 과부하가 걸렸을 가능성이 높습니다.

장기간 0 의 동시 스토리지 엔진 트랜잭션 (티켓) 가용성은 과부하를 나타내지 않습니다.

6.0 이하

많은 수의 작업의 대기 중인 상황이 오랫동안 지속되면 과부하가 걸렸을 가능성이 높습니다.

오랜 시간 동안 현재의 스토리지 엔진 트랜잭션(티켓)의 가용성이 0인 경우에도 과부하가 걸렸을 가능성이 높습니다.

자세한 내용은 다음을 참조하세요.

MongoDB 7.0부터 currentOp 명령과 db.currentOp() 메서드에 이러한 새로운 필드가 포함됩니다.

MongoDB 7.0부터 currentOp 집계 단계에 이러한 새로운 필드가 포함됩니다.

MongoDB 7.0부터 복합 와일드카드 인덱스를 만들 수 있습니다. 복합 와일드카드 색인에는 하나의 와일드카드 용어와 하나 이상의 추가 색인 용어가 있습니다.

알려진 패턴에 대한 쿼리를 지원하고 컬렉션 내 총 인덱스 수를 제한하려면 복합 와일드카드 인덱스를 사용하세요.

MongoDB 7.0부터 16MB보다 큰 변경 스트림 이벤트가 있는 경우, 새로운 $changeStreamSplitLargeEvent 단계를 사용하여 이벤트를 더 작은 조각으로 분할할 수 있습니다.

다음의 새 지표는 대규모 변경 스트림 이벤트에 관한 정보를 보고합니다.

serverStatus 출력에 다음과 같은 새로운 필드가 포함됩니다.

계획 캐시 메트릭
queryAnalyzer 메트릭

MongoDB 7.0부터 슬롯 기반 쿼리 실행 엔진은 광범위한 찾기 및 집계 쿼리의 성능을 개선합니다.

이제 느린 쿼리 로그 메시지에는 쿼리를 완료한 쿼리 엔진을 나타내는 queryFramework 필드가 포함됩니다.

  • queryFramework: "classic" 은 클래식 엔진이 쿼리를 완료했음을 나타냅니다.

  • queryFramework: "sbe" 는 슬롯 기반 쿼리 실행 엔진이 쿼리를 완료했음을 나타냅니다.

MongoDB 7.0부터는 새로운 USER_ROLES 시스템 변수를 사용하여 현재 사용자의 역할을 반환할 수 있습니다.

USER_ROLES 이 포함된 사용 사례에 대해서는, 찾기, 집계, 보기, updateOne, updateManyfindAndModify 예시를 참조하세요.

MongoDB 7.1(및 7.0, 6.3.2, 6.0.6 및 5.0.18)부터 사용할 수 있습니다.

MongoDB에 다음과 같은 청크 마이그레이션에 관한 새로운 샤딩 통계가 포함되었습니다.

느린 쿼리 로그 메시지의 totalOplogSlotDurationMicros 는 쓰기 작업이 커밋 타임스탬프를 가져와 스토리지 엔진 쓰기를 커밋한 시점부터 실제로 커밋될 때까지의 시간을 나타냅니다. mongod는 병렬 쓰기를 지원합니다. 하지만 커밋 타임스탬프가 있는 쓰기 작업은 순서에 상관없이 커밋합니다.

자세한 내용은 저속 작업 로깅을 참조하세요.

MongoDB 7.0에는 analyzeShardKey 명령과 관련된 매개 변수가 추가되었습니다.

MongoDB 7.0은 AutoMerger가 활성화되면 자동 병합 라운드 사이의 시간을 초 단위로 지정하는 autoMergerIntervalSecs 매개 변수를 추가합니다. autoMergerIntervalSecs 는 샤딩된 클러스터의 config 서버에서만 설정할 수 있습니다.

MongoDB 7.0은 자동 병합이 활성화된 경우 동일한 컬렉션에서 자동 병합에 의해 시작된 병합 사이의 최소 시간(밀리초)을 지정하는 autoMergerThrottlingMS 추가합니다. autoMergerThrottlingMS 는 샤딩된 클러스터의 config 서버에서만 설정할 수 있습니다.

MongoDB 7.0은 밸런싱 속도를 조절할 수 있는 balancerMigrationsThrottlingMs 매개변수를 추가했습니다.

MongoDB 7.0에는 클러스터 연결 상태 메트릭과 관련된 enableDetailedConnectionHealthMetricLogLines 로그 메시지 집합이 로그에 표시되는지 여부를 지정할 수 있는 매개 변수가 추가되었습니다.

MongoDB 7.0은 OpenID oidcIdentityProviders Connect 인증을 사용할 때 멱등(IDP) 구성을 지정할 수 있는 매개 변수를 추가합니다.

MongoDB 7.0에는 configureQueryAnalysis 명령과 관련된 매개 변수가 추가되었습니다.

MongoDB 7.0에서는 동등 쿼리를 포함한 Queryable Encryption이 정식 출시되었습니다. 정식 출시 버전이 개선되면서 이제 Queryable Encryption Public Preview와는 호환되지 않으며, 이 기능은 이제 정식 출시 버전의 기능이므로 사용할 수 . 자세한 내용은 MongoDB 7.0의 호환성 변경을 참조하세요.

MongoDB 7.0(및 6.0.6) useLegacyProtocol 설정을 추가합니다. 이 설정은 MongoDB 서버와 KMIP 프로토콜 버전 1.0 또는 1.1을 사용하는 KMIP 서버의 연결을 허용합니다.

MongoDB 7.0 및 6.0.7부터 시작됩니다, MongoDB는 이러한 운영 체제에서 OpenSSL 3.0 및 OpenSSL FIPS 공급자를 지원합니다.

  • 레드햇 엔터프라이즈 리눅스 9

  • Amazon Linux 2023

  • Ubuntu Linux 22.04

MongoDB 8.0부터 MongoDB는 OpenSSL 3.0 및 Amazon Linux 2023.3용 OpenSSL FIPS 공급자를 지원합니다.

자세한 내용은 TLS/SSL(전송 암호화)을 참조하세요.

7.0 버전부터 MongoDB Enterprise는 OpenID Connect 인증을 지원합니다. OpenID Connect는 OAuth2를 기반으로 구축된 인증 계층입니다. OpenID Connect를 사용하여 MongoDB 데이터베이스와 타사 멱등 간에 Single Sign-On을 구성할 수 있습니다.

새 운영자:

이름
설명

중앙값, 즉 50번째 백분위수의 근사치를 스칼라 값으로 반환합니다.

이 연산자는 축적자와 집계 표현식으로 사용할 수 있습니다.

지정된 백분위수 값에 해당하는 스칼라 값의 배열을 반환합니다.

이 연산자는 축적자와 집계 표현식으로 사용할 수 있습니다.

MongoDB 7.0에는 $dateToString 연산자와 함께 사용할 수 있는 다음 형식 지정자가 추가되었습니다.

지정자
설명
Possible Values

%b

월 이름 축약형(3글자)

jan-dec

%B

월 이름 전체

january-december

MongoDB 7.0은 delete 명령을 기반으로 하는 이러한 작업에서 대부분의 Time Series 제한을 제거합니다.

MongoDB 7.0부터는 checkMetadataConsistency 명령을 사용하여 클러스터, 데이터베이스, 컬렉션 수준에서 샤딩 메타데이터의 불일치 여부를 확인할 수 있습니다. 이러한 불일치는 다음과 같은 경우에 발생할 수 있습니다.

  • MongoDB 이전 릴리스를 실행하는 동안 클러스터에 버그가 발생해 업그레이드를 하는 경우

  • 클러스터 카탈로그를 손상시키는 수동 개입

이제 mongosh를 통해 다음 헬퍼 메서드를 사용할 수 있습니다.

명령이 확인하는 불일치에 대한 자세한 내용은 불일치 유형을 참조하세요.

MongoDB 7.0부터 mergeAllChunksOnShard 명령은 주어진 컬렉션에 대해 샤드가 소유하고 있는 병합 가능한 청크를 모두 찾아서 병합합니다.

MongoDB 7.0부터 자동 병합 기능은 병합성 요구 사항을 충족하는 청크를 자동으로 병합할 수 있습니다. 자동 병합은 기본적으로 활성화되어 있습니다.

MongoDB 7.0부터는 다음 메서드를 사용해 AutoMerger 동작을 제어할 수 있습니다.

MongoDB 7.0부터 configureCollectionBalancing명령은 enableAutoMerger 파라미터를 받아들입니다. AutoMerger에서 이 컬렉션을 고려할지 여부를 설정하려면 enableAutoMerger 를 사용하십시오.

MongoDB 7.0에서는 카탈로그 캐시 새로 operationsBlockedByRefresh 고침 활동에 의해 차단된 작업에 대한 통계를 포함하는 문서가 제거되었습니다. 그 이유는 operationsBlockedByRefresh mongos 작업이 카탈로그 새로 고침 활동에 의해 차단되지 않은 경우에도 에서 컬렉션 라우팅 정보를 사용하는 모든 작업의 카운터가 증가했기 때문입니다.

MongoDB 7.0에는 샤드 키 평가를 위한 메트릭을 계산할 수 있는 analyzeShardKey 명령과 db.collection.analyzeShardKey() 메서드가 추가되었습니다.

MongoDB 7.0에는 컬렉션에 대한 쿼리 샘플링을 구성할 수 있는 configureQueryAnalyzer 명령이 추가되었습니다. MongoDB 7.0은 configureQueryAnalyzer 명령을 감싸는 db.collection.configureQueryAnalyzer() 추가했습니다. 샘플링된 쿼리는 analyzeShardKey 샤드 키의 읽기 및 쓰기 분배에 관한 지표를 계산할 수 있도록 에 정보를 제공합니다.

MongoDB 7.0은 PPC64LEs390x 아키텍처에서 RHEL 7 / CentOS 7 / Oracle 7에 대한 지원을 제거합니다.

MongoDB 6.3에는 다음과 같은 애그리게이션 연산자가 도입되었습니다.

연산자
설명

and int 1} 또는 long 값의 배열에 대한 비트 단위 연산 결과를 반환합니다.

단일 인수 또는 단일 int 또는 long 값을 포함하는 배열에 대한 비트별 not 연산의 결과를 반환합니다.

or int 1} 또는 long 값의 배열에 대한 비트 단위 연산 결과를 반환합니다.

intlong 값의 배열에 대한 비트별 xor (배타적 논리합) 연산의 결과를 반환합니다.

MongoDB 6.3부터 서버 연결 획득과 네트워크를 통해 서버에 전송할 바이트를 쓰는 사이에 작업이 대기한 시간이 1밀리초를 초과하면 메시지가 로그에 추가됩니다. 자세한 내용은 와이어 로그 메시지에 대한 연결 획득을 참조하세요.

MongoDB 6.3부터 connPoolStats 명령의 출력 변경 사항은 다음과 같습니다.

문서
필드

각 범위의 연결 요청 수가 포함된 시간 범위입니다. 모든 시간 범위에 대한 연결 요청의 총 개수입니다.

MongoDB 6.3부터 단계의 explain $group 출력에는 클래식 실행 엔진을 사용할 때 데이터 유출에 대한 새로운 지표가 포함됩니다.

  • spillFileSizeBytes, $group 단계에서 디스크에 기록된 유출 파일의 크기입니다.

  • numBytesSpilledEstimate, 압축 전 $group 단계에서 디스크에 기록된 바이트 수의 추정치입니다.

자세한 내용은 $sort$group 단계를 참조하세요.

MongoDB 6.3부터 serverStatus 명령과 db.serverStatus() 메서드에는 다음과 같은 출력 변경 사항이 있습니다.

MongoDB 6.3부터는 작업 응답을 보내는 시간이 slowms 임계값 옵션을 초과하면 로그에 메시지가 추가됩니다. 자세한 내용은 세션 워크플로 로그 메시지를 참조하세요.

MongoDB 6.3부터는 다음과 같은 서버 매개 변수가 추가되었습니다.

MongoDB 6.3에는 다음과 같은 time series 매개변수가 추가되었습니다.

  • bucketMaxSpanSeconds 버킷의 측정값 사이의 최대 시간 범위를 설정합니다.

  • bucketRoundingSeconds 새 버킷의 시작 타임스탬프를 결정하는 시간 간격을 설정합니다.

MongoDB 6.3부터 compact 명령은 time series 컬렉션에서 작동합니다.

MongoDB 6.2부터 validate 명령 및 db.collection.validate() 메서드:

  • 컬렉션을 확인하여 BSON 문서가 BSON 사양을 준수하는지 확인하십시오.

  • time series 컬렉션에 내부 데이터 불일치가 있는지 확인합니다.

  • 포괄적인 BSON 검사를 가능하게 하는 새 옵션 checkBSONConformance이(가) 있습니다.

MongoDB 6.2부터 다음 데이터베이스 명령은 더 이상 사용되지 않습니다.

대신 $collStats$currentOp 애그리게이션 단계를 사용합니다.

MongoDB 6.2부터 serverStatus 명령 출력에 다음과 같은 새로운 필드가 포함됩니다.

MongoDB 6.2부터 serverStatus 명령과 db.serverStatus() 메서드는 mongos 인스턴스에 대한opLatencies지표를 보고합니다. mongos 에서 보고한 지연 시간에는 작업 지연 시간과 mongod } 인스턴스와 mongos 인스턴스 간의 통신 시간이 포함됩니다.

MongoDB 6.2부터 mongod 는 다음 매개 변수를 추가합니다.

버전 6.2부터 MongoDB는 addShard 명령에서 maxSize 필드를 제거합니다. 그 결과는 다음과 같습니다.

  • maxSize 필드와 함께 addShard를 실행하면 InvalidOptions 오류가 반환됩니다.

  • shards 컬렉션의 새 문서들은 더 이상 maxSize 필드를 포함하지 않습니다.

  • 기존의 maxSize 필드 항목은 모두 무시됩니다.

MongoDB 부터 6.1 집계 $addFields 단계 및 를 $literal $set 사용하면 표현식 사용하지 않고도 빈 객체에 대한 경로를 설정하다 수 있습니다.

MongoDB 6.1 은 다음 클러스터 감사 이벤트를 추가합니다.

MongoDB 부터 스타트업 6.1 감사 이벤트 구조는 다음과 같습니다.

{
originalClusterServerParameter: <original parameter value>,
updatedClusterServerParameter": <new parameter value>
}

자세한 내용은 감사 이벤트 작업, 세부 정보 및 결과를 참조하세요.

MongoDB 6.1부터 샤딩된 cluster의 데이터는 청크 수가 아닌 데이터 크기를 기준으로 분산됩니다. 결과적으로, 샤드 cluster 데이터 배포 동작에 다음과 같은 중요한 변경 사항이 있음을 알고 있어야 합니다.

  • 밸런서는 청크가 아닌 데이터 범위를 분산합니다. 밸런싱 정책은 청크 분산보다는 데이터 분산의 균일성을 추구합니다.

  • 청크는 자동 분할의 대상이 아닙니다. 대신 청크는 샤드 간에 이동할 때만 분할됩니다.

  • 이제 청크를 범위라고 합니다.

  • moveRange moveChunk를 대체했습니다.

MongoDB 6.1부터는 저널링이 항상 활성화됩니다. 결과적으로 MongoDB는 storage.journal.enabled 옵션과 해당 --journal--nojournal 명령줄 옵션을 제거합니다.

MongoDB 6.1 부터 currentOp 명령과 db.currentOp() 메서드가 리샤딩을 위한 출력을 확장했습니다.

리샤딩 작업에는 여러 MongoDB 인스턴스가 포함될 수 있으며, MongoDB 인스턴스는 리샤딩 작업에서 다양한 역할을 수행할 수 있습니다. 특정 작업과 리샤딩 프로세스 에서 호스팅하다 인스턴스 수행하는 역할 각 지표가 업데이트되는 일이 결정됩니다.

메트릭
추적된 역할
설명

opStatus

제거됨.

desc

모두

수행된 조치 설명합니다. 값은 다음 중 하나입니다.

  • Resharding DonorService<operationUUID>

  • ReshardingRecipientService<operationUUID>

  • 리샤딩 코디네이터 서비스<operationUUID>

$currentOp의 경우 명령 UUID가 각 역할의 상태 문서 에 추가됩니다.

op

모두

이 지표의 상수 값은 'command'입니다.

ns

모두

리샤딩된 인덱스 의 네임스페이스 . 값은 <database>.<collection> 형식의 문자열입니다.

originatingCommand

모두

작업에 대한 명령 옵션을 나열하는 문서 입니다.

donorState

기증자

역할의 상태 머신의 현재 상태 .

coordinatorState

코디 네이 터

역할의 상태 머신의 현재 상태 .

recipientState

받는 사람

역할의 상태 머신의 현재 상태 .

approxDocumentsToCopy

받는 사람

소스 컬렉션 의 문서 수입니다.

문서복사

받는 사람

이미 복사된 문서 수입니다.

approxBytesToCopy

받는 사람

소스 컬렉션 에 있는 문서의 총 크기(바이트)입니다.

bytesCopied

받는 사람

복사된 바이트 수입니다. 리샤딩이 완료되면 이 값은 approxBytesToCopy의 값과 유사합니다.

oplogEntriesFetched

받는 사람

oplog 버퍼 컬렉션 에 기록된 oplog 항목의 수입니다.

oplogEntriesApplied

받는 사람

oplog 버퍼 컬렉션 에서 적용된 oplog 항목의 수입니다.

insertsApplied

받는 사람

임시 리샤딩 컬렉션에 적용된 삽입 수입니다. 삽입과 관련된 각 oplog 항목은 카운터를 1씩 증가시킵니다.

updatesApplied

받는 사람

임시 리샤딩 컬렉션 에 적용된 업데이트 수입니다. 업데이트 와 관련된 각 oplog 항목은 카운터를 1씩 증가시킵니다.

deleteApplied

받는 사람

임시 리샤딩 컬렉션에 적용된 삭제 수입니다. 삭제와 관련된 각 oplog 항목은 카운터를 1씩 증가시킵니다.

totalOperationTimeElapdSecs

모두

작업이 시작된 이후의 시간(초)입니다.

totalCopyTimeElapsedSecs

받는 사람

복제에 소요된 시간(초)입니다.

totalCopyTimeElapsedSecs

코디 네이 터

수신자가 복제에 소비할 수 있는 최대 시간(초)입니다.

totalApplyTimeElapsedSecs

받는 사람

변경 사항을 적용하는 데 소요된 시간(초)입니다.

totalApplyTimeElapsedSecs

코디 네이 터

수신자가 변경 사항을 적용하는 데 소비할 수 있는 대략적인 최대 시간(초)입니다.

totalCriticalSectionTimeElapdSecs

받는 사람

중요 섹션에서 소요된 시간(초)입니다.

totalCriticalSectionTimeElapdSecs

코디 네이 터

중요 섹션이 유지될 수 있었던 시간(초)입니다.

나머지 작업 시간예상초

받는 사람

작업이 완료될 때까지 예상되는 시간(초)입니다.

allShardsLowestRemainingOperationTimeEstimatedSecs

코디 네이 터

모든 샤드에 걸쳐 계산되며, 남은 시간(초)의 가장 낮은 추정치입니다.

allShardsHighestRemainingOperationTimeEstimatedSecs

코디 네이 터

모든 샤드에 걸쳐 계산되며, 남은 시간(초)의 가장 높은 추정치입니다.

countWritesToStashCollections

받는 사람

수신자 스태시 컬렉션에 대한 쓰기 횟수입니다.

countWritesDuringCriticalSection

기증자

기증자의 중요한 섹션 동안 시도된 쓰기 수입니다.

countReadsDuringCriticalSection

기증자

기증자의 임계 섹션 동안 시도된 읽기 수입니다.

MongoDB 6.1부터 도입됨:

  • 효율성을 높이기 위해 MongoDB는 여러 문서를 일괄 삭제할 수 있습니다.

  • explain 2} 명령 결과에는 BATCHED_DELETE 문서 일괄 삭제를 위한 새로운 단계가 포함되어 있습니다.

펄(Perl) 호환 정규 표현식(PCRE)은 MongoDB에서 정규 표현식 패턴 일치를 구현하는 데 사용하는 라이브러리입니다. 버전 6.1부터 MongoDB는 PCRE 라이브러리를 PCRE2로 업그레이드합니다. PCRE2는 현재의 PCRE 라이브러리이며 적극적으로 유지 관리되고 업데이트됩니다.

MongoDB 에서 정규식 일치를 수행하는 방법을 학습 다음 페이지를 참조하세요.

MongoDB 6.1부터 재시도 가능한 쓰기의 첫 번째와 두 번째 시도가 모두 단일 쓰기를 수행하지 않고 실패하면 MongoDB는 NoWritesPerformed 라벨과 함께 오류를 반환합니다.

NoWritesPerformed 라벨은 insertMany()과 같은 배치 작업의 결과를 구분합니다. insertMany 작업에서는 다음 결과 중 하나가 발생할 수 있습니다:

결과
MongoDB 출력

문서가 삽입되지 않습니다.

NoWritesPerformed 라벨이 있는 오류 반환.

부분적인 작업이 완료되었습니다. (문서가 하나 이상 삽입되지만 모두 삽입되지는 않습니다.)

NoWritesPerformed 라벨 없이 오류가 반환.

모든 문서가 삽입됩니다.

성공 반환.

애플리케이션은 NoWritesPerformed 라벨을 사용하여 문서가 삽입되지 않았음을 확실하게 확인할 수 있습니다. 이 오류 보고를 통해 애플리케이션은 재시도 가능한 쓰기를 처리할 때 데이터베이스의 정확한 상태를 유지할 수 있습니다.

이전 버전의 MongoDB에서는 재시도 가능한 쓰기의 첫 번째 시도와 두 번째 시도가 모두 실패하면 오류가 반환되었습니다. 그러나 쓰기가 수행되지 않았음을 나타내는 구분은 이루어지지 않았습니다.

MongoDB 부터 6.1 리샤딩을 사용할 수 있는 새로운 지표 가 있습니다. 다음 명령의 출력이 변경되었습니다.

MongoDB 6.1부터 MongoDB 다음과 같은 새로운 매개 변수를 추가합니다.

MongoDB 6.1 부터 serverStatus 명령과 db.serverStatus() 메서드의 출력이 다음과 같이 변경됩니다.

resharding.remainingOperationTimeEstimatedMillis 은(는) 다음으로 대체됩니다.

  • oplogApplierApplyBatchLatencyMillis

  • collClonerFillBatchForInsertLatencyMillis

드문 경우지만 캐시 압력으로 인해 쓰기가 실패할 수 있습니다. 이 경우 MongoDB는 TemporarilyUnavailable 오류를 발생시키고 두 곳, 즉 느린 쿼리 로그와 풀타임 진단 데이터 캡처(FTDC)에서 temporarilyUnavailableErrors 카운터를 증가시킵니다.

다중 문서 트랜잭션 내의 개별 작업은 TemporarilyUnavailable 오류를 반환하지 않습니다.

temporarilyUnavailableBackoffBaseMs 매개변수를 수정하여 쓰기 temporarilyUnavailableMaxRetries (write) 재시도 속성을 조정합니다.

MongoDB 6.1부터는 정규식 쿼리에 *UCP 옵션을 사용할 수 있습니다. *UCP 옵션은 ASCII가 아닌 문자와 일치합니다(특히 옵션은 UTF-8 문자와 일치할 수 있음). 그러나 *UCP 옵션을 사용하면 옵션을 지정하지 않은 경우보다 쿼리 속도가 느려집니다.

옵션을 사용하는 예시 *UCP 는 ASCII 외부의 문자와 일치하도록 정규식 옵션 확장을 참조하세요.

중요

기능 호환성 버전

6.0 배포에서 MongoDB 7.0으로 업그레이드하려면 6.0 배포에 featureCompatibilityVersion 로 설정된 6.0 이 있어야 합니다. 버전을 확인하려면 다음을 입력하세요.

db.adminCommand( { getParameter: 1, featureCompatibilityVersion: 1 } )

MongoDB 7.0으로 업그레이드하는 방법은 사용 중인 MongoDB 배포 관련 업그레이드 지침을 참조하세요.

7.0로 업그레이드하는 방법에 대한 지침이 필요한 경우에 대비하여 MongoDB 전문 서비스 팀은 MongoDB 애플리케이션에 지장을 주지 않고 원활하게 전환할 수 있도록 주요 버전 업그레이드 지원을 제공합니다. 자세한 내용은 MongoDB 컨설팅을 참조하세요.

MongoDB는 단일 버전 다운그레이드만 지원합니다. 현재 릴리스보다 이전 버전인 릴리스로 다운그레이드할 수 없습니다.

예시 들어 7.0시리즈를 6.0시리즈 배포서버 로 다운그레이드할 수 있습니다. 그러나 해당 6.0시리즈 배포서버 5.0시리즈 배포서버 로 한 단계 더 다운그레이드하는 것은 지원되지 않습니다.

MongoDB 7.0부터 시작:

  • 바이너리 다운그레이드는 더 이상 MongoDB Community Edition에서 지원되지 않습니다.

  • 배포의 FCV MongoDB 의 빠른 출시하다 버전으로 또는 그 반대로 다운그레이드할 수 없습니다.

  • 2} 명령에는 추가 매개 변수 setFeatureCompatibilityVersionconfirm 필요하며, 이 매개 변수를 로 설정해야 true fCV를 업그레이드하거나 다운그레이드할 수 있습니다.

  • 배포의 fCV를 업그레이드하거나 다운그레이드하는 경우 지원팀의 지원 없이는 Enterprise 배포의 2진법 버전을 다운그레이드할 수 없습니다.

MongoDB 7.0에는 이전 릴리스와 호환되지 않는 기능이 포함되어 있습니다. 7.0에서 이전 릴리스로 다운그레이드하려면 이러한 기능을 사용하는 데이터를 제거해야 합니다.

자세한 내용은 이전 버전과 호환되지 않는 기능을 참조하세요.

MongoDB 7.0을 다운로드하려면 MongoDB 다운로드 센터로 이동하세요.

문제를 보고하려면 MongoDB GitHub 리포지토리에서 MongoDB 서버 또는 관련 프로젝트 중 하나에 대해 JIRA 티켓을 제출하는 방법을 참조하세요.

돌아가기

ChangeLog

이 페이지의 내용