データ圧縮
次のガイドでは、MongoDB サーバーとクライアント間でデータ圧縮サポートがどのように機能するかについて説明します。 また、データ圧縮を使用してサーバーに接続する方法の例も示します。
MongoDBとの間でのデータ圧縮
MongoDB 3.4は Snappy 圧縮のサポートを追加し、 3.6に zlib 圧縮が追加され、 4.2に zstd 圧縮が追加されました。 圧縮のサポートを有効にするには、使用するコンプレッサーをクライアントに設定する必要があります。
mongoc_client_t *client = NULL; client = mongoc_client_new ("mongodb://localhost:27017/?compressors=snappy,zlib,zstd");
compressors
オプションは、クライアントが使用するコンプレッサーの優先順位を指定します。 クライアントとサーバーが共通のコンプレッサーを共有している場合、メッセージは圧縮されます。
サーバーが使用するコンプレッサーは、クライアントが使用するコンプレッサーと同じではないことに注意してください。 たとえば、クライアントが接続string compressors=zlib,snappy
を使用する場合、クライアントは zlib
圧縮を使用してデータを送信します(可能な場合)。ただし、サーバーの構成方法によっては、サーバーは引き続き snappy
を使用して応答する場合があります。
圧縮サポートを有効にするには、ドライバーを zlib および/または snappy および/または zstd サポートでビルドする必要があります。不明な(またはコンプレッサーでコンパイルされていない)コンプレッサー値は無視されます。