Alguma literatura sobre compactação de dados do SQL Server que li afirma que o custo de gravação aumenta para cerca de quatro vezes o que seria normalmente necessário. Também parece implicar que essa é a principal desvantagem da compactação de dados, o que implica fortemente que, para um banco de dados de arquivo somente leitura, o desempenho (com poucas exceções) será aprimorado pelo uso da compactação de dados de páginas 100% preenchidas.
- As afirmações acima são verdadeiras?
Quais são as principais "variações" entre a compactação de dados e outras formas (para leitura)
- "CPU + x%"?
- "IO -y%"?
- ocorrência de divisão de página?
- uso do tempdb?
- Uso de RAM?
- E para escrever?
Para os fins desta pergunta, você pode limitar o contexto à compactação no nível de PAGE de um grande banco de dados (> 1 TB) , mas comentários adicionais são sempre bem-vindos.
Referências:
Blog do SQL Server Storage Engine (O cenário DW mostra que a compactação é muito vantajosa)
Compactação de dados: estratégia, planejamento de capacidade e práticas recomendadas
Uma abordagem mais detalhada para decidir o que compactar envolve a análise das características da carga de trabalho para cada tabela e índice. É baseado nas duas métricas a seguir:
U: a porcentagem de operações de atualização em uma tabela, índice ou partição específica, em relação ao total de operações nesse objeto. Quanto menor o valor de U (ou seja, a tabela, o índice ou a partição não é atualizada com freqüência), melhor candidato é para a compactação de página.
S: A porcentagem de operações de varredura em uma tabela, índice ou partição, em relação ao total de operações nesse objeto. Quanto maior o valor de S (ou seja, a tabela, o índice ou a partição é mais varrida), melhor candidato é para a compactação de página.
Ambas as opções acima são comprovadamente tendenciosas no sentido de recomendar a compactação de página para bancos de dados no estilo DW (operações de leitura intensiva / exclusiva / big data).