문서 홈 → 애플리케이션 개발 → MongoDB 매뉴얼
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에 도입된 변경 사항을 확인하려면 6.X-시리즈 Rapid Release에 도입된 변경 사항을 참조하세요.
Major Release와 Rapid Release의 차이점은 MongoDB 버전 설명을 참조하세요.
경고
패치 릴리스
7.0.9 - 4월 26, 2024
수정된 문제:
7.0.8 - 4월 3, 2024
수정된 문제:
서버-78556 internalInsertMaxBatchSize의 기본값을 로 반환합니다.64
서버- numa79575 노드 카운팅 수정
서버-86583 샤딩되지 않은 컬렉션에서 읽은 비트랜잭션 스냅샷은 일치하지 않는 샤딩 메타데이터로 실행될 수 있습니다.
서버-87666 $documents에 대한 쿼리 형태는 실행할 때마다 고유합니다.
서버-88360 '샤딩 카탈로그와 로컬 카탈로그 컬렉션 uuid가 일치하지 않음' 트립와이어 어설션 제거
7.0.7 - 3월 18, 2024
수정된 문제:
7.0.6 - 2024년 2월 28일
중요
MongoDB Server가 신뢰할 수 없는 연결에 성공할 수 있는 문제를 수정했습니다.
MongoDB 7 에서 CVE-2024-1351 로 인해.0 이전의 {3 7.0.6 --tlsCAFile
및 CAFile
의 특정 구성에서 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: 부적절한 인증서 유효성 검사
수정된 문제:
7.0.5 - 2024년 1월 5일
수정된 문제:
7.0.4 - 2023년 11월 27일
수정된 문제:
7.0.3 - 2023년 11월 9일
수정된 문제:
서버-77506 샤딩된 다중 문서 트랜잭션은 데이터와 ShardVersion이 일치하지 않을 수 있습니다.
서버-79088 0개의 결과를 반환하는 쿼리에 대한 SBE 멀티 플래너 성능 개선
서버- 수신자 샤드는81106 복제 단계를 시작하기 전에 컬렉션 버전이 로컬로 유지될 때까지 기다리지 않습니다.
서버-81966 새로 고침 중 이전 청크맵 인스턴스 수정 방지
WT-11564 체크포인트에 있는 경우에만 최신 트랜잭션 값을 읽도록 RTS 수정
7.0.2 - Sep 29, 2023
수정된 문제:
서버-74954 $를 포함하거나 $elemMatch 추가 조건을 다시 작성할 때 잘못된 결과
서버-79771 NetworkInterfaceExceededTimeLimit에 대한 리샤딩 작업 복원력 만들기
서버-79912 CheckReplDBHash가 잘못된 BSON으로 인한 system.buckets 컬렉션 실패를 보고합니다.
서버-79982 일괄 카탈로그 작성자는 HistoricalCatalogIdTracker::cleanup()과 동시에 실행되어 잘못된 PIT 찾기 결과를 초래할 수 있습니다.
서버-80488 밸런서 분할 청크 정책에서 라우팅 테이블 트래버스 방지
7.0.1 - 2023년 9월 5일
수정된 문제:
7.0.0 - 2023년 8월 15일
이 페이지의 나머지 부분에서는 MongoDB 7.0에 도입된 변경 사항과 새로운 기능에 대해 설명합니다.
Atlas 검색 인덱스 관리
MongoDB 7 부터 시작.0, mongosh
메서드 및 데이터베이스 명령을 사용하여 Atlas Search 인덱스 를 관리할 수 있습니다. Atlas Search 인덱스 명령은 MongoDB Atlas 에서 호스팅되는 배포에만 사용할 수 있으며, Atlas 클러스터 계층이 M10 이상이어야 합니다.
Atlas Search 인덱스를 관리하려면 다음 명령을 사용하세요:
Mongo쉬 방법
이름 | 설명 |
---|---|
지정된 컬렉션에 Atlas Search 인덱스를 만듭니다. | |
기존 Atlas Search 인덱스를 삭제합니다. | |
지정된 컬렉션의 기존 Atlas Search 인덱스에 대한 정보를 반환합니다. | |
기존의 Atlas Search 인덱스를 업데이트합니다. |
데이터베이스 명령
이름 | 설명 |
---|---|
지정된 컬렉션에 하나 이상의 Atlas Search 인덱스를 만듭니다. | |
기존 Atlas Search 인덱스를 삭제합니다. | |
기존의 Atlas Search 인덱스를 업데이트합니다. |
애그리게이션 단계
이름 | 설명 |
---|---|
모든 컬렉션 또는 특정 컬렉션에 대한 샘플링된 쿼리 나열 | |
지정된 컬렉션의 기존 Atlas Search 인덱스에 대한 정보를 반환합니다. |
일반 변경 사항
해시 샤드 키 인덱스 삭제
MongoDB 7.0.3부터 (및 6.0.12 및 5.0.22), 해시 샤드 키에 대한 인덱스를 삭제할 수 있습니다.
이렇게 하면 해시 샤드 키로 샤딩된 컬렉션에 대한 데이터 삽입 속도를 높일 수 있습니다. 또한 mongosync
를 사용하면 데이터 수집 속도를 높일 수 있습니다.
자세한 내용은 해시된 샤드 키 인덱스 삭제를 참조하세요.
캐시 새로 고침 시간 필드
MongoDB 7.0부터는 저속 쿼리에 대한 로그 메시지에 새로운 캐시 새로 고침 시간 필드가 포함됩니다.
동시 스토리지 엔진 트랜잭션(읽기 및 쓰기 티켓)
버전 7 부터 시작됩니다.0, MongoDB는 기본 알고리즘을 사용하여 최대 동시 스토리지 엔진 트랜잭션 수(읽기 및 쓰기 티켓 모두 포함)를 동적으로 조정하여 과부하 시 데이터베이스 처리량을 최적화합니다.
다음 표에는 MongoDB 7.0과 이전 릴리스의 오버로드 시나리오를 식별하는 방법이 요약되어 있습니다.
버전 | 과부하 시나리오 진단 |
---|---|
7.0 | 많은 수의 작업의 대기 중인 상황이 오랫동안 지속되면 과부하가 걸렸을 가능성이 높습니다. 장시간 동안 동시 스토리지 엔진 트랜잭션(티켓) 가용성이 0이라고 해서 과부하가 발생한 것은 아닙니다. |
6.0 및 이전 버전 | 많은 수의 작업의 대기 중인 상황이 오랫동안 지속되면 과부하가 걸렸을 가능성이 높습니다. 오랜 시간 동안 현재의 스토리지 엔진 트랜잭션(티켓)의 가용성이 0인 경우에도 과부하가 걸렸을 가능성이 높습니다. |
자세한 내용은 다음을 참조하세요.
currentOp
지표
MongoDB 7.0부터 currentOp
명령과 db.currentOp()
메서드에 이러한 새로운 필드가 포함됩니다.
$currentOp
(집계) 메트릭
MongoDB 7.0부터 currentOp 집계 단계에 이러한 새로운 필드가 포함됩니다.
복합 와일드카드 인덱스
MongoDB 7.0부터 복합 와일드카드 인덱스를 만들 수 있습니다. 복합 와일드카드 색인에는 하나의 와일드카드 용어와 하나 이상의 추가 색인 용어가 있습니다.
알려진 패턴에 대한 쿼리를 지원하고 컬렉션 내 총 인덱스 수를 제한하려면 복합 와일드카드 인덱스를 사용하세요.
대규모 변경 스트림 이벤트
MongoDB 7.0부터 16MB보다 큰 변경 스트림 이벤트가 있는 경우, 새로운 $changeStreamSplitLargeEvent
단계를 사용하여 이벤트를 더 작은 조각으로 분할할 수 있습니다.
다음의 새 지표는 대규모 변경 스트림 이벤트에 관한 정보를 보고합니다.
serverStatus 출력 변경
serverStatus
출력에 다음과 같은 새로운 필드가 포함됩니다.
슬롯 기반 쿼리 실행 엔진
MongoDB 7.0부터 슬롯 기반 쿼리 실행 엔진은 광범위한 찾기 및 집계 쿼리의 성능을 개선합니다.
이제 느린 쿼리 로그 메시지에는 쿼리를 완료한 쿼리 엔진을 나타내는 queryFramework
필드가 포함됩니다.
queryFramework: "classic"
은 클래식 엔진이 쿼리를 완료했음을 나타냅니다.queryFramework: "sbe"
는 슬롯 기반 쿼리 실행 엔진이 쿼리를 완료했음을 나타냅니다.
사용자 역할 시스템 변수
MongoDB 7.0부터는 새로운 USER_ROLES
시스템 변수를 사용하여 현재 사용자의 역할을 반환할 수 있습니다.
USER_ROLES
이 포함된 사용 사례에 대해서는, 찾기, 집계, 보기, updateOne, updateMany 및 findAndModify 예제를 참조하세요.
청크 마이그레이션을 위한 새로운 샤딩 통계
MongoDB 7.1(및 7.0, 6.3.2, 6.0.6 및 5.0.18)부터 사용할 수 있습니다.
MongoDB에 다음과 같은 청크 마이그레이션에 관한 새로운 샤딩 통계가 포함되었습니다.
새로운 느린 쿼리 로그 메시지
MongoDB 7 부터 시작.0 ( 6.0.13, 5.0.24), 느린 쿼리 로그 메시지의 totalOplogSlotDurationMicros
은(는) 쓰기 작업이 커밋되기까지의 시간을 보여줍니다. 타임스탬프를 사용하여 스토리지 엔진 쓰기 및 실제로 커밋할 수 있습니다. mongod
는 병렬 쓰기를 지원합니다. 그러나 커밋 타임스탬프가 있는 쓰기 작업은 순서에 관계없이 커밋합니다.
자세한 내용은 저속 작업 로깅을 참조하세요.
새로운 매개변수
analyzeShardKey 관련 매개변수
MongoDB 7.0에는 analyzeShardKey
명령과 관련된 매개 변수가 추가되었습니다.
autoMergerIntervalSecs 매개변수
MongoDB 7.0은 AutoMerger가 활성화되면 자동 병합 라운드 사이의 시간을 초 단위로 지정하는 autoMergerIntervalSecs
매개 변수를 추가합니다. autoMergerIntervalSecs
는 샤드 클러스터의 config 서버에서만 설정할 수 있습니다.
autoMergerThrottlingMS 매개변수
MongoDB 7.0은 자동 병합이 활성화된 경우 동일한 컬렉션에서 자동 병합에 의해 시작된 병합 사이의 최소 시간(밀리초)을 지정하는 autoMergerThrottlingMS
를 추가합니다. autoMergerThrottlingMS
는 샤드 클러스터의 config 서버에서만 설정할 수 있습니다.
BalancerMigrationsThrottlingMs 매개변수
MongoDB 7.0은 밸런싱 속도를 조절할 수 있는 balancerMigrationsThrottlingMs
매개변수를 추가했습니다.
gEnableDetailedConnectionHealthMetricLogLines 매개변수
MongoDB 7.0에는 클러스터 연결 상태 메트릭과 관련된 gEnableDetailedConnectionHealthMetricLogLines
로그 메시지 집합이 로그에 표시되는지 여부를 지정할 수 있는 매개 변수가 추가되었습니다.
oidcIdentityProviders
매개변수
MongoDB 7.0은 OpenID oidcIdentityProviders
Connect 인증을 사용할 때 ID 공급자(IDP) 구성을 지정할 수 있는 매개 변수를 추가합니다.
configureQueryAnalysis 관련 매개변수
MongoDB 7.0에는 configureQueryAnalysis
명령과 관련된 매개 변수가 추가되었습니다.
보안
Queryable Encryption 일반 가용성
MongoDB 7.0에서는 동등 쿼리를 포함한 Queryable Encryption이 정식 출시되었습니다. 정식 출시 버전이 개선되면서 이제 Queryable Encryption Public Preview와는 호환되지 않으며, 이 기능은 이제 정식 출시 버전의 기능이므로 사용할 수 . 자세한 내용은 MongoDB 7.0의 호환성 변경을 참조하세요.
KMIP 1.0 및 1.1 지원
MongoDB 7.0(및 6.0.6) useLegacyProtocol
설정을 추가합니다. 이 설정은 MongoDB 서버와 KMIP 프로토콜 버전 1.0 또는 1.1을 사용하는 KMIP 서버의 연결을 허용합니다.
OpenSSL 및 FIPS 지원
MongoDB 7.0 및 6.0.7부터 시작됩니다, MongoDB는 이러한 운영 체제에서 OpenSSL 3.0 및 OpenSSL FIPS 공급자를 지원합니다.
레드햇 엔터프라이즈 리눅스 9
Amazon Linux 2023
우분투 리눅스 22.04
자세한 내용은 TLS/SSL(전송 암호화)을 참조하세요.
(OpenID Connect)
7.0 버전부터 MongoDB Enterprise는 OpenID Connect 인증을 지원합니다. OpenID Connect는 OAuth2를 기반으로 구축된 인증 계층입니다. OpenID Connect를 사용하여 MongoDB 데이터베이스와 타사 ID 공급자 간에 Single Sign-On을 구성할 수 있습니다.
집계
새 운영자:
이름 | 설명 |
---|---|
지정된 백분위수 값에 해당하는 스칼라 값의 배열을 반환합니다. 이 연산자는 축적자와 애그리게이션 표현식으로 사용할 수 있습니다. |
$dateToString의 월 이름 지정자
MongoDB 7.0에는 $dateToString
연산자와 함께 사용할 수 있는 다음 형식 지정자가 추가되었습니다.
지정자 | 설명 | 가능한 값 |
---|---|---|
%b | 월 이름 축약형(3글자) | jan -dec |
%B | 월 이름 전체 | january -december |
시계열
MongoDB 7.0은 명령에 delete
기반한 이러한 작업에서 대부분의 시계열 제한을 제거합니다.
샤딩
샤딩 메타데이터 진단
MongoDB 7.0부터는 checkMetadataConsistency
명령을 사용하여 클러스터, 데이터베이스, 컬렉션 수준에서 샤딩 메타데이터의 불일치 여부를 확인할 수 있습니다. 이러한 불일치는 다음과 같은 경우에 발생할 수 있습니다.
MongoDB 이전 릴리스를 실행하는 동안 클러스터에 버그가 발생해 업그레이드를 하는 경우
클러스터 카탈로그를 손상시키는 수동 개입
이제 mongosh
를 통해 다음 헬퍼 메서드를 사용할 수 있습니다.
명령이 확인하는 불일치에 대한 자세한 내용은 불일치 유형을 참조하세요.
mergeAllChunksOnShard 명령
MongoDB 7.0부터 mergeAllChunksOnShard
명령은 주어진 컬렉션에 대해 샤드가 소유하고 있는 병합 가능한 청크를 모두 찾아서 병합합니다.
자동 합병
MongoDB 7.0부터 자동 병합 기능은 병합성 요구 사항을 충족하는 청크를 자동으로 병합할 수 있습니다. 자동 병합은 기본적으로 활성화되어 있습니다.
MongoDB 7.0부터는 다음 메서드를 사용해 AutoMerger 동작을 제어할 수 있습니다.
configureCollectionBalancing에 대한 enableAutoMerger 매개 변수
MongoDB 7.0부터 configureCollectionBalancing
명령은 enableAutoMerger
파라미터를 받아들입니다. AutoMerger에서 이 컬렉션을 고려할지 여부를 설정하려면 enableAutoMerger
를 사용하십시오.
범위 삭제의 우선순위를 낮추기 위한 rangeDeleterHighPriority 매개변수
MongoDB 7.0부터는 매개변수를 사용하여 사용자 작업보다 고아 문서 정리의 우선순위를 rangeDeleterHighPriority
정하거나 우선순위를 낮출 수 있습니다.
OperationBlockedByRefresh 측정항목이 제거됨
MongoDB 7.0에서는 카탈로그 캐시 새로 operationsBlockedByRefresh
고침 활동에 의해 차단된 작업에 대한 통계를 포함하는 문서가 제거되었습니다. 그 이유는 operationsBlockedByRefresh
mongos
작업이 카탈로그 새로 고침 활동에 의해 차단되지 않은 경우에도 에서 컬렉션 라우팅 정보를 사용하는 모든 작업의 카운터가 증가했기 때문입니다.
analyzeShardKey 명령 및 db.collection.analyzeShardKey() 방법
MongoDB 7.0에는 샤드 키 평가를 위한 메트릭을 계산할 수 있는 analyzeShardKey
명령과 db.collection.analyzeShardKey()
메서드가 추가되었습니다.
configureQueryAnalyzer 명령 및 db.collection.configureQueryAnalyzer() 방법
MongoDB 7.0에는 컬렉션에 대한 쿼리 샘플링을 구성할 수 있는 configureQueryAnalyzer
명령이 추가되었습니다. MongoDB 7.0은 configureQueryAnalyzer
명령을 감싸는 db.collection.configureQueryAnalyzer()
도 추가했습니다. 샘플링된 쿼리는 analyzeShardKey
샤드 키의 읽기 및 쓰기 분배에 관한 지표를 계산할 수 있도록 에 정보를 제공합니다.
6.X-시리즈 신속 릴리스에 도입된 변경 사항
MongoDB 7.0에는 다음 Rapid Release의 변경 사항과 기능이 포함되어 있습니다.
플랫폼 지원
제거된 플랫폼
MongoDB 7.0은 PPC64LE 및 s390x 아키텍처에서 RHEL 7 / CentOS 7 / Oracle 7에 대한 지원을 제거합니다.
업그레이드 절차
중요
기능 호환성 버전
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 커뮤니티 에디션에서 지원되지 않습니다.
배포서버의 fCV를 MongoDB Rapid Release 버전으로부터 또는 해당 버전으로 다운그레이드할 수는 없습니다.
2} 명령에는 추가 매개 변수
setFeatureCompatibilityVersion
이confirm
필요하며, 이 매개 변수를 로 설정해야true
fCV를 업그레이드하거나 다운그레이드할 수 있습니다.배포의 FCV 업그레이드하거나 다운그레이드하는 경우 지원팀의 지원 없이는 Enterprise 배포의 2진법 버전을 다운그레이드할 수 없습니다.
이전 버전과 호환되지 않는 기능
MongoDB 7.0에는 이전 릴리스와 호환되지 않는 기능이 포함되어 있습니다. 7.0에서 이전 릴리스로 다운그레이드하려면 이러한 기능을 사용하는 데이터를 제거해야 합니다.
자세한 내용은 이전 버전과 호환되지 않는 기능을 참조하세요.
다운로드
MongoDB 7 을(를) 다운로드합니다.0, MongoDB 다운로드 센터로 이동합니다.
이슈 신고하기
문제를 보고하려면 MongoDB GitHub 리포지토리 를 참조하세요. MongoDB 서버 또는 관련 프로젝트 중 하나에 대한 JIRA 티켓을 제출하는 방법에 대한 지침을 참조하세요.