Alcune pubblicazioni sulla compressione dei dati di SQL Server che ho letto affermano che il costo di scrittura aumenta a circa quattro volte quello che sarebbe normalmente richiesto. Sembra anche implicare che questo è il principale svantaggio della compressione dei dati, il che implica fortemente che per un database di archivio di sola lettura, le prestazioni (con poche eccezioni) saranno migliorate dall'uso della compressione dei dati di pagine riempite al 100%.
- Le affermazioni sopra sono vere?
Quali sono le principali "variazioni" tra compressione dei dati e altro (per la lettura)
- "CPU + x%"?
- "IO -y%"?
- ricorrenza suddivisa in pagine?
- utilizzo tempdb?
- Utilizzo della RAM?
- E per scrivere?
Ai fini di questa domanda, è possibile limitare il contesto alla compressione a livello di PAGINA di un database di grandi dimensioni (> 1 TB) , ma sono sempre ben accetti commenti aggiuntivi.
Riferimenti:
Blog di SQL Server Storage Engine (lo scenario DW mostra che la compressione è molto vantaggiosa)
Compressione dei dati: strategia, pianificazione della capacità e best practice
Un approccio più dettagliato per decidere cosa comprimere comporta l'analisi delle caratteristiche del carico di lavoro per ogni tabella e indice. Si basa sulle seguenti due metriche:
U: la percentuale di operazioni di aggiornamento su una tabella, un indice o una partizione specifici, rispetto alle operazioni totali su quell'oggetto. Più basso è il valore di U (ovvero, la tabella, l'indice o la partizione viene aggiornata di rado), migliore sarà la compressione della pagina.
S: la percentuale di operazioni di scansione su una tabella, un indice o una partizione, rispetto alle operazioni totali su quell'oggetto. Più è alto il valore di S (ovvero, la tabella, l'indice o la partizione è per lo più sottoposta a scansione), migliore è il candidato per la compressione della pagina.
Entrambi i precedenti sono dimostrati in modo dimostrabile nel raccomandare la compressione delle pagine per database in stile DW (operazioni ad alta intensità di lettura / esclusive, big data).