A primeira tentativa de Data Compression do SQL Server parece muito boa. Ele tem dois tipos de compactação: linhas e páginas. A compactação de linhas é a verdadeira compactação: espaços não utilizados no fim das colunas são removidos para economizar armazenamento. A compactação de páginas, também conhecida como compactação de dicionário, padroniza os dados em cada página e mantém um ponteiro de pesquisa. No SQL Server 2008, a compactação de páginas inclui compactação de linhas. Se a compactação de páginas estiver ativada, você ganha a compactação de linhas.
A Microsoft fornece um assistente de cálculo de compactação útil que lhe dará uma boa estimativa dos benefícios que você pode esperar. O assistente usa um cenário de teste de compactação dos seus dados para cada tipo de compactação (linha e página) e informa qual deveria ser o novo tamanho da tabela. Nos testes, o cálculo desviou dos meus resultados finais apenas 1% ou 2%. É um índice muito bom, se você considerar que o cálculo se baseia em um volume de dados relativamente pequeno.
Até que ponto uma tabela será compactada? Depende tanto do tipo de dados quanto do tipo de compactação. Se seus dados são como os dados SAP, que têm muitos espaços, você ficará bem servido com a compactação no nível da linha. Se você tem muitos dados repetidos, então a compactação no nível da página será a melhor opção.
A ordem dos dados também importa. Tendo em vista que o SQL Server compacta no nível da página, dados repetidos que estão agrupados serão deduplicados. Vale a pena conhecer a natureza e a ordem dos seus dados.
Como o Advanced Compression do Oracle Database 11g, meus resultados com o Data Compression no SQL Server 2008 foram muito variados. Obtive apenas 17% de compactação em alguns conjuntos de dados e até 76% em outros. O teto de 76% foi alcançado em dados de linha de ordem não normalizados (denormalized) em um data warehouse.
Quando se trata de Data Compression, o SQL Server tem uma vantagem sobre o Oracle: o SQL Server compactará tabelas existentes em um único statement. No Oracle Database 11g, você tem que criar uma nova tabela, inserir os dados e depois remover a tabela antiga. Com o SQL Server, você não precisa criar uma cópia adicional dos dados e ainda pode realizar operações na tabela durante a operação de compactação, sem necessidade de tempo de inatividade.
Um recurso novo excelente chamado Sparse Columns permite que você armazene valores null sem consumir nenhum espaço físico. Aqui a Microsoft cometeu um grande erro: Sparse Columns não são compatíveis com Data Compression. Se você definir Sparse Columns em uma tabela, não pode utilizar Data Compression. Sparse Columns e Data Compression formaria um par perfeito. Tomara que a Microsoft corrija isso em breve.
Backup Compression
O SQL Server 2008 também apresenta o Backup Compression. Em alguns testes preliminares, achei as taxas de compactação quase no mesmo nível das de Quest LiteSpeed e outras ferramentas de backup de terceiros que usei. Ainda assim, o Backup Compression do SQL Server tem muitos aspectos negativos. Em primeiro lugar, Backup Compression só está disponível para a enterprise edition. Mesmo na corporação, só vai servir para dificultar o gerenciamento. O mais provável é que a fatia do leão de instâncias do SQL Server em qualquer organização de tamanho considerável não seja enterprise edition – e não é aceitável que estas instâncias sejam a exceção no plano de backup.
Encare do seguinte modo: você não escolheu a enterprise edition por causa do tamanho do banco de dados. Já que a maioria das versões do SQL Server é capaz de lidar com tamanho de dados ilimitado, a enterprise edition, em geral, é escolhida pelos recursos que oferece. Como resultado, em suas instalações provavelmente você terá muitas máquinas SQL Server com conjuntos de dados muito grandes que não estão na enterprise, e eles também precisam de backups compactados – ou seja, possivelmente você já implementou uma solução de backup de terceiros. Não faz sentido mudar de rotinas de backup para um pequeno subconjunto das suas máquinas SQL Server. Sem dúvida, você vai querer a mesma solução o ambiente inteiro.
Em segundo lugar, ao contrário do SQL Server, as soluções de backup de terceiros fazem restore no nível do objeto, o que pode ser muito prático em várias situações. Se você utiliza Backup Compression do SQL Server para seus servidores empresariais, perde funcionalidade.
Para terminar, as soluções de terceiros têm repositórios centralizados e fornecem relatório e alerta centralizados. Se você usa a compactação nativa do SQL Server, elimina eficazmente o gerenciamento centralizado de backups para estas máquinas.
As soluções de backup de terceiros oferecem outros recursos, mas o Backup Compression do SQL Server não será viável para a maioria das instalações devido, principalmente, a cobertura incompleta, restore no nível do objeto e gerenciamento centralizado de backup.
Fonte: http://computerworld.uol.com.br/infra_estrutura/2008/11/16/sql-server-2008-data-compression-e-backup-compression/
RSS Feed
Twitter
Posted in
Tags: 