Docs Menu
Docs Home
/ / /
Kotlin 코루틴
/ /

네트워크 압축

이 페이지의 내용

  • 압축 알고리즘 지정
  • 압축 알고리즘 종속성

MongoDB 코틀린(Kotlin) 드라이버는 메시지를 압축하는 연결 옵션을 제공하며, 이를 통해 MongoDB와 애플리케이션 간에 네트워크를 통해 전달되는 데이터의 양을 줄일 수 있습니다.

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

  1. Snappy: MongoDB 3 에서 사용4 가능합니다. 이상.

  2. Zlib: MongoDB 3.6 이상에서 사용할 수 있습니다.

  3. Zstandard: MongoDB 4.2 이상에서 사용할 수 있습니다.

드라이버는 이러한 라이브러리의 다음 버전에 대해 테스트합니다:

  • org.xerial.snappy:snappy-java:1.1.8.4

  • com.github.luben:zstd-jni:1.5.5-2

여러 압축 알고리즘을 지정하는 경우 드라이버는 드라이버가 연결된 MongoDB 인스턴스에서 지원하는 첫 번째 압축 알고리즘을 선택합니다.

참고

애플리케이션에 Snappy 또는 Zstandard 압축이 필요한 경우 해당 알고리즘에 대한 명시적 종속성 을 추가해야 합니다.

다음과 같은 방법으로 알고리즘을 지정하여 연결에서 압축을 활성화할 수 있습니다.

  • ConnectionString 인스턴스에 compressors 매개 변수 추가

  • MongoClientSettings 빌더에서 compressorList() 메서드를 호출합니다.

ConnectionString 에서 연결에 대한 압축을 활성화 하려면 compressors 다음을 수행합니다. 인스턴스 인 경우 매개변수를 지정합니다. compressors 매개변수에 다음 값 중 하나 이상을 지정할 수 있습니다.

다음 예제에서는 Snappy, Zlib 및 Zstandard를 연결의 압축 알고리즘으로 지정하는 방법을 보여줍니다.

// Replace the placeholders with values from your MongoDB deployment's connection string
val connectionString = ConnectionString("mongodb+srv://<user>:<password>@<cluster-url>/?compressors=snappy,zlib,zstd")
// Create a new client with your settings
val mongoClient = MongoClient.create(connectionString)

MongoClientSettings 내에서 다음을 사용하여 압축을 활성화 하려면 ,CompressorList() 를 호출합니다. 빌더 메서드를 생성하고 하나 이상의 MongoCompressor 를 전달합니다. 인스턴스를 매개 변수로 사용합니다.

MongoCompressor 에서 다음 메서드를 호출하여 압축 알고리즘을 지정할 수 있습니다.

  • createSnappyCompressor() for Snappy 압축

  • createZlibCompressor() for zlib 압축

  • createZstdCompressor() Zstandard 의 경우 압축

다음 예제에서는 Snappy, Zlib 및 Zstandard를 연결의 압축 알고리즘으로 지정하는 방법을 보여줍니다.

// Replace the placeholder with your MongoDB deployment's connection string
val uri = "<connection string>"
val settings = MongoClientSettings.builder()
.applyConnectionString(ConnectionString(uri))
.compressorList(
listOf(
MongoCompressor.createSnappyCompressor(),
MongoCompressor.createZlibCompressor(),
MongoCompressor.createZstdCompressor())
)
.build()
// Create a new client with your settings
val mongoClient = MongoClient.create(settings)

JDK는 기본적으로 Zlib 압축을 지원하지만 SnappyZstandard는 오픈 소스 구현에 의존합니다. snappy-java를 참조하세요. 및 zstd-java 자세한 내용은.

돌아가기

MongoClient 설정