Join us Sept 17 at .local NYC! Use code WEB50 to save 50% on tickets. Learn more >
MongoDB Event
Docs Menu
Docs Home
/ / /
Kotlin Sync 드라이버
/ /

네트워크 트래픽 압축

이 가이드 에서는 코틀린 동기 (Kotlin Sync) 운전자 사용하여 네트워크 압축을 활성화 방법을 학습 수 있습니다. 운전자 메시지를 압축하는 연결 옵션을 제공하여 MongoDB 와 애플리케이션 간에 네트워크를 통해 전달되는 데이터의 양을 줄입니다.

이 드라이버는 다음 압축 알고리즘을 지원합니다.

  • 스내피

  • zlib

  • Zstandard

여러 압축 알고리즘을 지정하는 경우 드라이버는 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 을 지정하는 경우 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 설명서를 참조하세요.

돌아가기

연결 옵션

이 페이지의 내용