É mais eficiente sincronizar dados de texto descompactados ou os mesmos dados gzipados?

3

O Rsync copia apenas as partes alteradas de um arquivo. Portanto, se eu tiver um despejo de dados grande, por exemplo, um banco de dados SQL em formato de texto, e quiser copiá-lo para minha máquina local usando a menor largura de banda possível, o que devo fazer?

Eu posso deixá-lo como texto descompactado e usar o rsync com a opção -z, ou posso fazer gzip no servidor e rsync o arquivo gzip.

Minha suspeita é que uma pequena alteração no arquivo de texto SQL de origem poderia resultar em um maior arrastamento de dados na versão compactada do gzip, portanto o rsync teria que fazer mais trabalho à medida que mais arquivos fossem alterados.

Além disso, como a opção -z está realizando a compactação de qualquer maneira, isso pode ser o mais eficiente. No entanto, não tenho certeza.

    
por Mark Theunissen 21.09.2011 / 10:43

2 respostas

4

Eu passei por um processo formal de verificar isso há alguns anos atrás. Eu precisava copiar os despejos de backup do MS-SQL de escritórios regionais (30!) Para o HQ por meio de VPNs baseadas em banda larga e tentei todas as permutações de compactação e não-compactação.

No meu caso, os arquivos descompactados transferiram o mais rápido usando o rsync com sua própria compactação. Os tamanhos dos arquivos eram tipicamente 4-9GB de dados despejados e alguns deles seriam sincronizados em poucos minutos.

Se os dumps de dados foram compactados, o rsync praticamente transferiu os arquivos inteiros todas as vezes e isso levou horas.

Vale a pena fazer alguns testes com seus dados, mas suspeito que você ache melhor deixar os arquivos como estão para o rsync resolver.

    
por 21.09.2011 / 14:55
1

Seu palpite provavelmente está certo, é melhor apenas compactar as partes alteradas.

    
por 21.09.2011 / 10:58

Tags