Docs Menu
Docs Home
/ / /
Java 동기화
/ /

네트워크 압축

메시지를 압축하는 드라이버 옵션을 활성화하여 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.2-3

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

참고

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

ConnectionString 을 사용하여 연결 문자열에 매개변수를 추가하거나 MongoClientSettings.Builder 클래스에서 메서드를 호출하는 두 가지 방법 중 하나로 알고리즘을 지정하여 MongoDB 인스턴스 연결에 대한 압축을 활성화할 수 있습니다.

ConnectionString 을 사용하여 압축을 활성화 compressors string 하려면 에 전달된 연결 에 매개 변수 를 MongoClients.create() 추가합니다. 하나 이상의 압축 알고리즘을 쉼표로 구분하여 지정할 수 있습니다.

ConnectionString connectionString = new ConnectionString("mongodb+srv://<db_username>:<db_password>@<cluster-url>/?compressors=snappy,zlib,zstd");
MongoClient mongoClient = MongoClients.create(connectionString);

다음 문자열을 사용하여 압축 알고리즘을 지정합니다.

MongoClientSettings 를 사용하여 압축을 활성화 하려면 ,CompressorList() 를 전달합니다. 빌더 메서드 MongoCompressor 목록 인스턴스. 목록에서 하나 이상의 압축 알고리즘을 지정할 수 있습니다.

MongoClientSettings settings = MongoClientSettings.builder()
.compressorList(Arrays.asList(MongoCompressor.createSnappyCompressor(),
MongoCompressor.createZlibCompressor(),
MongoCompressor.createZstdCompressor()))
.build();
MongoClient client = MongoClients.create(settings);

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

돌아가기

MongoClient 설정 지정