Почему файловая база 1С резко выросла в размере и что с этим делать?

Системный администратор
← На главную

Нередко пользователи и администраторы систем 1С сталкиваются с ситуацией, когда файл информационной базы (1CD) внезапно и значительно увеличивается в размере, порой в 2-3 раза. Часто это происходит после обновления конфигурации, при этом объем выгрузки (dt) может оставаться прежним. Проанализируем, почему так происходит, стоит ли беспокоиться и, самое главное, как вернуть базе данных ее оптимальный размер. Чтобы отличить крупные объекты данных от прочих причин роста файла, можно посмотреть размеры справочников и регистров через обследование метаданных базы. Обработка не определяет свободное место внутри 1CD и не выполняет сжатие.

Выясним основные причины роста базы

Резкое "раздувание" файловой базы — это, в большинстве случаев, штатное поведение платформы 1С, связанное с внутренними механизмами ее работы. Рассмотрим ключевые факторы, которые к этому приводят.

1. Обновление конфигурации.

Это самая частая причина. В процессе обновления платформа выполняет множество структурных изменений. Представим этот процесс по шагам:

  1. При обновлении конфигурации могут переименовываться или изменяться существующие таблицы базы данных.
  2. Платформа создает новые таблицы со свежей структурой.
  3. Данные из старых таблиц копируются в новые.
  4. Старые таблицы помечаются как подлежащие удалению, но физически с диска не стираются и продолжают занимать место в файле 1CD.

В результате в файле базы данных одновременно существуют и новые, и старые (помеченные на удаление) таблицы. Место, занимаемое старыми таблицами, не освобождается автоматически, что и приводит к росту общего размера файла. Это своего рода "мусор", который остается после реструктуризации. 2. Включение возможности изменения конфигурации. Когда вы открываете конфигурацию для редактирования (кнопка «Конфигурация» -> «Поддержка» -> «Настройка поддержки» -> «Включить возможность изменения»), система начинает хранить несколько версий конфигурации для корректной работы механизма сравнения и объединения. Как минимум, это основная конфигурация, конфигурация базы данных и конфигурация поставщика. Это неизбежно ведет к увеличению размера файла 1CD.

3. Накопление удаленных объектов.

При стандартном удалении объектов в 1С (например, документов или элементов справочников) они не стираются из базы физически. Вместо этого они получают специальную пометку на удаление. Сами данные остаются в таблицах, продолжая занимать место, пока не будет выполнена специальная процедура очистки. 4. Хранение присоединенных файлов внутри базы. Многие современные конфигурации позволяют прикреплять к объектам сканы документов, изображения и другие файлы. По умолчанию они сохраняются прямо в теле базы данных. Это очень удобный, но и самый быстрый способ неконтролируемо увеличить размер базы до десятков и даже сотен гигабайт.

Как вернуть базе оптимальный размер: Тестирование и исправление

Основной и самый эффективный инструмент для борьбы с "раздувшимся" файлом — это встроенная утилита «Тестирование и исправление» (ТиИ). Именно она выполняет физическое удаление помеченных на удаление объектов и перестраивает таблицы, освобождая занятое ими место. Разберем процесс по шагам.

  1. ОБЯЗАТЕЛЬНО СДЕЛАЙТЕ РЕЗЕРВНУЮ КОПИЮ!

    Перед любыми манипуляциями с базой данных, особенно перед ТиИ, создание архивной копии является критически важным шагом. В случае сбоя у вас всегда будет возможность вернуться к исходному состоянию.

  2. Запустите 1С в режиме «Конфигуратор».

    Для этого в окне запуска выберите нужную информационную базу и нажмите кнопку «Конфигуратор».
  3. Откройте утилиту. В верхнем меню перейдите в «Администрирование» → «Тестирование и исправление...».
  4. Настройте параметры. В открывшемся окне вы увидите множество опций. Для нашей задачи ключевой является одна:

    Сжатие таблиц информационной базы

    Именно этот флажок запускает процесс реорганизации данных на физическом уровне, удаляя "пустоты" и возвращая базе компактный вид. Вы можете выбрать и другие проверки (реиндексация, проверка логической и ссылочной целостности), но для сжатия эта опция — главная.
  5. Запустите процесс. Нажмите кнопку «Выполнить» и дождитесь окончания. Время выполнения зависит от размера базы и производительности компьютера и может занять от нескольких минут до нескольких часов.

Как показывает практика, после выполнения этой процедуры с включенным сжатием таблиц размер файловой базы возвращается к своему первоначальному, оптимальному значению.

Влияние на производительность: HDD vs SSD и запас свободного места

Обсуждение размера базы неотрывно связано с производительностью, особенно если работа ведется на традиционных жестких дисках (HDD).

На HDD (жестком диске):

Файл базы данных 1CD — это не монолитный поток данных. Внутри он состоит из множества таблиц, которые физически могут быть расположены в разных частях диска (фрагментированы). Когда база "раздута", ее фрагментация, как правило, выше. Для чтения или записи данных считывающей головке HDD приходится постоянно перемещаться между разными секторами и дорожками диска. Каждое такое перемещение — это задержка в десятки миллисекунд. Суммируясь, эти задержки приводят к ощутимому замедлению работы программы. Чем больше и фрагментированнее файл, тем медленнее работает система.

На SSD (твердотельном накопителе):

У SSD нет движущихся механических частей. Доступ к любой ячейке памяти происходит практически мгновенно, независимо от ее физического расположения. Поэтому проблема фрагментации и большого размера файла для SSD гораздо менее критична. Производительность будет значительно выше, хотя даже на SSD чтение большего количества страниц данных (из-за "пустот") может занять чуть больше времени. Важный момент о свободном месте:

При обновлении, когда база временно растет, ей требуется дополнительное свободное пространство на диске. Если его не будет (например, если база на 5 ГБ, а свободно всего 5-7 ГБ), процесс обновления может завершиться ошибкой. Причем сообщение об ошибке не всегда явно указывает на нехватку места. Рекомендуется иметь свободное место на диске в 2.5-3 раза превышающее текущий размер базы, чтобы обновления проходили гладко.

В заключение, периодический рост файловой базы — это нормальный рабочий процесс. Главное — понимать его причины и регулярно проводить обслуживание с помощью «Тестирования и исправления» со сжатием таблиц, чтобы поддерживать производительность и стабильность системы на высоком уровне.

← На главную