Eu tenho um conjunto de backups principalmente de fotos. O diretório é mais ou menos assim:
backup/Day1/photos/1.jpg
.../2.jpg
backup/Day2/photos/2.jpg
.../3.jpg
.../4.jpg
backup/DayN/photos/2.jpg
.../3.jpg
.../9.jpg
Arquivos com o mesmo nome são idênticos. Existem muitas duplicatas. Devido à forma como o sistema de backup funciona, não é possível criar backup incremental diretamente. Eu sempre recebo o lixo inteiro todos os dias.
Se eu quiser criar um arquivo compactado para um intervalo de datas, por exemplo, dia 5 a 9,qual é a melhor ferramenta/algoritmo de compactação para fazer isso, o que funciona bem com a desduplicação?(Não estou contando com a compactação do próprio JPEG)
Responder1
ZPAQé um arquivador pouco conhecido que faz desduplicação e, AFAIK, o único. Como o ZPAQ também faz controle de versão, você pode manter cada backup em um único arquivo, reduzindo ainda mais o uso de espaço.
Ou você pode usar um sistema de controle de versão, como o Git, que faz a desduplicação de arquivos automaticamente.
Ou, se quiser algo mais complicado, você pode mexer no Btrfs ou ZFS, que são sistemas de arquivos com desduplicação integrada. A desduplicação do Btrfs não é tão boa quanto a do ZFS.
Responder2
WIM (Windows Imaging Format) é provavelmente o que você está procurando. Embora o ZPAQ seja nada menos que uma ferramenta incrível (eu mesmo o uso), ele bloqueia a desduplicação baseada em blocos, enquanto a desduplicação do WIM é baseada em arquivos (a MS o chama de SIS - Armazenamento de Instância Única, consulteMicrosoft Deployment Toolkit usando MDT e armazenamento de instância única).
Como a pergunta menciona que são os próprios arquivos que são repetidos, pode-se argumentar que a desduplicação baseada em arquivos seria uma opção melhor - especialmente levando em consideração que estamos falando de JPEGS.
WIM e ZPAQ:
- Faça atualizações incrementais
- Tenha suporte para detecção de erros
- Suporta criptografia forte
- São suportados pelo menos em Windows e Linux (consultewimlib - a biblioteca de código aberto do Windows Imaging (WIM)- para WIM)
- Tenha forte suporte de compressão
- São estáveis
Vantagens do WIM:
- Amplamente adotado e apoiado
- Mais rápido
- Resultados semelhantes ao ZPAQ
Desvantagens do WIM
- Desduplicação em nível de arquivo (inútil para arquivos (especialmente se grandes) com pequenas alterações).
Vantagens do ZPAQ:
- Desduplicação em nível de bloco - incrível para dados repetidos em massa com pequenas alterações entre versões de arquivo, por exemplo, mas não só
- Ferramenta incrível, única no que faz e como faz, até onde eu sei
Desvantagens do ZPAQ:
- um pouco mais lento (não tanto quanto eu imagino), quando a desduplicação está ativada e a compactação está definida como máximo (5), portanto, apenas uma vantagem marginal se a desduplicação no nível do arquivo for suficiente
- Não amplamente adotado
- Não há bom suporte à GUI (é importante para restaurações e navegação de arquivos)