Нередко пользователи и администраторы систем 1С сталкиваются с ситуацией, когда файл информационной базы (1CD) внезапно и значительно увеличивается в размере, порой в 2-3 раза. Часто это происходит после обновления конфигурации, при этом объем выгрузки (dt) может оставаться прежним. Проанализируем, почему так происходит, стоит ли беспокоиться и, самое главное, как вернуть базе данных ее оптимальный размер. Чтобы отличить крупные объекты данных от прочих причин роста файла, можно посмотреть размеры справочников и регистров через обследование метаданных базы. Обработка не определяет свободное место внутри 1CD и не выполняет сжатие.
Резкое "раздувание" файловой базы — это, в большинстве случаев, штатное поведение платформы 1С, связанное с внутренними механизмами ее работы. Рассмотрим ключевые факторы, которые к этому приводят.
1. Обновление конфигурации.
Это самая частая причина. В процессе обновления платформа выполняет множество структурных изменений. Представим этот процесс по шагам:
1CD.
В результате в файле базы данных одновременно существуют и новые, и старые (помеченные на удаление) таблицы. Место, занимаемое старыми таблицами, не освобождается автоматически, что и приводит к росту общего размера файла. Это своего рода "мусор", который остается после реструктуризации.
2. Включение возможности изменения конфигурации.
Когда вы открываете конфигурацию для редактирования (кнопка «Конфигурация» -> «Поддержка» -> «Настройка поддержки» -> «Включить возможность изменения»), система начинает хранить несколько версий конфигурации для корректной работы механизма сравнения и объединения. Как минимум, это основная конфигурация, конфигурация базы данных и конфигурация поставщика. Это неизбежно ведет к увеличению размера файла 1CD.
3. Накопление удаленных объектов.
При стандартном удалении объектов в 1С (например, документов или элементов справочников) они не стираются из базы физически. Вместо этого они получают специальную пометку на удаление. Сами данные остаются в таблицах, продолжая занимать место, пока не будет выполнена специальная процедура очистки. 4. Хранение присоединенных файлов внутри базы. Многие современные конфигурации позволяют прикреплять к объектам сканы документов, изображения и другие файлы. По умолчанию они сохраняются прямо в теле базы данных. Это очень удобный, но и самый быстрый способ неконтролируемо увеличить размер базы до десятков и даже сотен гигабайт.
Основной и самый эффективный инструмент для борьбы с "раздувшимся" файлом — это встроенная утилита «Тестирование и исправление» (ТиИ). Именно она выполняет физическое удаление помеченных на удаление объектов и перестраивает таблицы, освобождая занятое ими место. Разберем процесс по шагам.
ОБЯЗАТЕЛЬНО СДЕЛАЙТЕ РЕЗЕРВНУЮ КОПИЮ!
Перед любыми манипуляциями с базой данных, особенно перед ТиИ, создание архивной копии является критически важным шагом. В случае сбоя у вас всегда будет возможность вернуться к исходному состоянию.
Запустите 1С в режиме «Конфигуратор».
Для этого в окне запуска выберите нужную информационную базу и нажмите кнопку «Конфигуратор».Сжатие таблиц информационной базы
Как показывает практика, после выполнения этой процедуры с включенным сжатием таблиц размер файловой базы возвращается к своему первоначальному, оптимальному значению.
Обсуждение размера базы неотрывно связано с производительностью, особенно если работа ведется на традиционных жестких дисках (HDD).
На HDD (жестком диске):
Файл базы данных 1CD — это не монолитный поток данных. Внутри он состоит из множества таблиц, которые физически могут быть расположены в разных частях диска (фрагментированы). Когда база "раздута", ее фрагментация, как правило, выше. Для чтения или записи данных считывающей головке HDD приходится постоянно перемещаться между разными секторами и дорожками диска. Каждое такое перемещение — это задержка в десятки миллисекунд. Суммируясь, эти задержки приводят к ощутимому замедлению работы программы. Чем больше и фрагментированнее файл, тем медленнее работает система.
На SSD (твердотельном накопителе):
У SSD нет движущихся механических частей. Доступ к любой ячейке памяти происходит практически мгновенно, независимо от ее физического расположения. Поэтому проблема фрагментации и большого размера файла для SSD гораздо менее критична. Производительность будет значительно выше, хотя даже на SSD чтение большего количества страниц данных (из-за "пустот") может занять чуть больше времени. Важный момент о свободном месте:
При обновлении, когда база временно растет, ей требуется дополнительное свободное пространство на диске. Если его не будет (например, если база на 5 ГБ, а свободно всего 5-7 ГБ), процесс обновления может завершиться ошибкой. Причем сообщение об ошибке не всегда явно указывает на нехватку места. Рекомендуется иметь свободное место на диске в 2.5-3 раза превышающее текущий размер базы, чтобы обновления проходили гладко.
В заключение, периодический рост файловой базы — это нормальный рабочий процесс. Главное — понимать его причины и регулярно проводить обслуживание с помощью «Тестирования и исправления» со сжатием таблиц, чтобы поддерживать производительность и стабильность системы на высоком уровне.