Por favor, habilite JavaScript para poder visualizar esta página corretamente.

DEDUPLICAÇÃO

Criado em 05/11/2023, por Hosco.

Apresentação

A otimização no armazenamento de dados digitais é uma necessidade que começa por volta de 1970 e que se acentua à partir de 2000, com a informatização geral das cadeias de produção e da sociedade como um todo. Em 2022, quase 100 zetabytes foram criados, copiados e utilizados, de acordo com levantamento da conceituada empresa Statista.

Em razão da crescente demanda por armazenagem, o uso de equipamentos com grande capacidade tornou-se frequente e a deduplicação de dados passou integrar a maior parte dos ambientes computacionais de nível enterprise.

Este documento abrange a deduplicação, de forma sucinta, explicando sua origem, conceito, funcionamentos, benefícios e eventuais desvantagens.

Data centers têm uso intenso de dedup
Data centers têm uso intenso de dedup

Origem

A compressão manual de arquivos, através de programas como o Compress ou Pkzip, é o modo mais antigo de economia em armazenagem de dados. Posteriormente, sistemas de arquivos (NTFS, Reiser4, ZFS, BTRFS, entre outros) foram desenvolvidos para suportar compressão automática em tempo real, usando algorítimos como LZO e LZMA. No entanto, a compressão por arquivo pode apresentar baixa eficiência em determinadas circunstâncias; além de elevar bastante o consumo de recursos computacionais e causar lentidão em operações de leitura e escrita.

A deduplicação foi idealizada em 2000, como uma forma mais eficiente e moderna de otimização de armazenamento para storages de larga escala, tendo como base o conceito de delta compression - criado nos anos 90 e que prioriza a compactação através de arquivos similares. As primeiras implementações desse recurso aconteceram entre 2003 e 2004, quando grandes empresas começaram a migrar seus backups de fita para discos rígidos.

Compressão de arquivos, com o Pkzip
Compressão de arquivos, com o Pkzip

Definição

Deduplicação é uma tecnologia em que eventuais dados copiados ou duplicados são meras referências (ponteiros) ao dado original, otimizando o armazenamento em ambientes computacionais, através da prevenção de duplicidades em dispositivos, volumes ou partições. É um recurso que proporciona ganho de espaço, devido a inexistência de blocos repetidos ou de arquivos redundantes, sendo muito usado em data centers e demais ambientes corporativos (principalmente, em servidores de arquivos e sistemas de backup). O termo é derivado da palavra inglesa deduplication e também é conhecido como dedup. Em língua portuguesa, às vezes é denominado desduplicação.

Quando um arquivo é copiado de uma pasta para outra, em um volume com dedup ativado, o sistema simplesmente cria uma referência ao arquivo original, em vez de duplicar o conteúdo. A deduplicação também pode acontecer em nível de bloco ou área (chunk) de dados. A deduplicação ocasiona reducão de custo com armazenamento e pode proporcionar operações mais rápidas de backup e restauração de dados.

Um hipotético sistema contendo 10 cópias de um arquivo de 20 gigabytes, consome 200 gigabytes de espaço em disco. Se uma tecnologia de deduplicação for implementada nesse ambiente, o espaço utilizado pode reduzir de 200 gigabytes para apenas 20 gigabytes.

Ilustração da deduplicação de dados
Ilustração da deduplicação de dados

Funcionamento

A tecnologia e o método de deduplicação determinam a forma como as duplicidades são eliminadas, havendo diversas soluções de código aberto e softwares proprietários com algoritmos peculiares. Mas, basicamente, o processo consiste em gerar impressões digitais de blocos, arquivos ou áreas de dados, e manter um único seguimento através da comparação dos hashes (resultado de uma função matemática que determina a singularidade e integridade de um dado).

Quando o ponteiro faz qualquer alteração no seu dado original, ele deixa de ser uma simples referência e passa a ser um dado, propriamente dito, que receberá apontamentos, caso ocorram cópias ou duplicações dele.

A deduplicação atua de forma diferente da compressão. Ela oferece economiza de espaço através da remoção de redundâncias, enquanto a compressão reduz o tamanho dos arquivos, através de processos mais complexos.

Exemplo de deduplicação em pool ZFS
Exemplo de deduplicação em pool ZFS

Tipos

Embutida

A deduplicação embutida (inline deduplication) ocorre em tempo real, com a eliminação das duplicidades acontecendo antes dos dados serem gravados no volume ou sistema de arquivos. É o tipo mais eficiente de dedup e costuma estar presente em volumes ou sistema de arquivos modernos como ZFS, BTRFS, HAMMER, ReFS, APFS, entre outros.

Pós Processo

Deduplicação pós processo (post-process deduplication) é uma forma menos eficiente para remoção de duplicidade e que exige mais recursos de hardware (principalmente, relacionados a dispositivos de armazenamento) para ser realizada. Sua implementação é mais complexa e pode apresentar alguns problemas relacionados a integridade de dados.

Métodos

Por Arquivo

Deduplicação em nível de arquivo (file deduplication) consiste em verificar a identidade de cada arquivo, removendo eventuais duplicidades e mantendo apenas aquele que servirá como referência para eventuais cópias. É uma verificação baseada em igualdade de hashes e não tem relação com semelhanças de conteúdo.

Por Bloco

Deduplicação em nível de bloco (block deduplication) previne a duplicação ou redundância de blocos, mantendo apenas aqueles com conteúdos exclusivos, que servirão de referência para conteúdos semelhantes e serão acessados através de ponteiros.

Por Fragmentação

Deduplicação por fragmentação ou (chunking deduplication) ocorre através da quebra de áreas de dados em pedaços menores, os quais são gerados hashes para verificação e remoção de duplicidades.

PowerShell exibindo dedup em Windows
PowerShell exibindo dedup em Windows

Utilização

Sistemas de Backup
Em storages de backup que guardam grandes quantidades de dados redundantes, a deduplicação pode reduzir o espaço necessário para armazenagem em até 90%, além de proporcionar recuperações mais rápidas.
Servidores de Arquivos
Nos ambientes de armazenamento de arquivos, as operações de leitura podem ficar mais rápidas e o ganho de espaço pode chegar até 60%, principalmente quando há muitos arquivos compartilhados entre os usuários.
Sistemas de Virtualização
Nos datastores, o uso de deduplicação é bastante comum, proporcionando maior performance de leitura e ganhos de espaço em até 70%, especialmente se muitas máquinas virtuais usam sistemas operacionais semelhantes.
Uso de deduplicação no Bacula Enterprise
Uso de deduplicação no Bacula Enterprise

Benefícios

Economia e otimização do espaço de armazenamento são as principais vantagens oferecidas pela deduplicação. O mercado oferece linhas de storage com este recurso embarcado, tais como NetApp FAS, IBM Spectrum e EMC Clariion.

Aumento de performance na transferência de dados é outra vantagem da deduplicação, principalmente, durante procedimentos de backup com ferramentas mais modernas (como o Bacula Enterprise, por exemplo).

Precauções

A deduplicação pode levar à perda de dados se não for realizada corretamente, principalmente nas implementações pós processo. Outros problemas relacionados a esta tecnologia são a sobrecarga de recursos (processamento e armazenamento) e latência nas operações de leitura e gravação de dados.

Em determinados cenários, o uso da deduplicação aumenta a probabilidade de ocorrer danos nas mídias de armazenamento (HD, SSD, etc), devido a alta frequência de acesso às mesmas áreas físicas de disco. Além disso, pode elevar o consumo com processamento e causar lentidão no sistema.

HD com dano em cabeça de leitura
HD com dano em cabeça de leitura

Conclusão

A deduplicação é uma técnica que traz ganhos notáveis de armazenamento e performance, para a maior parte dos ambientes computacionais, sendo muito comum em data centers e centros de processamento de dados. É uma ferramenta fundamental para implementar sistemas rápidos de data restore e otimizar servidores de arquivos. No entanto, a deduplicação deve ser implementada, com cuidado, de forma programada e equilibrada.

#deduplicação #dedup #dados #armazenamento #storage #Hosco