다음 버전의 새로운 기능에 대해 알아보세요:
5.6의 새로운 기능
5.6 운전자 출시하다 다음과 같은 변경 사항, 수정 사항 및 기능이 포함됩니다.
- Queryable Encryption 접두사, 접미사 및 하위 문자열 쿼리에 대한 실험적 지원 추가합니다. QE에 대해 자세히 학습 사용 중 암호화 참조하세요. - 참고- 실험적 기능- Queryable Encryption 접두사, 접미사 및 하위 문자열 쿼리는 불안정하며 정식 버전(GA)이 될 때까지 보안이 보장되지 않습니다. 실험적 워크로드에서만 사용하세요. 
- ChangeStreamDocument객체에- nsType필드 추가합니다. 이 필드 에는 변경 이벤트 의 네임스페이스 유형(- COLLECTION,- TIMESERIES또는- VIEW)이 포함됩니다.
- OIDC 인증 위한 CSOT( 클라이언트 사이드 작업 시간 초과) 지원 추가합니다. 
- CSOT에 - timeoutMS이(가) 설정하다 되면 운전자- maxWaitTime연결 설정의 값을 무시합니다.
- MongoClient클래스에- appendMetadata()메서드를 추가합니다. 이 메서드를 사용하여 기존 클라이언트의 메타데이터 에 메타데이터 추가할 수 있습니다. 최대 메타데이터 크기는 512 MB입니다.
- RewrapManyDataKeyOptions클래스에 공용 생성자를 추가합니다.
- AsyncReadOperation및- AsyncWriteOperation인터페이스를- ReadOperation및- WriteOperation인터페이스로 병합합니다.- Operations클래스에서 빌더 메서드를 사용하여 읽기 및 쓰기 (write) 작업을 생성할 수 있습니다.
- MongoNamespace.COMMAND_COLLECTION_NAME상수를 더 이상 사용하지 않습니다.
- 세션 내에서 OIDC 재인증을 방해하는 버그를 수정합니다. 
- @BsonDiscriminator주석이 달린 POJO를 직렬화할 때 속성의- readName가 판별자 키와 일치하면 운전자 필드 한 번만 직렬화합니다.
- CommandCursorResult인스턴스 에서- next()또는- tryNext()메서드를 호출하면 운전자- CommandCursorResult.results속성 지워 메모리를 확보합니다.
- PojoBuilderHelper클래스는 추상 클래스 및 인터페이스의 속성을 포함하는 속성 모델을 만듭니다.
- 운전자 클러스터 토폴로지 변경될 때 다음 이벤트를 게시하고 기록합니다. - ClusterOpeningEvent: 토폴로지 가 열릴 때 게시됨
- ClusterDescriptionChangedEvent: 토폴로지 설명이 변경될 때 게시됩니다.
- ClusterClosedEvent: 토폴로지 닫힐 때 게시됨
 
- 다음 이유 중 하나로 인해 프라이머리 복제본 세트 멤버가 부실 상태가 되면 운전자 에서 - MongoStalePrimaryException가 발생합니다.- 새로운 프라이머리 멤버가 선출되거나 발견됩니다. 
- 프라이머리 멤버의 - electionId또는- setVersion필드 값이 다른 복제본 세트 멤버에 있는 이러한 필드의 값과 일치하지 않습니다.
 - 복제본 세트에 대해 자세히 학습하려면 MongoDB Server 매뉴얼의 복제 를 참조하세요. 
5.5.1의 새로운 기능
5.5.1 운전자 패치 출시하다 에는 다음과 같은 변경 사항이 포함됩니다.
- 트랜잭션 에서 실행되는 작업을 포함하여 세션에서 실행 실행 작업에 의해 트리거될 때 OIDC 재인증이 실패하는 문제를 수정합니다. 
5.5의 새로운 기능
중요
MongoDB Server 4.0에 대한 지원 중단
코틀린 동기 (Kotlin Sync) 운전자 v5.5 는 MongoDB Server 에 대한 지원 4.0 제거합니다. 서버 의 호환되는 버전에 대해 자세히 학습 호환성을 참조하세요.
5.5 운전자 출시하다 다음과 같은 변경 사항, 수정 사항 및 기능이 포함됩니다.
- 운전자 성능 벤치마크에 반영된 성능 개선 사항을 소개합니다. 성능 벤치마크 테스트 결과를 보려면 다음 성능 개선 섹션을 참조하세요. 
성능 개선
이 섹션의 표는 동기식 Java 운전자 에 대한 성능 테스트 결과를 보여줍니다. 테스트는 다음 구성의 MongoDB Server 8.0 배포서버 에서 수행되었습니다.
- 네트워크 지연 시간 거의 없이 - localhost에서 실행 중입니다. 지연 시간이 긴 환경에서는 그다지 중요한 성능 개선 효과가 나타나지 않을 수 있습니다.
- 인증이 비활성화되었습니다. 
- TLS가 비활성화되었습니다. 
모든 MongoDB Java 드라이버는 향상된 driver-core API 주식 유사한 성능 향상이 예상됩니다.
표준 전송 설정
다음 표는 표준 전송 설정으로 구성된 운전자 의 v5.5 에 대한 성능 테스트 결과를 보여줍니다. 각 행에는 테스트한 기능, 성능 개선률, z-점수가 포함됩니다.
| 기능 | 개선률 | Z-점수 | 
|---|---|---|
| 딥 BSON 디코딩 | 19.44% | 5.4 | 
| 딥 BSON 인코딩 | 102% | 22.8 | 
| 여러 항목 찾기 및 커서 비우기 | 25.08% | 13.72 | 
| ID 로 찾기 | 2.7% | 3.16 | 
| 플랫 BSON 디코딩 | 31.2% | 9.38 | 
| 플랫 BSON 인코딩 | 199.5% | 12.34 | 
| 전체 BSON 디코딩 | 16.5% | 7.23 | 
| 전체 BSON 인코딩 | 147.3% | 10.39 | 
| JSON-LD 다중 파일 가져오기 | 21.8% | 8.21 | 
| 대용량 문서가 포함된 클라이언트 대량 삽입 | 91.3% | 24.44 | 
| 대용량 문서가 포함된 컬렉션 대량 삽입 | 96.5% | 8.79 | 
| 대용량 문서 대량 삽입 | 93.3% | 8.11 | 
| 작은 문서의 대량 삽입 | 39.3% | 5.72 | 
| 큰 문서가 있는 문서 삽입 | 82.4% | 7.28 | 
| 작은 문서가 포함된 클라이언트 대량 삽입 | 49.5% | 17.99 | 
| 작은 문서가 포함된 컬렉션 대량 삽입 | 47.8% | 6.44 | 
Netty 전송 설정
다음 표는 Netty 전송 설정으로 구성된 운전자 의 v5.5 에 대한 성능 테스트 결과를 보여줍니다. 각 행에는 테스트한 기능, 성능 개선률, z-점수가 포함됩니다.
| 기능 | 개선률 | Z-점수 | 
|---|---|---|
| 여러 항목 찾기 및 커서 비우기 | 40.3% | 14.81 | 
| ID 로 찾기 | 4.4% | 4.12 | 
| JSON-LD 다중 파일 가져오기 | 16.9% | 3.77 | 
| 대용량 문서가 포함된 클라이언트 대량 삽입 | 54.8% | 14.49 | 
| 대용량 문서가 포함된 컬렉션 대량 삽입 | 104.9% | 38.72 | 
| 대용량 문서 대량 삽입 | 74.6% | 65.55 | 
| 큰 문서가 있는 문서 삽입 | 66.6% | 58.65 | 
| 작은 문서가 포함된 클라이언트 대량 삽입 | 36.1% | 15.41 | 
| 작은 문서가 포함된 컬렉션 대량 삽입 | 39.3% | 37.38 | 
| 작은 문서의 대량 삽입 | 35.1% | 41.51 | 
팁
운전자 성능 벤치마크 테스트를 수행하는 방법에 대해 자세히 학습하려면 성능 벤치마킹 사양을 참조하세요.
5.4의 새로운 기능
5.4 운전자 출시하다 다음과 같은 변경 사항, 수정 사항 및 기능이 포함됩니다.
- 직렬화 중 스네이크 대소문자 변환을 위해 - bson-kotlinx에- BsonConfiguration지원 추가합니다. 자세한 학습 은 직렬화 가이드 의 스네이크 사례 이름 지정 전략 구현 섹션을 참조하세요.
- CSFLE 및 QE에 대한 - $lookup작업을 지원합니다. 자세한 학습 은 서버 매뉴얼에서 다음 참고 자료를 참조하세요.
- 애플리케이션 에서 사용할 수 있는 MongoDB JVM 아티팩트 버전을 관리 위한 BOM(Bill of Material)을 소개합니다. 애플리케이션에 BOM을 추가하는 방법에 대한 지침을 보려면 다운로드 및 설치 튜토리얼의 드라이버 BOM 추가 단계를 참조하세요. 
- MONGODB-AWS인증 메커니즘 테스트하기 위해 Amazon Web Services SDK 종속성을 2.30.31 및 1.12.782 으로 업데이트합니다.
- ClientUpdateOneOptions및- ClientReplaceOneOptions클래스에 정렬 옵션을 추가합니다. 이 변경 사항을 통해 클라이언트 대량 쓰기에서 업데이트 및 바꾸기 작업에 대한 정렬 순서를 설정하다 수 있습니다. 자세한 학습 은 대량 쓰기 작업 가이드 의 업데이트 작업 및 작업 바꾸기 섹션을 참조하세요.
- OIDC 인증 에 대한 Kubernetes 지원 추가합니다. 자세한 학습 은 엔터프라이즈 인증 메커니즘 가이드 의 MONGODB-OIDC: Kubernetes 섹션을 참조하세요. 
- 다음 MongoDB Search 쿼리 연산자에 대한 최고 수준의 지원 추가합니다. - phrase
- regex
- queryString
- equals
- moreLikeThis
- in
- wildcard
 - 자세한 학습 은 애그리게이션 가이드 의 MongoDB Search 섹션을 참조하세요. 
- close()를 호출할 때 작업 시간 제한에 영향을 주지 않고- timeoutMS설정을 새로 고치도록 커서를 업데이트합니다.
- hint옵션을 지정하여- distinct()메서드를 호출할 때 인덱스 사용할 수 있습니다.
이 출시하다 의 전체 변경 사항 목록을 보려면 Github 의5.4 v 출시하다 노트를 참조하세요.
5.3의 새로운 기능
5.3 운전자 출시하다 에는 다음과 같은 새로운 기능, 개선 사항 및 수정 사항이 포함되어 있습니다.
- 중요: 다음 마이너 출시하다 MongoDB Server 버전 에 4.0 대한 지원 중단되고 지원되는 최소 버전이 4.2 으로 상향됩니다. 호환성이 손상되는 변경을 수용할 수 있도록 애플리케이션 을 변경하는 것이 좋습니다. 업그레이드에 대한 자세한 학습 은 서버 매뉴얼의 릴리스 노트 섹션을 참조하세요. 
- BinaryVector클래스를 추가하여 벡터 저장 및 검색을 위한 BSON 바이너리 하위 유형 9 을 구현 . 이 클래스는- Double인스턴스 목록에 비해 더 효과적인 값 저장 제공합니다. 벡터에 포함된 요소의 유형에 따라 다음과 같은 벡터 유형을 생성할 수 있습니다.- Int8BinaryVector: 8비트 부호 있는 정수로 구성된 벡터
- Float32BinaryVector: 부동 소수점 숫자로 구성된 벡터
- PackedBitBinaryVector: 이진 양자화된 벡터( beta 이며 일반적으로 사용 가능하게 되기 전에 변경될 수 있음)
 - 이 기능에 대해 자세히 학습하려면 Atlas 설명서에서 벡터 양자화 를 참조하세요. 이 유형에 대한 학습 BinaryVector API 설명서를 참조하세요. 
- 연결 풀 구현 에서 명시적인 공정성을 제거합니다. 이 변경 사항은 많은 애플리케이션 스레드에서 - MongoClient인스턴스 사용할 때 처리량 향상에 기여할 수 있습니다. 그러나 이러한 변경으로 인해 테일 지연 시간 증가할 수 있습니다.
- updateOne()및- replaceOne()메서드에 정렬 옵션을 추가합니다. 이 변경으로- ReplaceOneModel및- UpdateOneModel인스턴스를 생성할 때 정렬을 옵션으로 설정하다 수도 있습니다. 자세한 학습 은 문서 업데이트 , 문서 교체 및 대량 쓰기 작업 가이드를 참조하세요.
- 빌더 클래스 메서드를 데이터 클래스 속성과 함께 직접 사용할 수 있도록 지원합니다. 자세한 학습 은 데이터 클래스와 함께 빌더 사용 가이드 참조하세요. 이 기능은 이번 출시하다 와 함께 게시된 코틀린 동기 (Kotlin Sync) 운전자 확장 패키지 에서 지원됩니다. 
- 동일한 호출로 여러 데이터베이스 및 컬렉션에 대한 쓰기 (write) 작업을 수행할 수 있는 클라이언트 대량 쓰기 (write) API 구현합니다. 이 기능 에 대해 자세히 학습 대량 쓰기 작업 가이드 의 클라이언트 대량 쓰기 섹션을 참조하세요. 
5.2의 새로운 기능
중요
MongoDB Server 3.6에 대한 지원 중단
코틀린 동기 (Kotlin Sync) 운전자 v5.2 는 MongoDB Server 에 대한 지원 3.6 제거합니다. 서버 의 호환되는 버전에 대해 자세히 학습 호환성을 참조하세요.
5.2 운전자 출시하다 에는 다음과 같은 새로운 기능, 개선 사항 및 수정 사항이 포함되어 있습니다.
- CSOT( 클라이언트 사이드 작업 시간 제한)를 설정할 수 있습니다. 이 기능 사용하면 해당 클라이언트 로 수행되는 모든 작업에 적용되는 단일 시간 제한을 - MongoClient인스턴스 에 설정하다 수 있습니다. 자세한 학습 은 서버 실행 시간 제한 가이드 참조하세요.- 중요- 더 이상 사용되지 않는 시간 초과 옵션- 다음 시간 초과 옵션은 더 이상 사용되지 않습니다. - waitQueueTimeoutMS
- socketTimeoutMS
- wTimeoutMS
- maxTimeMS
- maxCommitTimeMS
 - CSOT 기능 사용하여 이러한 옵션의 기능을 대체합니다. 
- 인스턴스 구성할 때 전달할 수 있는 클래스를 - SearchIndexType- SearchIndexModel추가합니다. 이 변경 사항을 통해 Atlas Search 또는 Vector Search 인덱스 생성할 때 인덱스 유형을 지정할 수 있습니다. 자세한 학습 은 MongoDB 검색 및 벡터 검색 인덱스 가이드 참조하세요.
- SCRAM-SHA-1및- SCRAM-SHA-256인증 메커니즘을 구현 하는 알고리즘 구현 을 구성된 JCA 제공자 에게 위임합니다. 이 변경은 애플리케이션 에서 구성된 FIPS 호환 JCA 제공자 를 사용하여 더 높은 수준의 보안을 제공할 수 있음을 의미합니다.
- JVM 드라이버의 버전 관리와 일치하도록 mongodb-crypt 종속성 버전 관리를 수정합니다. - mongodb-crypt의 향후 버전은 운전자 와 함께 출시될 예정이며 동일한 버전 번호를 주식 합니다.- mongodb-crypt종속성을 v5로 업그레이드 해야 합니다.2.0 이 출시하다 의 운전자 업그레이드할 때. 자세한 학습은 사용 중 암호화 가이드를 참조하세요.
- 지원되는 모든 플랫폼에서 네이티브 암호화를 구현 하여 성능이 향상되었습니다. 다음 목록에서는 운영 체제에 따라 이 개선 사항을 구현 하는 데 필요한 조치를 설명합니다. - Windows: - mongodb-crypt버전을 v5.2.0 로 업그레이드합니다.
- Mac: - mongodb-crypt버전을 v5.2.0 으로 업그레이드합니다.
- Linux: - mongodb-cryptJAR 파일 에 번들로 제공되는 파일 을 사용하는 대신 파일 시스템에 직접- libmongocrypt.so를 설치합니다.- libmongocrypt설치에 대한 Linux 지침은 서버 매뉴얼 에서 찾을 수 있습니다. 패키지 관리자를 사용하여- libmongocrypt를 설치하는 경우 추가 구성 없이 JNA( Java Native Access)가 해당 위치를 찾습니다. 또는- LD_LIBRARY_PATH환경 변수를- libmongocrypt패키지 의 파일 경로로 설정하여 검색 경로를 지정할 수 있습니다.- 번들로 제공되는 공유 라이브러리는 OpenSSL 바이너리 비호환성 가능성으로 인해 OpenSSL과 연결되지 않으므로 직접 설치를 권장합니다. - 공유 라이브러리 로딩은 JNA에서 처리합니다. 라이브러리 로딩 검색 경로 순서에 대한 규칙은 NativeLibrary 클래스 문서에서 확인할 수 있습니다. 
 
- 일부 상황에서 - InsertOneResult.getInsertedId()및- InsertManyResult.getInsertedIds()메서드가 잘못된 문서 ID를 반환하는 문제를 수정합니다. 이 변경 사항은 코틀린 동기 (Kotlin Sync) 운전자 v5.1.4 및 v4.11.4 에 백포트되었습니다.
- 샤딩된 클러스터 작업이 실패하면 운전자 는 다른 - mongos서버를 사용할 수 있는 경우 작업 재시도를 위해 동일한- mongos서버 를 선택하지 않습니다.
- 애플리케이션 에서 GraalVM 네이티브 이미지를 사용할 때 필요한 연결 가능성 메타데이터 추가합니다. 이 메타데이터 운전자 라이브러리를 사용할 때 연결 가능성 메타데이터 수집할 필요성을 대체합니다. 자세한 학습 은 GraalVM 문서에서 연결 가능성 메타데이터 를 참조하세요. - 지원되는 모든 플랫폼(대상)에 대한 항목을 추가하면 GraalVM 네이티브 이미지를 사용하여 빌드된 네이티브 실행 파일의 크기에 큰 영향을 미치기 때문에 이 변경으로 인해 - libjnidispatch및- libmongocrypt리소스 항목이 추가되지 않습니다. 운전자 Github 리포지토리에서 이 샘플 리소스 config.json 파일 보고 애플리케이션이- org.mongodb:mongodb-crypt라이브러리에 의존하는 경우 이러한 항목을 명시적으로 지정하는 방법을 확인합니다.
- VectorSearchOptionsAPI 를 확장하여 다음과 같은 특정 옵션 하위 유형을 도입하여 정확한 벡터 검색 을 활성화합니다.- ExactVectorSearchOptions: 이 옵션 유형을 활성화 정확한 일치가 활성화되어 결과가 지정된 쿼리 벡터에 가장 가까운 벡터가 됩니다.
- ApproximateVectorSearchOptions: 정확히 가장 가까운 벡터를 반환하지 않을 수 있는 검색을 활성화 하려면 이 옵션 유형을 사용합니다. 이 유형을 인스턴스화할 때- numCandidates매개변수를 전달하여 고려해야 할 가장 가까운 이웃의 수를 지정할 수 있습니다.
 - MongoDB Vector Search 기능 사용에 대해 자세히 학습 MongoDB Vector Search 빠른 시작을 참조하고 Kotlin (Sync) 언어 드롭다운에서 를 선택합니다. 
- kotlinx-datetime라이브러리의 직렬 변환기에 대한 지원 을 추가하여 코틀린( 코틀린 (Kotlin) ) 날짜 및 시간 유형을 문자열이 아닌 예상 유형으로 BSON 에 매핑할 수 있습니다. 학습 내용은 코틀린 (Kotlin) 직렬화 가이드 의 날짜 및 시간 직렬화 섹션을 참조하세요.
- JsonElement 값의 직렬화를 지원합니다. - JsonElement유형으로 작업하려면 애플리케이션 에- kotlinx-serialization-json라이브러리를 종속성으로 추가해야 합니다.
5.1.3의 새로운 기능
5.1.3 운전자 패치 출시하다 에는 다음과 같은 변경 사항이 포함됩니다.
- Cursor유형을 사용할 때 어설션 오류를 일으킬 수 있는 문제를 수정합니다.
5.1.2의 새로운 기능
5.1.2 운전자 패치 출시하다 에는 다음과 같은 변경 사항이 포함됩니다.
- null을 허용하는 일반 매개변수 유형으로 코틀린( 코틀린 (Kotlin) ) 데이터 클래스 인코딩을 지원합니다. 예를 예시 다음 코드에서 - Container클래스를 인코딩할 수 있습니다.- data class Box<T>( - val boxed: T - ) - data class Container( - val box: Box<String?> - ) 
5.1.1의 새로운 기능
5.1.1 운전자 패치 출시하다 에는 다음과 같은 변경 사항이 포함됩니다.
- MONGODB-OIDC인증 메커니즘 사용하는 경우- authMechanismProperties연결 문자열 값에 쉼표 문자를 포함하지 않아야 합니다. 이 동작에 대해 자세히 학습 MONGODB-OIDC 가이드 참조하세요.
5.1의 새로운 기능
경고
이 릴리스의 사용 중단
드라이버의 향후 주요 릴리스에서 호환성이 손상되는 변경이 발생하지 않도록 하려면 더 이상 사용되지 않는 프로그램 요소에 의존하는 모든 애플리케이션 코드를 교체하세요.
이 섹션에는 다음 정보가 포함되어 있습니다.
5.1에서 사용 중단된 기능
- MongoDB Server v3.6 에 대한 지원은 더 이상 사용되지 않으며 다음 운전자 버전 출시하다 에서 제거될 예정입니다. MongoDB Server 배포서버 서버를 업그레이드 하는 방법을 학습 보려면 MongoDB Server 매뉴얼의 릴리스 노트 를 참조하세요. 
5.1의 개선 사항
- GraalVM 네이티브 이미지 기술에 대한 내부 테스트입니다. 이러한 테스트에는 GraalVM 네이티브 이미지 도구를 사용하여 네이티브 애플리케이션을 빌드하는 것이 포함됩니다. 
- MONGODB-OIDC인증 메커니즘 에 대한 지원 향상되었습니다. OIDC에 대해 자세히 학습 MONGODB-OIDC 가이드 참조하세요.
- 다형성 - MongoCollection인스턴스 를 사용할 때 작업에서 잘못된 코덱을 사용하는 문제를 수정합니다. 이렇게 하면- bson-kotlinx을 사용할 때 판별자 정보가 손실되지 않습니다.
- 디코딩 시 클래스 판별자가 첫 번째 필드였기 때문에 다형성 - MongoCollection인스턴스를 사용할 때 필드 유형 오류가 발생하는 문제를 수정합니다.
5.1의 새로운 기능.
5.0의 새로운 기능
5.0 드라이버 릴리스의 새로운 기능은 다음과 같습니다.
- KotlinSerializerCodecProvider생성자는 이제- serializersModule및- bsonConfiguration객체를 허용합니다.- KotlinSerializerCodec.create(clazz.kotlin, serializersModule=serializersModule, bsonConfiguration=bsonConfiguration) - 이렇게 하면 구성을 더 쉽게 사용자 지정할 수 있습니다. 
- 컨테이너 유형이 삭제되도록 하는 Kotlin 리플렉션 버그를 수정합니다.