blogti+i desduplicacao vs compressao
TRANSCRIPT
A TI com “I” de Inteligênciahttp://www.timaisinteligente.org
Desduplicação vs CompressãoUma Comparação Rápida
Utilize o conteúdo livremente, somente pedimos que mantenha uma referência ao Blog TI +I
Ricardo Costa
Autor Blog TI + I
Exemplo de Compressão de Texto
“O rato roeu a roupa do rei de Roma”
Caracter # de Ocorrências Valor ASCII Valor Binário
O 1 79 0100 1111
r 4 114 0111 0010
o 5 111 0110 1111
a 4 97 0110 0001
TI + Inteligente : A TI com “I” de Inteligência (2008-2009)
a 4 97 0110 0001
(espaço) 8 32 0010 0000
• Como exemplo, tomemos esses caracteres como os mais presentes no texto• Cada caracter é um conjunto de 8 bits, ou 1 byte (espaço também conta)• O texto todo tem 34 caracteres, ou 34 bytes (incluindo espaços)• A compressão visa substituir tais caracteres por valores com menos bits• É como o código Morse (caracter “E” é representado por um “.”)
Exemplo de Compressão de Texto
• Criemos nossa tabela de representação de caracteres:
Caracter # de Ocorrências Valor ASCII Valor Binário
O 1 79 0100 1111
r 4 114 0111 0010
o 5 111 0110 1111
a 4 97 0110 0001
TI + Inteligente : A TI com “I” de Inteligência (2008-2009)
(espaço) 8 32 0010 0000
• Note que cada caracter ficou representado por bits específicos• O compressor sabe agora que onde tiver 01001 o caracter é “O”• Note que agora os caracteres com maior incidência no texto possuem menos bits• Esse tipo de algoritmo segue a Codificação de Huffman
Exemplo de Compressão de Texto
Caracter Valor Binário
Original
Tamanho de
bits Originais
Valor
Comprimido
Tamanho de
bits
Comprimidos
Taxa de
Compressão
Atingida
O 0100 1111 8 0100 1 5 37,5%
r 0111 0010 8 0111 4 50%
o 0110 1111 8 111 3 62,5%
a 0110 0001 8 0110 3 62,5%
TI + Inteligente : A TI com “I” de Inteligência (2008-2009)
a 0110 0001 8 0110 3 62,5%
(espaço) 0010 0000 8 00 2 75%
Com base na tabela de conversão acima, vejamos uma comparação entre a frase original e a comprimida (em binário):
01001111001000000111001001100001011101000110111100100000011100100110111101100101011101010010000001100001001000000111001001101111011101010111000001100001001000000110010001101111001000000111001001100101011010010010000001100100011001010010000001010010011011110110110101100001
Frase Original
01001000111011001110100111000111111011001010111010100011000011111101110101011100000110000110010011100011101100101011010010001100100011001010001010010111011011010110
Frase Comprimida
164 bits272 bits
Compressão de 39,7%
Escopo da Compressão
• Os algoritmos de compressão são baseados em fórmulas matemáticas e estatísticas
• Quantas vezes vemos a letra “y” em um texto em comparação com a letra “a”?– Beneficia-se a compressão dos caracteres mais
incidentes em um texto– Alguns algoritmos usam estatística para determinar a
TI + Inteligente : A TI com “I” de Inteligência (2008-2009)
– Alguns algoritmos usam estatística para determinar a incidência e criar as tabelas de substituição (como criadas nos slides anteriores)
– Entretanto, se o “y” aparece pouco no texto em Português, pode ser que apareça muito no texto em Inglês!
– Algoritmos podem ser otimizados para cada idioma
Escopo da Compressão
• A compressão se preocupa com cada objeto que será avaliado, e não se beneficia com nada feito em objetos anteriormente avaliados (cada um tem uma compressão):– “O rato roeu a roupa do rei de Roma”
TI + Inteligente : A TI com “I” de Inteligência (2008-2009)
– “O rato roeu a roupa do rei de Roma”
– “O rato roeu a ratoeira do filho do rei de Roma”
– “O filho do rei de Roma morreu”
• Cada um será avaliado em separado!
• A desduplicação usa uma idéia diferente!
Alguns Dados Não Comprimem
• Textos sofrem grande redução
• Imagens, Vídeos, Som, ZIP, etc já são comprimidos por si só– Por isso a compressão é baixa
• Imagens sofrem redução de nuances de cor e brilho
TI + Inteligente : A TI com “I” de Inteligência (2008-2009)
brilho– O olho humano não percebe pequenas variações
• Som e Vídeo sofrem redução de volume e resolução– Por isso alguns “codecs” fazem o som ficar baixo, e o
vídeo ficar “quadriculado”
Exemplo de Desduplicação de Dados
• Imaginemos as três frases abaixo, por exemplo, presentes em três arquivos diferentes:– “O rato roeu a roupa do rei de Roma”
– “O filho do rei de Roma morreu”
“O rato roeu a ratoeira do filho do rei de Roma”
TI + Inteligente : A TI com “I” de Inteligência (2008-2009)
– “O rato roeu a ratoeira do filho do rei de Roma”
• Ao invés de trabalhar caracteres, a desduplicação trabalha em blocos de dados
• Tais blocos podem ser variáveis ou fixos, dependendo do algoritmo usado
Exemplo de Desduplicação de Dados
“O rato roeu a roupa do rei de Roma”
Vamos quebrar o texto em blocos variados:
“O rato roeu a roupa do rei de Roma”
TI + Inteligente : A TI com “I” de Inteligência (2008-2009)
•O algoritmo criou diversos blocos de vários tamanhos, incluindo “espaços” (existem algoritmos que quebram em blocos de tamanho fixo)
•O tamanho, e o método de “quebra” em blocos, depende do algoritmo usado e é pensado para ter a melhor relação redução x performance
Exemplo de Desduplicação de Dados
• Note que o texto, inicialmente, não sofreu redução
• Cada bloco é identificado (hashing) e o algoritmo mantém um banco de metadados
“O rato roeu a roupa do rei de Roma”
TI + Inteligente : A TI com “I” de Inteligência (2008-2009)
mantém um banco de metadados– Identificação de cada bloco já avaliado
• Se esse mesmo texto tivesse duas palavras iguais, já haveria redução– O banco de metadados sustitui um bloco duplicado
por um ponteiro que liga a um bloco já avaliado antes
Exemplo de Desduplicação de Dados
Avaliemos agora as outras frases do exemplo:
“O filho do rei de Roma morreu”
“O rato roeu a ratoeira do filho do rei de Roma”
Agora veja o que já estava no banco de metadados:
TI + Inteligente : A TI com “I” de Inteligência (2008-2009)
“O rato roeu a roupa do rei de Roma”
Agora veja o que já estava no banco de metadados:
• Note que só existem poucos blocos únicos entre os textos:
• “roupa”, “ratoeira” e “morreu”
• Todos os outros já fazem parte do banco de metadados e, portanto, não precisam ser armazenados novamente (basta um ponteiro!)
Exemplo de Desduplicação de Dados
Para facilitar o cálculo, vamos contar quantos bytes nós eliminamos do armazenamento (cinza=bytes repetidos, vermelho=bytes únicos):
“O rato roeu a roupa do rei de Roma”
“O filho do rei de Roma morreu”
34 Bytes Originais, 27 Únicos (Redução: 20,6%)
TI + Inteligente : A TI com “I” de Inteligência (2008-2009)
“O filho do rei de Roma morreu”
“O rato roeu a ratoeira do filho do rei de Roma”
29 Bytes Originais, 11 Únicos (Redução: 62%)
46 Bytes Originais, 8 Únicos (Redução: 82,6%)
Cada novo texto avaliado, blocos repetidos vão surgindo, aumentando a redução!
Escopo da Desduplicação de Dados
• A desduplicação pode agir:
– Localmente: o escopo é um file system, um diretório, um volume, etc
• Portanto, tende a ter menor taxa de redução
– Globalmente: aproveita blocos que já foram
TI + Inteligente : A TI com “I” de Inteligência (2008-2009)
– Globalmente: aproveita blocos que já foram gravados oriundos de qualquer ponto da rede
• Portanto, tende a ter maior taxa de redução
• A desduplicação apresenta um paradoxo:
– Quanto mais dados, maior a redução do armazenamento
Resumo da Comparação
• Tanto a Desduplicação, quanto a Compressão, são funcionalidades (e não produtos) presentes em várias camadas:
– Cliente, Servidor ou Armazenamento de Produção
– Rede (Aceleradores de WAN)
TI + Inteligente : A TI com “I” de Inteligência (2008-2009)
– Rede (Aceleradores de WAN)
– Software (ou Armazenamento) de Backup e Arquivamento
• Podem ser apresentadas sob a forma de software, hardware ou appliance
Resumo da Comparação
• A desduplicação aproveita blocos já avaliados, já a compressão faz análises pontuais
• No Data Sheet, vemos taxas de compressão de 2:1 a 3:1– No mundo real se vê algo em torno de 1,6:1
• A desduplicação global pode atingir taxas de 500:1 de redução– Especialmente em file system e máquinas virtuais– No mundo real, File System e VMWare tem reduções entre 97% e 99% nos
backups (depende da taxa de atualização ou de criação de novos dados)– No mundo real, Databases podem chegar a algo entre 92% e 97%
TI + Inteligente : A TI com “I” de Inteligência (2008-2009)
– No mundo real, Databases podem chegar a algo entre 92% e 97% (dependendo do dado armazenado no banco)
• Como regra básica, se o dado sofre pouca compressão (imagem, som, vídeo, ZIP, etc), fatalmente sofrerá pouca ou nenhuma desduplicação
• Como avaliar o que é melhor utilizar?– Compressão (hardware) tende a ser mais performática porém reduz pouco– Desduplicação (software) tende a ser menos performática porém reduz
enormemente o armazenamento
Resumo da Comparação
• Cada sistema, e tipo de dado, tem seu benefício com um ou outro método de redução– Databases, por exemplo, tendem a necessitar de backups
mais rápidos (compressão pode trazer maior ganho)
– File system, máquinas virtuais e emails, tendem a ter volumes absurdos, altíssimo nível de duplicações, e menor SLA de backup (desduplicação pode trazer maior ganho)
TI + Inteligente : A TI com “I” de Inteligência (2008-2009)
SLA de backup (desduplicação pode trazer maior ganho)
• Dados Desduplicados podem, ainda, sofrer Compressão para maiores ganhos– O contrário é péssimo
• Desduplicação é prejudicada com dados criptografados, ou backups em regime de multiplexação
A TI com “I” de Inteligênciahttp://www.timaisinteligente.org
Desduplicação vs CompressãoUma Comparação Rápida
Utilize o conteúdo livremente, somente pedimos que mantenha uma referência ao Blog TI +I
OBRIGADO
Ricardo Costa
Autor Blog TI + I