개요
이 가이드 에서는 코틀린 동기 (Kotlin Sync) 운전자 사용하여 네트워크 압축을 활성화 방법을 학습 수 있습니다. 운전자 메시지를 압축하는 연결 옵션을 제공하여 MongoDB 와 애플리케이션 간에 네트워크를 통해 전달되는 데이터의 양을 줄입니다.
이 드라이버는 다음 압축 알고리즘을 지원합니다.
여러 압축 알고리즘을 지정하는 경우 드라이버는 MongoDB 인스턴스에서 지원하는 목록에서 첫 번째 압축 알고리즘을 선택합니다.
참고
Snappy 또는 Zstandard 압축이 필요한 애플리케이션은 해당 알고리즘에 대한 명시적 종속성을 추가해야 합니다. 자세히 학습하려면 이 가이드의 압축 알고리즘 종속성 섹션을 참조하세요.
압축 알고리즘 지정
다음 방법 중 하나로 알고리즘을 지정하여 MongoDB 인스턴스 에 대한 연결에 압축을 활성화 할 수 있습니다.
compressorList()
메서드를MongoClientSettings.builder()
메서드에 연결합니다.연결 URI에
compressors
매개변수를 사용합니다.
다음 예제는 MongoDB 에 연결하는 동안 사용 가능한 모든 압축기를 지정하는 방법을 보여줍니다. MongoClientSettings 또는 Connection URI 탭 선택하여 해당 구문을 확인합니다.
val settings = MongoClientSettings.builder() .applyConnectionString(ConnectionString("<connection string>")) .compressorList( listOf( MongoCompressor.createSnappyCompressor(), MongoCompressor.createZlibCompressor(), MongoCompressor.createZstdCompressor()) ) .build() val mongoClient = MongoClient.create(settings)
val uri = ConnectionString("mongodb+srv://<db_username>:<db_password>@<cluster-url>/?compressors=snappy,zlib,zstd") val mongoClient = MongoClient.create(uri)
zlib 압축 수준 지정
압축 알고리즘 중 하나로 zlib
을 지정하는 경우 MongoCompressor.LEVEL
속성 사용하여 압축 수준을 지정할 수도 있습니다. 이 옵션은 -1
에서 9
사이의 정수 값을 사용할 수 있습니다.
-1: 기본 압축(일반적으로
6
)0: 압축 없음
1: 속도는 가장 빠르지만 압축률은 가장 낮습니다.
9: 압축률은 가장 높지만 속도가 가장 느림
다음 예는 zlib
압축기의 압축 수준을 지정하는 방법을 보여줍니다. MongoClientSettings 또는 Connection URI 탭 선택하여 해당 구문을 확인합니다.
val zlib = MongoCompressor.createZlibCompressor() val settings = MongoClientSettings.builder() .applyConnectionString(ConnectionString(uri)) .compressorList(listOf(zlib.withProperty(MongoCompressor.LEVEL, <level>))) .build() val mongoClient = MongoClient.create(settings)
val uri = "mongodb://<db_username>:<db_password>@<hostname>:<port>/?" + "compressors=zlib" + "zlibCompressionLevel=<zlib compression level>" val mongoClient = MongoClient.create(uri)
압축 알고리즘 종속성
JDK는 기본적으로 zlib 압축을 지원합니다. 그러나 Snappy와 Zstandard는 오픈 소스 Java 구현에 의존합니다. 이러한 구현에 대해 자세히 학습 다음 Github 리포지토리를 참조하세요.
API 문서
이 가이드에서 사용되는 메서드 또는 유형에 대해 자세히 알아보려면 다음 API 설명서를 참조하세요.