+7 862 227-01-03
г. Сочи, ул. Гагарина, д. 29
пн-пт 9:00-18:00, сб. 10:00-15:00

Когда переводить базу данных 1С на SQL?

Как известно программа 1С имеет две основных архитектурных реализации касательно хранения данных: файловая версия и версия на СУБД. Все знают, что файловая база подходит для работы нескольких пользователей малого предприятия, при условии что сама база также не большая, а для средних и крупных предприятий без СУБД не обойтись.

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

Со временем база начинает притормаживать и наступаем момент когда необходимо переходить на СУБД. Как же определить тот момент, когда стоит задуматься о переходе на SQL? Ведь сам переход и подготовка для него инфраструктуры требует немало времени, а также денежных затрат.


Предпосылки, которые заставляют задуматься о переходе на СУБД следующие:

  • Блокировки. Основной и самой важной предпосылкой перевода 1С на СУБД есть возникновение ошибок блокировки данных. Дело в том, что при работе с файловой базой таблицы с данными хранятся в файлах, и нет возможности параллельного доступа к ним нескольких пользователей в один момент времени. 

    Если несколько пользователей обратились к данным, хранящимся в одной таблице — то данные будут доступны только первому пользователю, а всем следующим будет выдано сообщение «Ошибка блокировки данных». 

    Если в базе работает от 1 до 5 пользователей, то данная проблема практически не заметна, так как вероятность того, что в один момент времени к одной и той же таблице обратятся несколько пользователей невелика, но с каждым дополнительным пользователем эта вероятность возрастет.

  • Замедление работы. А именно, медленное проведения документов, формирование отчетов, снижение скорости загрузки самой программы. Подробнее о методах ускорения 1С можно почитать здесь.

  • Загруженность диска. Во время работы с файловой версией базы происходит активное чтение/запись данных с дисков, на которых размещена база, в следствии чего их производительности может быть недостаточно.

Это что касается симптомов, которые могут указать на необходимость перехода.


Теоретически момент перехода возможно просчитать заранее. Производительность 1С зависит от 3 ключевых факторов:

  • количества пользователей;
  • типа конфигурации;
  • объема базы.

Основным показателем, который влияет на производительность базы 1С является количество пользователей работающих с базой. Файловая база при количестве пользователей от 1 до 5 работает значительно быстрее чем СУБД и в таком случаи перевод на SQL повлечет не только дополнительные затраты, но и ухудшение работы системы.

При количестве пользователей порядка 5-10 работа файловой базы отличается от работы СУБД не значительно, после 10-15 пользователей производительность файловой базы очень сильно падает и если количество пользователей довести до 20-25 с базой практически не возможно будет работать по причине блокировок и очень сильному замедлению работы. Ниже приведены графики зависимости производительности 1С от количества пользователей для разных конфигураций.

 
Рисунок 1 - Схема работы с зашифрованной базой данных

Также весомой характеристикой базы есть ее размер, в случае, если файловая база занимает более 1 Гб данных, ее целесообразно перевести на СУБД.


Рассмотрим и другие преимущества использования СУДБ SQL вместо файловой базы

  • Масштабируемость. Использование СУБД MSSQL даст возможность расширять количество пользователей, создавать большое количество баз и, при выделении дополнительного количества аппаратных ресурсов, это не приведет к торможению базы и блокировкам данных.

  • Отказоустойчивость. Реализация базы на СУБД дает возможность использовать технологии кластеризации, что обеспечит горячее резервирование работы с 1С.

  • Обслуживание. В СУБД MS SQL есть возможность настроить автоматические регламентные операции, которые будут периодически оптимизировать работу с базой.

  • Резервирование. Благодаря использованию СУБД, возможно реализовать более надежную систему резервного копирования средствами самого SQL, также резервное копирование лога СУБД дает возможность восстановить данные с точностью до транзакции.

  • Мониторинг. MS SQL имеет ряд датчиков, отслеживая которые заранее возможно увидеть проблемы с производительностью, безопасностью, а также, отслеживать успешное выполнение операций оптимизации и резервного копирования.

  • Использование для других приложений. MS SQL является одной из самых популярных СУБД, большинство приложений использующих СУБД работают c MS SQL. Таким образом внедрение MS SQL для 1С может служить подготовкой почвы для внедрения или оптимизации других приложений.


Концептуальное описание подготовки к процессу перехода на СУБД:

1. Закупить ПО. Для перехода на СУБД вам понадобятся следующие лицензии:

  • лицензия для Сервера 1С предприятие;

  • лицензия на сервер MS SQL;

  • лицензии для клиентского подключения к MS SQL.

2. Настроить СУБД. Для того, чтобы MS SQL правильно функционировал, его нужно предварительно настроить и под работу с 1С, а также настроить планы оптимизации и резервного копирования.

3. Настроить сервер приложений 1С.

Выше приведена информация, которая поможет понять, когда же нужно переводить 1С на СУБД, а также зачем и что для этого нужно. Но перед тем как тратить деньги на закупку оборудования и ПО настоятельно рекомендуется протестировать работу базы в режиме СУБД в тестовом режиме. Если не хватает для это своих ресурсов, не достаточно специалистов или просто не хочется тратить время на настройку тестового стенда – всегда возможно арендовать ресурсы и ПО. Далее проверить все на арендованном оборудовании и по результату принять решения переходить ли на SQL или работать далее с файловой базой.