O que é a redução de dados?

O termo «redução de dados» abrange vários métodos de oti­mi­za­ção da ca­pa­ci­dade. O seu objetivo é reduzir a quan­ti­dade de dados que é ne­ces­sá­rio armazenar. Face ao aumento global do volume de dados, esta redução é ne­ces­sá­ria para garantir um ar­ma­ze­na­mento de dados eficiente em termos de recursos e custos.

Existem di­fe­ren­tes abor­da­gens para a redução de dados: a com­pres­são de dados e a de­du­pli­ca­ção. Enquanto a com­pres­são sem perdas utiliza re­dun­dân­cias dentro de um ficheiro para comprimir dados, os al­go­rit­mos de de­du­pli­ca­ção sin­cro­ni­zam os dados entre ficheiros para evitar re­pe­ti­ções.

Des­du­pli­ca­ção

A de­du­pli­ca­ção é um processo de redução de dados que se baseia es­sen­ci­al­mente na eli­mi­na­ção da re­dun­dân­cia de dados num sistema de ar­ma­ze­na­mento. Pode ser realizada tanto no destino do ar­ma­ze­na­mento como na origem dos dados. É utilizado um motor de de­du­pli­ca­ção que recorre a al­go­rit­mos especiais para iden­ti­fi­car e eliminar os ficheiros ou blocos de dados re­dun­dan­tes. O principal campo de aplicação da de­du­pli­ca­ção é o backup de dados.

O objetivo da redução de dados através da de­du­pli­ca­ção é gravar num suporte de dados não volátil apenas a quan­ti­dade de in­for­ma­ção ne­ces­sá­ria para re­cons­truir um ficheiro sem perdas. Quanto mais du­pli­ca­dos forem eli­mi­na­dos, menor será a quan­ti­dade de dados que será ne­ces­sá­rio armazenar ou trans­fe­rir.

Os ficheiros du­pli­ca­dos podem ser iden­ti­fi­ca­dos ao nível do ficheiro, como acontece com o Git ou o Dropbox, mas os al­go­rit­mos de de­du­pli­ca­ção que funcionam ao nível do sub­fi­cheiro são mais efi­ci­en­tes. Para tal, os ficheiros são primeiro divididos em blocos de dados (chunks) e são-lhes atri­buí­dos checksums únicos, de­no­mi­na­dos valores hash. Uma base de dados de acom­pa­nha­mento funciona como uma instância central de controlo, que contém todos os valores de checksum.

É possível dis­tin­guir duas variantes de de­du­pli­ca­ção baseada em blocos:

  • Com­pri­mento de bloco fixo: os ficheiros são divididos em secções de com­pri­mento exa­ta­mente igual, que se ajustam ao tamanho do cluster do sistema de ficheiros ou do sistema RAID (ge­ral­mente 4 KB).
  • Com­pri­mento de bloco variável: o algoritmo divide os dados em blocos de com­pri­men­tos di­fe­ren­tes, cuja extensão varia de acordo com o tipo de dados que estão a ser pro­ces­sa­dos.

A forma como os blocos são divididos tem um impacto sig­ni­fi­ca­tivo na efi­ci­ên­cia da de­du­pli­ca­ção de dados. Isto torna-se evidente quando se alteram ficheiros de­du­pli­ca­dos pos­te­ri­or­mente: ao utilizar tamanhos de bloco fixos, ao alterar um ficheiro, todos os segmentos sub­se­quen­tes são também con­si­de­ra­dos novos devido ao des­lo­ca­mento dos limites dos blocos pelo algoritmo de de­du­pli­ca­ção. Isto aumenta a carga com­pu­ta­ci­o­nal e a uti­li­za­ção da largura de banda.

No entanto, se um algoritmo utilizar limites de bloco variáveis, as al­te­ra­ções num único bloco de dados não afetam os segmentos vizinhos. Em vez disso, apenas o bloco de dados mo­di­fi­cado é ampliado com os novos bytes e guardado. Isto alivia a carga da rede. No entanto, a fle­xi­bi­li­dade em termos de al­te­ra­ções nos ficheiros é mais exigente em termos de cálculos, uma vez que o algoritmo tem primeiro de de­ter­mi­nar como os blocos são divididos.

Com­pres­são de dados

A com­pres­são de dados consiste em converter ficheiros numa re­pre­sen­ta­ção al­ter­na­tiva mais eficiente do que a original. O objetivo desta redução de dados é diminuir tanto o espaço de ar­ma­ze­na­mento ne­ces­sá­rio como o tempo de trans­mis­são. Esta efi­ci­ên­cia na co­di­fi­ca­ção pode ser alcançada através de duas abor­da­gens di­fe­ren­tes:

  • Com­pres­são re­dun­dante: com a com­pres­são de dados sem perdas, os dados também podem ser des­com­pri­mi­dos com exatidão, bit a bit, após a com­pres­são. Por con­se­guinte, os dados de entrada e de saída são idênticos. Esta com­pres­são re­dun­dante só é possível se um ficheiro contiver in­for­ma­ção re­dun­dante.
  • Com­pres­são ir­re­le­vante: numa com­pres­são com perdas, a in­for­ma­ção ir­re­le­vante é eliminada para comprimir um ficheiro. Isto implica sempre uma perda de dados. Após uma com­pres­são ir­re­le­vante, os dados originais só podem ser re­cu­pe­ra­dos de forma apro­xi­mada. A clas­si­fi­ca­ção de quais dados são con­si­de­ra­dos ir­re­le­van­tes é subjetiva. Por exemplo, na com­pres­são de áudio MP3, são eli­mi­na­dos padrões de frequên­cia que se presume que as pessoas mal ouvem ou nem sequer percebem.

Embora a com­pres­são ao nível dos sistemas de ar­ma­ze­na­mento seja ba­si­ca­mente sem perdas, a perda de dados noutros domínios, como a trans­mis­são de imagens, vídeo e áudio, é de­li­be­ra­da­mente aceite para conseguir uma redução do tamanho dos ficheiros.

Tanto a co­di­fi­ca­ção como a des­co­di­fi­ca­ção de um ficheiro exigem um esforço com­pu­ta­ci­o­nal. Isso depende prin­ci­pal­mente do método de com­pres­são utilizado. Enquanto algumas técnicas são con­ce­bi­das para re­pre­sen­tar os dados de saída da forma mais compacta possível, outras centram-se na redução do tempo de cálculo ne­ces­sá­rio. Por con­se­guinte, a escolha do método de com­pres­são depende sempre dos re­qui­si­tos da aplicação em questão.

Com­pa­ra­ção entre di­fe­ren­tes opções de redução de dados

Para im­ple­men­tar pro­ce­di­men­tos de cópia de segurança ou otimizar o ar­ma­ze­na­mento em sistemas de ficheiros padrão, as empresas recorrem fre­quen­te­mente à de­du­pli­ca­ção. Isto deve-se prin­ci­pal­mente ao facto de os sistemas de de­du­pli­ca­ção fun­ci­o­na­rem de forma ex­tre­ma­mente eficiente quando se trata de armazenar ficheiros idênticos.

Os métodos de com­pres­são de dados, por outro lado, estão fre­quen­te­mente as­so­ci­a­dos a custos de com­pu­ta­ção mais elevados e, por isso, requerem pla­ta­for­mas mais complexas. Os sistemas de ar­ma­ze­na­mento que combinam ambos os processos de redução de dados podem ser uti­li­za­dos com maior eficácia. Em primeiro lugar, eliminam-se as re­dun­dân­cias dos ficheiros a armazenar através da de­du­pli­ca­ção e, em seguida, comprimem-se os dados restantes.

Ir para o menu principal