O guia a seguir explica como funciona o suporte de compressão de dados entre o servidor MongoDB e o cliente. Ela também mostra um exemplo de como se conectar a um servidor com compactação de dados.
Compactando dados de e para MongoDB
O MongoDB 3.4 adicionou suporte à compactação Snappy, enquanto a compactação zlib foi adicionada em 3.6 e a compactação zstd em 4.2. Para habilitar o suporte de compressão, o cliente deve ser configurado com quais compressores usar:
mongoc_client_t *client = NULL; client = mongoc_client_new ("mongodb://localhost:27017/?compressors=snappy,zlib,zstd");
A opção compressors
especifica a ordem de prioridade dos compressores que o cliente deseja usar. As mensagens serão compactadas se o cliente e o servidor compartilharem compressores em comum.
Observe que o compressor usado pelo servidor pode não ser o mesmo compressor que o cliente usou. Por exemplo, se o cliente usar a string de conexão compressors=zlib,snappy
, o cliente usará zlib
compactação para enviar dados (se possível), mas o servidor ainda poderá responder usando snappy
, dependendo de como o servidor foi configurado.
O driver deve ser compilado com suporte a zlib e/ou snappy e/ou zstd para habilitar o suporte a compactação, qualquer valor de compressor desconhecido (ou não compilado em) será ignorado.