Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 2 3 [4]      все
 Re: Поэтапное сжатие БД MS SQL Server  [new]
cad2206
Member

Откуда:
Сообщений: 28
SERG1257,

автор
Не понял насчет тестового сервера.

не корректно выразился. На новом сервере, где установлен MS SQL Server 2019. База переедет со старого (на MS SQL Server 2012).

автор
Сжимаете таблицу (торопится не надо).

Помню, что нужно секционировать таблицы, но пока без этого. С каких таблиц лучше начать? Наиболее часто используемых? Больших?
24 ноя 21, 16:24    [22400271]     Ответить | Цитировать Сообщить модератору
 Re: Поэтапное сжатие БД MS SQL Server  [new]
SERG1257
Member

Откуда:
Сообщений: 2931
Для больших таблиц прогоните sp_estimate_data_compression_savings
https://docs.microsoft.com/en-us/sql/relational-databases/system-stored-procedures/sp-estimate-data-compression-savings-transact-sql?view=sql-server-ver15
Посмотрите на разные типы сжатия. Может ROW будет ненамного хуже (и точно дешевле)
У меня было пару случаев когда это имело смысл (большая таблицы с пустыми полями типа int и большая таблица с типом char(200))

Маленькие таблицы даже не рассматривайте - визгу много шерсти мало
24 ноя 21, 17:14    [22400302]     Ответить | Цитировать Сообщить модератору
 Re: Поэтапное сжатие БД MS SQL Server  [new]
cad2206
Member

Откуда:
Сообщений: 28
SERG1257,
при размере файла БД 830 ГБт, какие таблицы считать большими для исследования их функцией sp_estimate_data_compression_savings?
25 ноя 21, 09:16    [22400499]     Ответить | Цитировать Сообщить модератору
 Re: Поэтапное сжатие БД MS SQL Server  [new]
cad2206
Member

Откуда:
Сообщений: 28
SERG1257,
автор
Сжимаете таблицу (торопится не надо).
Не делаете shrink.
Не делаете дефрагментацию. Я у себя отменил этот еженедельный джоб и никто не заметил разницы.

Я правильно понял, сжимать по несколько таблиц за ночь без shrink'а (это я уже понял, что shrink крайняя мера) и без дефрагментации. И смотреть на работу пользователей?
25 ноя 21, 09:19    [22400500]     Ответить | Цитировать Сообщить модератору
 Re: Поэтапное сжатие БД MS SQL Server  [new]
selis76
Member

Откуда:
Сообщений: 406
У меня нагруженная база 1С на 3 терабайта, по опыту пространство больше расходуется на фрагментацию поскольку кластерный (системный) код 1С много удаляет и вставляет заново особенно в итогах по регистрам.
Перестроение кластерных индексов и обычных индексов помогает гораздо эффективнее. Освобожденное место можно использовать для новых данных. Ну а вообще в решении должна быть заложена процедура обрезания старых данных и свертки остатков. База не должна расти бесконечно
25 ноя 21, 12:40    [22400636]     Ответить | Цитировать Сообщить модератору
 Re: Поэтапное сжатие БД MS SQL Server  [new]
SERG1257
Member

Откуда:
Сообщений: 2931
cad2206
какие таблицы считать большими для исследования их функцией sp_estimate_data_compression_savings?
Исследовать можно хоть все (это просто посмотреть, это бесплатно)
Результаты (для PAGE и для ROW) в эксельку, сортируя по разнице между sample_size_with_current_compression_setting и sample_size_with_requested_compression_setting
Уверен, что кандидатов будет не больше десятка. А дальше нужно будет принимать решение кто достоин, а кто нет.

selis76, я человек простой, а вопрос сложный. Можешь пояснить свою мысль языком ЖЭКа. (или как говорят буржуи ELI5)
Правильно ли я понял, что ты хочешь сказать что для твоей базы перестроение индексов действительно высвобождает место.
Однако следом ты утверждаешь что плотно упакованный индекс, будет снова переразбит следующей операцией (особенно в итогах по регистрам.)
Так может и не трогать эти итоги по регистрам. Ну будут некоторые страницы наполовину пусты. Стоит ли овчинка выделки? И как это относится к сабжу топика (сжатие aka компрессия данных).
По поводу удаления старых данных это тоже оффтопик. Люди годами не могут почистить балкон (гараж, подвал), а тут данные удалить. А если понадобятся?
25 ноя 21, 17:19    [22400837]     Ответить | Цитировать Сообщить модератору
 Re: Поэтапное сжатие БД MS SQL Server  [new]
selis76
Member

Откуда:
Сообщений: 406
to SERG1257,
1C это генератор таблиц и запросов на основе финансовых метаданных . Поэтому большинство информации имеет период и итоги тоже периодичны (по умолчанию месяц) . Даже в регистрах накопления агрегаты тоже порождают много операций удаления и вставки
А это прямой путь к фрагментации. Конечно ребилд оптимизирует данные в прошлых периодах, но в новых периодах все начинается сначала. Играться с наполнением экстентов можно уже после того как все хорошо с фрагментацией.
Пример как 1С генерит SQL код можно увидеть тут https://infostart.ru/1c/articles/184361/
Структура таблиц и индексов 1С официально выложена https://its.1c.ru/db/metod8dev/content/1798/hdoc https://its.1c.ru/db/metod8dev/content/1590/hdoc
25 ноя 21, 20:08    [22400920]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 2 3 [4]      все
Все форумы / Microsoft SQL Server Ответить