Docs Menu
Docs Home
/ / /
Go
/ /

ネットワーク圧縮

項目一覧

  • Overview
  • 圧縮アルゴリズムを指定する
  • 圧縮アルゴリズムの依存関係
  • 詳細情報
  • API ドキュメント

このガイドでは、Go ドライバーを使用してネットワーク圧縮を有効にする方法を学習できます。 クライアント オプションを指定してメッセージを圧縮することで、MongoDB とアプリケーション間でネットワーク経由で渡されるデータ量を減らすことができます。

Go ドライバーは次の圧縮アルゴリズムをサポートしています。

  1. Snappy : MongoDB3 で利用可能4 。 以降。

  2. zlib:MongoDB3 .6 以降で利用可能。

  3. Zstandard : MongoDB で利用可能4 2。 以降。

複数の圧縮アルゴリズムを指定した場合、ドライバーは MongoDB 配置でサポートされているリスト内の最初の を選択します。

Snappy または Zstandard 圧縮アルゴリズムを使用するには、依存関係を追加する必要があります。 詳細については、このガイドの「圧縮アルゴリズムの依存関係」セクションを参照してください。

MongoDB 配置への接続の圧縮を有効にするには、次の 2 つの方法のいずれかのアルゴリズムを指定します。

  • 接続stringで圧縮アルゴリズムを設定します。

  • ClientOptionsインスタンスで圧縮アルゴリズムを設定します。

接続文字列 を使用して圧縮を有効にするには、compressors パラメータの値として圧縮アルゴリズムを 接続stringに追加しstring 。 カンマで区切られた1つ以上の圧縮アルゴリズムを指定できます。

opts := options.Client().ApplyURI("mongodb://localhost:27017/?compressors=snappy,zlib,zstd")
client, _ := mongo.Connect(context.TODO(), opts)

ClientOptions を指定して圧縮を有効にするには、 インスタンスに接続する場合は、1 つ以上の圧縮アルゴリズムをSetCompressors() string 配列として メソッドに渡します。

opts := options.Client().SetCompressors([]string{"snappy", "zlib", "zstd"})
client, _ := mongo.Connect(context.TODO(), opts)

次の文字列を使用して圧縮アルゴリズムを指定します。

Snappy 圧縮アルゴリズムをアプリケーションに追加するには、次のコードを実行します。

go get github.com/golang/snappy

Zstandard 圧縮アルゴリズムをアプリケーションに追加するには、次のコードを実行します。

go get -u github.com/klauspost/compress

アプリケーションにzlib圧縮アルゴリズムを追加するには、組み込みの zlib パッケージをインポートします。 zlib圧縮で Client をインスタンス化するアプリケーション ファイルには、次のインポート ステートメントを追加する必要があります。

import "compress/zlib"

このガイドの概念の詳細については、次のドキュメントを参照してください。

  • 接続ガイドの接続 URI

  • サーバー マニュアルの「接続string圧縮オプション」を参照してください

  • zlib パッケージ Go のドキュメント

戻る

接続ガイド