새로운 기능
다음 버전의 MongoDB Scala 드라이버에 도입된 새로운 기능, 개선 사항 및 수정 사항에 대해 알아보세요.
5.5의 새로운 기능
중요
MongoDB Server 4.0에 대한 지원 중단
스칼라 운전자 v5.5 MongoDB Server 4.0에 대한 지원 제거합니다. 서버의 호환되는 버전에 대해 자세히 학습하려면 호환성을 참조하세요.
5.5 운전자 출시하다 다음과 같은 변경 사항, 수정 사항 및 기능이 포함됩니다.
기본값 TLS 전송 계층을 사용할 때
connectTimeoutMS
옵션에 대한 지원 추가합니다.
운전자 성능 벤치마크에 반영된 성능 개선 사항을 소개합니다. 성능 벤치마크 테스트 결과를 보려면 다음 성능 개선 섹션을 참조하세요.
성능 개선
이 섹션의 표는 동기식 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 운전자 출시하다 다음과 같은 변경 사항, 수정 사항 및 기능이 포함됩니다.
동일한 호출로 여러 데이터베이스 및 컬렉션에 대한 쓰기 (write) 작업을 수행할 수 있는 클라이언트 대량 쓰기 (write) API 구현합니다. 이 기능 에 대해 자세히 학습 대량 쓰기 작업 가이드 의 클라이언트 대량 쓰기 섹션을 참조하세요.
CSFLE 및 QE에 대한
$lookup
작업을 지원합니다. 자세한 학습 은 서버 매뉴얼에서 다음 참고 자료를 참조하세요.애플리케이션 에서 사용할 수 있는 MongoDB JVM 아티팩트 버전을 관리 위한 BOM(Bill of Material)을 소개합니다. 애플리케이션에 BOM을 추가하는 방법에 대한 지침은 Maven 리포지토리 웹사이트에서 mongodb-driver-bom 종속성 목록 을 참조하세요. sbt는 BOM을 지원 하지 않으므로 Maven을 종속성 관리자로 사용하는 경우에만 BOM을 사용할 수 있습니다.
MONGODB-AWS
인증 메커니즘 테스트하기 위해 Amazon Web Services SDK 종속성을 2.30.31 및 1.12.782 으로 업데이트합니다.ClientUpdateOneOptions
및ClientReplaceOneOptions
클래스에 정렬 옵션을 추가합니다. 이 변경 사항을 통해 클라이언트 대량 쓰기에서 업데이트 및 바꾸기 작업에 대한 정렬 순서를 설정하다 수 있습니다. 자세한 학습 은 대량 쓰기 작업 가이드 의 업데이트 작업 및 작업 바꾸기 섹션을 참조하세요.OIDC 인증 에 대한 Kubernetes 지원 추가합니다. 자세한 학습 은 MongoCredential API 설명서를 참조하세요.
다음 Atlas Search 쿼리 연산자에 대한 최고 수준의 지원 추가합니다.
phrase
regex
queryString
equals
moreLikeThis
in
wildcard
자세히 학습하려면 애그리게이션 가이드의 검색 연산자 도우미 메서드 섹션을 참조하세요.
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
인스턴스를 생성할 때 정렬을 옵션으로 설정하다 수도 있습니다. 자세한 학습 은 문서 업데이트 , 문서 교체 및 대량 쓰기 작업 가이드를 참조하세요.
5.2의 새로운 기능
중요
MongoDB Server 3.6에 대한 지원 중단
스칼라 운전자 v5.2 MongoDB Server 3.6에 대한 지원 제거합니다. 서버 의 호환되는 버전에 대해 자세히 학습 호환성을 참조하세요.
5.2 운전자 출시하다 다음과 같은 변경 사항, 수정 사항 및 기능이 포함됩니다.
CSOT( 클라이언트 사이드 작업 시간 제한)를 설정할 수 있습니다. 이 기능 사용하면 해당 클라이언트 로 수행되는 모든 작업에 적용되는 단일 시간 제한을
MongoClient
인스턴스 에 설정하다 수 있습니다. 자세한 학습 은 서버 실행 시간 제한 가이드 참조하세요.중요
더 이상 사용되지 않는 시간 초과 옵션
다음 시간 초과 옵션은 더 이상 사용되지 않습니다.
waitQueueTimeoutMS
socketTimeoutMS
wTimeoutMS
maxTimeMS
maxCommitTimeMS
CSOT 기능 사용하여 이러한 옵션의 기능을 대체합니다.
SearchIndexModel
인스턴스 를 구성할 때 전달할 수 있는SearchIndexType
클래스를 추가합니다. 이 변경 사항을 통해 Atlas Search 또는 Vector Search 인덱스 를 생성할 때 인덱스 유형을 지정할 수 있습니다. 학습 보려면 SearchIndexModel 을 참조하세요. API 문서.SCRAM-SHA-1
및SCRAM-SHA-256
인증 메커니즘을 구현 하는 알고리즘 구현 을 구성된 JCA 제공자 에게 위임합니다. 이 변경은 애플리케이션 에서 구성된 FIPS 호환 JCA 제공자 를 사용하여 더 높은 수준의 보안을 제공할 수 있음을 의미합니다.mongodb-crypt 수정 종속성 버전을 사용하여 JVM 드라이버의 버전과 일치시킵니다.
mongodb-crypt
의 향후 버전은 운전자 와 함께 출시될 예정이며 동일한 버전 번호를 주식 합니다.mongodb-crypt
종속성을 v5 로 업그레이드 해야 합니다.2.0 이 출시하다 의 운전자 를 업그레이드할 때 . 학습 내용은 사용 중 암호화 가이드 를 참조하세요.지원되는 모든 플랫폼에서 네이티브 암호화를 구현 하여 성능이 향상되었습니다. 다음 목록에서는 운영 체제에 따라 이 개선 사항을 구현 하는 데 필요한 조치를 설명합니다.
Windows:
mongodb-crypt
버전을 v5.2.0 로 업그레이드합니다.Mac:
mongodb-crypt
버전을 v5.2.0 으로 업그레이드합니다.Linux:
mongodb-crypt
JAR 파일 에 번들로 제공되는 파일 을 사용하는 대신 파일 시스템에 직접libmongocrypt.so
를 설치합니다.libmongocrypt
설치에 대한 Linux 지침은 서버 매뉴얼 에서 찾을 수 있습니다. 패키지 관리자를 사용하여libmongocrypt
를 설치하는 경우 추가 구성 없이 JNA( Java Native Access)가 해당 위치를 찾습니다. 또는LD_LIBRARY_PATH
환경 변수를libmongocrypt
패키지 의 파일 경로로 설정하여 검색 경로를 지정할 수 있습니다.번들로 제공되는 공유 라이브러리는 OpenSSL 바이너리 비호환성 가능성으로 인해 OpenSSL과 연결되지 않으므로 직접 설치를 권장합니다.
공유 라이브러리 로딩은 JNA에서 처리합니다. 라이브러리 로딩 검색 경로 순서에 대한 규칙은 NativeLibrary 클래스 문서에서 확인할 수 있습니다.
일부 상황에서
InsertOneResult.getInsertedId()
및InsertManyResult.getInsertedIds()
메서드가 잘못된 문서 ID를 반환하는 문제를 수정합니다. 이 변경 사항은 Scala 운전자 v5.1.4 및 v4.11.4에 백포트되었습니다.샤딩된 클러스터 작업이 실패하면 운전자 는 다른
mongos
서버를 사용할 수 있는 경우 작업 재시도를 위해 동일한mongos
서버 를 선택하지 않습니다.애플리케이션 에서 GraalVM 네이티브 이미지를 사용할 때 필요한 연결 가능성 메타데이터 를 추가합니다. 이 메타데이터 는 운전자 라이브러리를 사용할 때 연결 가능성 메타데이터 를 수집할 필요성을 대체합니다. 학습 내용은 연결 가능성 메타데이터 를 참조하세요. GraalVM 문서에서 확인 가능합니다.
지원되는 모든 플랫폼(대상)에 대한 항목을 추가하면 GraalVM 네이티브 이미지를 사용하여 빌드된 네이티브 실행 파일의 크기에 큰 영향을 미치기 때문에 이 변경으로 인해
libjnidispatch
및libmongocrypt
리소스 항목이 추가되지 않습니다. 이 샘플 리소스-config.json 보기 파일 을 운전자 리포지토리 에서 확인하여 Github 애플리케이션 이 라이브러리에 의존하는 경우 이러한 항목을 명시적으로 지정하는 방법을org.mongodb:mongodb-crypt
확인합니다.VectorSearchOptions
API 를 확장하여 다음과 같은 특정 옵션 하위 유형을 도입하여 정확한 벡터 검색 을 활성화합니다.ExactVectorSearchOptions
: 이 옵션 유형을 활성화 정확한 일치가 활성화되어 결과가 지정된 쿼리 벡터에 가장 가까운 벡터가 됩니다.ApproximateVectorSearchOptions
: 정확히 가장 가까운 벡터를 반환하지 않을 수 있는 검색을 활성화 하려면 이 옵션 유형을 사용합니다. 이 유형을 인스턴스화할 때numCandidates
매개변수를 전달하여 고려해야 할 가장 가까운 이웃의 수를 지정할 수 있습니다.
Atlas Vector Search 기능 사용에 학습 보려면 Atlas Vector Search 빠른 시작 을 참조하고 언어 드롭다운에서 Scala 를 선택합니다.
5.1.3의 새로운 기능
5.1.3 운전자 패치 출시하다 에는 다음과 같은 변경 사항이 포함됩니다.
Cursor
유형을 사용할 때 어설션 오류를 일으킬 수 있는 문제를 수정합니다.
5.1.1의 새로운 기능
5.1.1 운전자 패치 출시하다 에는 다음과 같은 변경 사항이 포함됩니다.
MONGODB-OIDC
인증 메커니즘 을 사용하는 경우authMechanismProperties
연결 string 값에 쉼표 문자를 포함하지 않아야 합니다.
5.1의 새로운 기능
중요
MongoDB Server v3.6 수명 종료
MongoDB Server v3.6 에 대한 지원은 이번 출시하다 에서 더 이상 사용되지 않으며 운전자 의 v5.2 출시하다 에서 제거될 예정입니다.
v5.1 에 도입된 다른 변경 사항에 학습 보려면 설명서 의 새로운 기능 가이드 Java Sync Driver 를 참조하세요.