Desduplicação de dados é um processo no qual cópias redundantes de informações são eliminadas, reduzindo, em última análise, os custos de funcionamento do armazenamento dessas informações. Com essa tecnologia, é possível otimizar a capacidade de qualquer data warehouse.
Independentemente do método, a desduplicação permite salvar apenas uma informação exclusiva na mídia. Portanto, um dos pontos mais importantes na desduplicação é o nível de detalhe.
A desduplicação de dados tem vários níveis de execução:
- bytes;
- arquivos;
- blocos.
Cada um desses métodos tem seus próprios lados positivos e negativos. Vejamos com mais detalhes.
armazenamento em nuvem híbrida
Métodos de desduplicação de dados
Nível do bloco
É considerado o método de desduplicação mais popular e envolve a análise de uma parte dos dados (um arquivo), com preservação adicional de apenas repetições únicas de informações para cada bloco individual.
Nesse caso, um bloco é considerado uma unidade lógica de informação com um tamanho característico, que pode variar. Todos os dados na deduplicação em nível de bloco são processados usando hash (por exemplo, SHA-1 ou MD5).
Os algoritmos de Hash permitem criar e armazenar uma assinatura específica (identificador) no banco de dados de desduplicação, que corresponde a cada bloco de dados exclusivo individual.
Portanto, se o arquivo for alterado durante um determinado período de tempo, não o arquivo inteiro entrará no data warehouse, mas apenas seus blocos modificados.
Existem 2 tipos de deduplicação de blocos — com comprimentos de bloco variáveis e constantes. A primeira opção envolve a distribuição de arquivos em blocos, cada um dos quais pode ter um tamanho diferente.
Essa opção é mais eficaz em termos de redução da quantidade de dados armazenados do que ao usar a desduplicação com um comprimento de bloco constante.
Nível Do Arquivo
Esse método de desduplicação envolve a comparação de um novo arquivo com um já salvo. Se algum arquivo exclusivo aparecer, ele será salvo. Se o arquivo que você encontrar não for novo, apenas o link (um ponteiro para este arquivo) será salvo.
Ou seja, com esse tipo de desduplicação, apenas uma versão do arquivo é gravada e todas as cópias futuras dele receberão um ponteiro para o arquivo original. A principal vantagem desse método é a facilidade de implementação sem grave degradação do desempenho.
Nível de Byte
Em princípio, é semelhante ao primeiro método de desduplicação em nossa lista, mas em vez de blocos, uma comparação byte a byte de arquivos antigos e novos é usada aqui. Esta é a única maneira de garantir a eliminação máxima de arquivos duplicados.
No entanto, a desduplicação em nível de byte também tem uma desvantagem significativa: o componente de hardware da máquina na qual o processo está sendo executado deve ser extremamente poderoso, uma vez que requisitos mais altos são impostos a ele.
Desduplicação e backup de dados
Além de todos os itens acima, no processo de criação de uma cópia de backup dos dados, a desduplicação pode ser realizada usando diferentes métodos:
- o local da execução;
- para a fonte de dados (cliente);
- o lado do armazenamento (servidor).
Desduplicação cliente-servidor
Um método combinado de desduplicação de dados, no qual os processos necessários podem ser executados no servidor e no cliente. Antes de enviar dados do cliente para o servidor, o software primeiro tenta “entender” quais dados já foram registrados.
Para tal desduplicação, inicialmente é necessário calcular o hash para cada bloco de dados e, em seguida, enviá-los ao servidor como um arquivo de Lista de várias chaves de hash. Uma lista dessas chaves é comparada no servidor e, em seguida, os blocos com dados são enviados ao cliente.
Esse método reduz significativamente a carga na rede, pois apenas dados exclusivos são transmitidos.
Deduplicação no cliente
Implica realizar uma operação diretamente na fonte de dados. Portanto, com essa desduplicação, o poder de computação do cliente estará envolvido. Após a conclusão do processo, os dados serão enviados para os dispositivos de armazenamento.
Esse tipo de desduplicação é sempre implementado usando software. E a principal desvantagem do método descrito é a alta carga na RAM e no processador do cliente. A principal vantagem está na capacidade de transferir dados por uma rede de baixa largura de banda.
Deduplicação no servidor
Ele é usado quando os dados são enviados para o servidor de forma completamente bruta — sem codificação e compactação. Esse tipo de desduplicação é dividido em software e hardware.
Tipo De Hardware
Ele é implementado com base em um dispositivo de desduplicação, que é fornecido na forma de uma solução de hardware específica que combina a lógica da desduplicação e o procedimento de recuperação de dados.
A vantagem desse método é a capacidade de transferir a carga das capacidades do servidor para uma unidade de hardware específica. O próprio processo de desduplicação obtém o máximo de transparência ao mesmo tempo.
Tipo de programa
Implica o uso de um software especial, que, de fato, realiza todos os processos de desduplicação necessários. No entanto, com essa abordagem, é sempre necessário levar em consideração a carga no servidor que ocorrerá durante o processo de desduplicação.
Vantagens e desvantagens
Os aspectos positivos da desduplicação como processo incluem os seguintes pontos:
- Alta eficiência. De acordo com a pesquisa da EMC, o processo de desduplicação de dados reduz a necessidade de capacidade de armazenamento em 10 a 30 vezes.
- Os benefícios de usá-lo com baixa largura de banda de rede. Isso se deve à transferência de dados exclusivamente exclusivos.
- A capacidade de criar backups com mais frequência e armazenar backups de dados por mais tempo.
As desvantagens da desduplicação incluem:
- A possibilidade de um conflito de dados se um par de blocos diferentes gerar a mesma chave hash ao mesmo tempo. Nesse caso, o banco de dados pode estar corrompido, o que causará uma falha ao restaurar de um backup.
- Quanto maior o volume do banco de dados, maior o risco de uma situação de conflito. A solução para o problema é aumentar o espaço de hash.