Когда переводить систему с файлового режима работы на платформу SQL?
Платформа 1С имеет две основных архитектурных реализации хранения данных: файловая версия и версия на СУБД (обычно – Microsoft SQL Server или PostgreSQL). Файловая база подходит для работы нескольких пользователей малого предприятия, при условии, что сама база также небольшая, а для средних и крупных предприятий без СУБД не обойтись.
Также очень типичны случаи, когда ведение учета начинается в небольшой файловой базе, а далее она начинает стремительно расти – увеличивается количество бизнес-процессов, которые автоматизируют данной программой, вследствие чего увеличивается количество пользователей, которые в ней работает, а также сама база.
Со временем база начинает притормаживать и наступаем момент, когда необходимо переходить на СУБД. Как определить тот момент, когда стоит задуматься о переходе на SQL?

Предпосылки, которые заставляют задуматься о переходе на СУБД следующие:
Блокировки. Основной и самой важной предпосылкой перевода 1С на СУБД является возникновение ошибок блокировки данных. Дело в том, что при работе с файловой базой таблицы с данными хранятся в файлах, и нет возможности параллельного доступа к ним нескольких пользователей в один момент времени. Если несколько пользователей обратились к данным, хранящимся в одной таблице — то данные будут доступны только первому пользователю, а всем следующим будет выдано сообщение «Ошибка блокировки данных».
Если в базе работает от 1 до 5 пользователей, то данная проблема практически не заметна, так как вероятность того, что в один момент времени к одной и той же таблице обратятся несколько пользователей невелика, но с каждым дополнительным пользователем эта вероятность возрастет.
Замедление работы. А именно, медленное проведения документов, формирование отчетов, снижение скорости загрузки самой программы. Подробнее о методах ускорения 1С можно почитать здесь.
Загруженность диска. Во время работы с файловой версией базы происходит активное чтение/запись данных с дисков, на которых размещена база, в следствии чего их производительности может быть недостаточно. На специализированном серверном «железе» производительность дисковой подсистемы как правило значительно выше.
Момент перехода возможно просчитать заранее. Производительность 1С зависит от 3 ключевых факторов:
• количества пользователей;
• типа конфигурации;
• объема базы.

Основным показателем, который влияет на производительность базы 1С является количество пользователей, работающих с базой. Файловая база при количестве пользователей от 1 до 5 работает значительно быстрее чем СУБД и в таком случаи перевод на SQL повлечет не только дополнительные затраты, но и ухудшение работы системы.
При количестве пользователей порядка 5-10 работа файловой базы отличается от работы СУБД незначительно, но после 10-15 пользователей (а также при наличии интенсивного документооборота, например, в случае использования CRM) производительность файловой базы очень сильно падает и, если количество пользователей довести до 20-25, с базой практически невозможно будет работать по причине блокировок и очень сильному замедлению работы.
Также весомой характеристикой базы является её размер. Если он составляет более 6 Гбайт, имеет смысл задуматься о переходе на SQL. Дело в том, что файловый способ хранения базы не позволяет системе иметь таблицы размером более 4 Гбайт, так что такая файловая база может в любой момент перестать запускаться. База на SQL может иметь любой размер.

Рассмотрим и другие ПРЕИМУЩЕСТВА использования СУБД SQL вместо файловой базы:
Масштабируемость. Использование СУБД MSSQL даст возможность расширять количество пользователей, создавать большое количество баз и, при выделении дополнительного количества аппаратных ресурсов, это не приведет к торможению базы и блокировкам данных.
Отказоустойчивость. Реализация базы на СУБД дает возможность использовать технологии кластеризации, что обеспечит горячее резервирование работы с 1С.
Обслуживание. В СУБД MS SQL есть возможность настроить автоматические регламентные операции, которые будут периодически оптимизировать работу с базой.
Резервирование. Благодаря использованию СУБД, возможно реализовать более надежную систему резервного копирования средствами самого SQL, также резервное копирование лога СУБД дает возможность восстановить данные с точностью до транзакции.
Мониторинг. MS SQL имеет ряд датчиков, отслеживая которые заранее возможно увидеть проблемы с производительностью, безопасностью, а также, отслеживать успешное выполнение операций оптимизации и резервного копирования.

Краткое описание подготовки к процессу перехода на СУБД:
1. Закупить ПО. Для перехода на СУБД вам понадобятся следующие лицензии:
лицензия для Сервера 1С предприятие;
лицензия на сервер MS SQL;
лицензии для клиентского подключения к MS SQL.
Можно попробовать вместо дорогого MS SQL использовать бесплатный PostgreSQL, однако, работать он будет не так надёжно, и проблемы с ним могут случиться совершенно внезапно. Впрочем, если у вас есть хороший системный администратор, который разбирается в PostgreSQL, это будет разумным выбором.
2. Настроить СУБД. Для того, чтобы MS SQL правильно функционировал, его нужно предварительно настроить и под работу с 1С, а также настроить планы оптимизации и резервного копирования.
3. Настроить сервер приложений 1С.

 

 

Перед тем как тратить деньги на закупку оборудования и ПО настоятельно рекомендуется протестировать работу базы в режиме СУБД в тестовом режиме.