Найти тему
AMK-Group

Как уменьшить размер базы 1С 8.3

Оглавление

В процессе работы с информационной базой 1С её размер постоянно растет. Виной тому, естественно являются данные, которые ежедневно вносятся туда пользователями. Причем, в базе хранятся не только данные, относящиеся к учету. Там присутствуют ещё и системные, вспомогательные данные, без которых функционирования всей системы было бы невозможным. Эти системные данные называются «метаданные» - информация о структуре базы данных, об алгоритмах обработки этих данных и многое другое. Разработчики 1С не дремлют, постоянно развивая возможности и функциональность базы, поэтому структура базы данных, количество программного кода постоянно увеличивается. Как результат, чем дальше развивалась 1С, тем больше места занимали даже новые, пустые базы, в которых содержатся только системные данные. Просто для сравнения: пустая база 1С Бухгалтерии версии 7.7 занимала 100-150 Мб. Версии 8.2 – около 500 МБ, а версия 8.3 может достигать 1-2 ГБ. Чтобы было понятнее: создав пустую базу 1С бухгалтерии потребуется минимум 1-2 ГБ свободного места. А если туда начать вносить пользовательские данные, да и ещё делать это с помощью 50 пользователей? Ответ очевиден: для любой базы данных нужно много памяти. А для 1С нужно ещё больше:)

Не будем забывать и про необходимость хранения архивных копий базы данных. Если долго и активно пользоваться базой 1С, если количество пользователей уже не маленькое, то конечно, начинает возникать вопрос об объеме информационной базы. Где взять 50-100 ГБ свободного места для базы данных и еще раз в 10 больше этого для хранения ежедневных копий? А если база занимает уже 300-500 ГБ? А если она не одна, а их 10?

В этой статье мы расскажем, на какие хитрости можно пойти, чтобы сэкономить место на дисках и уменьшить размеры базы данных 1С.

Удаление помеченных объектов

Очень часто, в базе 1С существуют ненужные данные, которые помечены на удаление, но ещё не удалены. Для системы, они ничем не отличаются от обычных данных и занимают ровно столько же места. Но, если данные не нужны для учета, зачем их хранить? Хранить их в надежде, что они когда-то понадобятся весьма странная затея: как показывает практика, пользователи регулярно вносят данные повторно и не проверяют, нет ли таких данных среди помеченных на удаление. Так что мы крайне рекомендуем Вам не лениться и провести процедуру удаления помеченных объектов. А ещё лучше, если Вы настроите регулярное удаление объектов по расписанию, например, раз в неделю.
Возможно, эта процедура не пройдет гладко, придется разобраться с так называемой «ссылочной целостностью». Дело в том, что 1С не даст удалить объект, если на него ссылаются другие объекты. И может оказаться, что, например, договор закрыт, документы по нему не актуальны. Но договор удалять нельзя, потому что документы, которые на него ссылаются, не помечены на удаление. С такими проблемами придется разбираться вручную, но это стоит того. Это даст хорошие возможности по сохранению свободного места.

Удаление ненужных данных

Этот пункт вытекает из предыдущего: очень часто данные уже не нужны или даже никогда не были нужны, но они прекрасно существую в базе данных и занимают кучу свободного места на дисках. Это могут быть, например, данные классификаторов адресов ФИАС/КЛАДР. Представьте ситуацию, Ваша организация работает в одном регионе, у неё нет контрагентов из другого региона, но в базу загружен классификатор адресов всей России. Совершенно очевидно, что подход «на всякий случай пусть будет», это не то, что требуется в такой ситуации. Данные адресов всегда можно загрузить дополнительно, а займет это всего пару минут.
Аналогичная проблема может встречаться с избыточными данными по ключевым справочникам, например, по справочнику «номенклатура» или «контрагенты». Кто-то, когда-то, загрузил в справочник номенклатуры 100 000 позиций, а используется в реальности только 1 000. Или решил загрузить всех контрагентов региона, «на всякий случай».
Все такие ситуации придется отрабатывать, к сожалению, вручную. Нет универсального механизма, который бы сразу сказал нужны эти данные или нет. Если Вам нужна помощь в этом весьма трудоемком процессе, наши специалисты с радостью помогут Вам, ведь их опыт насчитывает сотни аналогичных задач от клиентов со всей России!
Сжатие базы средствами 1С или SQL.
Современные СУБД, да и 1С (в файловом режиме работы) функционируют следующим образом: когда им требуется свободное места на диске, чтобы что-то записать, они просят не ровно столько, сколько нужно, а берут с запасом. Например, нужно 10 МБ, а берут сразу 100 МБ. Чтобы не просить потом ещё раз. А если данные удалить и уже не требуется столько свободного места, то они все равно не вернут его просто так. Оставят про запас. Вот такие они запасливые
В конфигураторе 1С есть специальная функция, которая как раз выполняет функцию по освобождению этого «незанятого» свободного места:

Обращаем Ваше внимание на то, что такую процедуру лучше проводить после серьёзных изменений в базе данных 1С, например, после удаления помеченных объектов. В противном случае, размер базы данных достаточно быстро вернется к первоначальным значениям.

Удаление журнала регистрации 1С

Журнал регистрации 1С – это специальный механизм для хранения действий пользователей. Вот удалили документ, кто это сделал и когда? На все это может ответить журнал регистрации.
И его можно настраивать. Выбирать события, какие будут регистрироваться, разделять, ну и сокращать. Порой это очень полезно – нет смысла хранить данные 5 летней давности, а вот данные месячной давности очень даже нужны.
И эта процедура сильно помочь, особенно если Вы работаете с файловой базой данных 1С (в версии SQL файлы журнала регистрации отдельно от базы данных).

Свертка базы данных

Эта процедура заключается в следующем: зачем хранить данные о хозяйственных операциях за прошлые периоды, если к ним никогда никто не обращается. Например, зачем нам смотреть что было 5 лет назад, если нужен по сути только этот год и предыдущий. Можно просто сделать копию базы, на случай необходимости, а в рабочей базе все удалить. И не просто все удалить, а подготовить срезы данных, чтобы с ними тоже можно было работать, но без глубокой детализации. Например, взять все движения денежных средств за месяц и просуммировать по каждому контрагенту. Это гораздо экономичнее, чем хранить данные по движению за каждый день. А ведь в день их может быть тоже несколько десятков.
Конечно, такая процедура требует серьёзной подготовки, выполняется она не быстро и требует высококлассных опытных специалистов. У нас как раз такие есть!
Конечно, это далеко не все рекомендации, которые можно выполнить. Есть ещё несколько интересных секретов, но они не всегда помогают, все зависит от конкретной ситуации. Но начать можно как раз с того, что мы описали в этой статье!