Coleções compactas do MongoDB

Coleções compactas do MongoDB

Neste tutorial, exploraremos como usar o comando compacto em MongoDBB. O comando compacto permite que você reescreva e desfragem os dados e índices dentro de uma coleção MongoDB Free Up Disk Space.

Sintaxe de comando

O snippet de código a seguir mostra a sintaxe do comando compact:

dB.comando de execução(

compactar:

)

O comando compacto aceita os seguintes parâmetros:

  1. - Especifica o nome da coleção para compactar.
  2. força - Um parâmetro booleano que permite que o comando compacto seja executado no primário em um determinado conjunto de réplicas.
  3. Comente - Especifica um comentário anexado a um determinado comando.

É bom ter em mente que a operação compacta bloqueia o banco de dados no qual o comando compacto é executado. No entanto, isso não afeta os outros bancos de dados no cluster.

Exemplo:

Vamos ilustrar como usar o comando compacto em mongodb. Para ver melhor os efeitos do comando compacto, é bom ver o tamanho da coleção antes da compactação.

Suponha que tenhamos uma coleção chamada Disney, que contém as informações sobre filmes e programas de TV da Disney.

Podemos obter o uso do disco de coleta antes da compactação com o seguinte comando:

cinema> dB.Disney.estatísticas (escala: 1024)

O comando anterior retorna as estatísticas sobre a coleção especificada. O que estamos interessados ​​é o tamanho da coleção. Um exemplo de saída é como mostrado:

,
Nindexes: 3,
IndexBuilds: [],
TotalIndexSize: 104,
Totalsize: 400,
IndexSizes: _id_: 28, title_1: 52, type_1: 24,
ScaleFactor: 1024,
OK: 1

Nesse caso, podemos ver que a coleção ocupa 400kb de dados antes da compactação.

Executando o comando de compactação

Podemos executar a operação de compactação, como mostrado no seguinte:

cinema> dB.RuCommand (compact: "Disney", Force: True)

O comando deve retornar uma saída como mostrado no seguinte:

cinema> dB.RuCommand (compact: "Disney", Force: True)
bytesfreed: 300, ok: 1

Podemos então verificar as estatísticas de uso da seguinte forma:


Nindexes: 3,
IndexBuilds: [],
TotalIndexSize: 104,
Totalsize: 399,
IndexSizes: _id_: 28, title_1: 52, type_1: 24,
ScaleFactor: 1024,
OK: 1

Podemos ver que o comando libera 30 bytes de dados.

Conclusão

Neste curto post, abordamos como usar o comando compact em mongodb para desfragitar os dados em uma determinada coleção e liberar um espaço de disco para o sistema host.