В некоторых литературных источниках, посвященных сжатию данных в SQL Server, говорится, что стоимость записи возрастает примерно в четыре раза по сравнению с тем, что обычно требуется. Также представляется, что это является основным недостатком сжатия данных, что подразумевает, что для архивной базы данных только для чтения производительность (за некоторыми исключениями) улучшится за счет использования сжатия данных на 100% заполненных страниц.
- Верны ли утверждения выше?
Каковы основные «вариации» между сжатием данных и прочим (для чтения)
- "Процессор + х%"?
- "IO -y%"?
- возникновение разбиения страницы?
- использование tempdb?
- Использование оперативной памяти?
- А для написания?
Для целей этого вопроса вы можете ограничить контекст сжатием на уровне PAGE большой (> 1 ТБ) базы данных, но всегда приветствуются дополнительные комментарии.
Использованная литература:
Блог SQL Server Storage Engine (сценарий DW показывает, что сжатие является очень выгодным)
Сжатие данных: стратегия, планирование емкости и лучшие практики
Более детальный подход к решению, что сжимать, включает анализ характеристик рабочей нагрузки для каждой таблицы и индекса. Он основан на следующих двух метриках:
U: процент операций обновления для определенной таблицы, индекса или раздела по отношению к общему количеству операций с этим объектом. Чем ниже значение U (то есть таблица, индекс или раздел редко обновляются), тем лучше он подходит для сжатия страниц.
S: процент операций сканирования в таблице, индексе или разделе относительно общего количества операций над этим объектом. Чем выше значение S (т. Е. Таблица, индекс или раздел в основном сканируются), тем лучше он подходит для сжатия страниц.
Оба вышеперечисленных явно демонстрируют тенденцию к рекомендованию сжатия страниц для баз данных в стиле DW (интенсивное чтение / эксклюзивные операции с большими данными).