Переходить или не переходить с 1С DBF на 1С SQL?   

Введение

В ходе своего развития большинство компании сталкиваются с проблемой отставания технологических возможностей информационной системы от потребностей "бизнеса", как на ближайшей перспективе, так и на уровне стратегических задач. И это, в какой-то степени, нормальное положение вещей, в силу того, что при формировании информационной системы практически невозможно определить и заложить в неё основные направления будущего развития. Как говориться – всего не учесть. Но, даже с учетом этого, существует определенный набор негласных правил для формирования и развития существующих информационных систем, которые должны учитываться на каждом этапе развития компании.

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

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

Скажем так, идеальные условия для работы системы 1С:Предприятие в файловом режиме – это наличие только одного пользователя, работающего с данными. В этом случае отклик на его операции будет максимально оперативный и комфортный для постоянной работы.

Предпосылки перехода

Любая информационная система 1С в файловом варианте, имеет маленький запас прочности для дальнейшего развития и обеспечения приемлемого качества работы. Это может выражаться в:

  • Замедлении основных операций проведения документов и построения отчетов;
  • Появлении различного рода ошибок, в т.ч. "Ошибок блокировки транзакции";
  • Снижении надежности системы за счет отсутствия возможности резервного копирования и прочее.

Также, с ростом компании, как правило происходит накопление данных, увеличивая тем самым файлы хранения DBF. Для информационных систем с незначительным информационным потоком эта проблема не столь актуальна, так как каждый объект метаданных храниться в отдельной таблице. Но если файлы достигают размеров близких к 2 Гб – учащаются простои в работе системы, обусловленные в том числе сбоями в работе индексов. Безусловно, профилактические работы в виде определенных регламентных процедур, позволяют некоторое время бороться с такими ситуациями. Но это меры на короткой дистанции (так называемые "полумеры") и с ростом системы велика вероятность длительных простоев или полной остановки. На следующем рисунке представлено концептуальное сравнение DBF и SQL при многопользовательской работе:

Итак, что же можно сделать в ситуации, когда система 1С:Предприятие в режиме работы DBF становится не жизнеспособна? По сути, есть 2 основных варианта, которые чаще всего рассматриваются, как реальное решение:

  • Внедрение нового бизнес-приложения (включая все возможные подзадачи, в том числе и перенос данных из старой в новую информационную систему)
  • Перевод информационной системы 1С:Предприятие из режима работы DBF в режим работы SQL.

Первый вариант, в рамках данной статьи, мы намеренно не рассматриваем, так как он влечет за собой множество сложностей и особенностей, таких, как: большая трудоемкость решаемых задач; весьма продолжительные сроки всего проекта; значительные финансовые вложения; не говоря уже о рисках проекта – "а заработает ли вообще новая система?".

Поэтому, остановимся на втором варианте и разберем основные преимущества режима работы SQL перед DBF и особенности реализации подобных проектов перехода.

Основные преимущества при переходе с DBF на SQL

Как правило, проблемы производительности и качества работы системы в основном не равномерно распределены в течение всего дня. Они проявляются в достаточно небольшие периоды. Обычно, это несколько минут либо десятков минут – далее "моменты пиковой нагрузки". В такие моменты проявляются все особенности режима работы DBF, которые можно охарактеризовать одной фразой – невозможно вести одновременную, многопользовательскую работу, в которой есть конкуренция за общие ресурсы системы.

Режим работы SQL позволяет реализовать гораздо больше возможностей для многопользовательского режима работы системы 1С:Предприятие. К основным его преимуществам (в сравнении с DBF) можно отнести:

  • Производительность и скорость работы - возможность реализации параллельной работы большого количества пользователей с хорошим качеством с точки зрения производительности.
  • Масштабируемость решения – возможность наращивания информационной системы со стороны пользователей и информационных потоков, решая при этом задачи производительности.
  • Управление качеством – возможность реализовать эффективный мониторинг (в т.ч. в режиме онлайн) ключевых параметров быстродействия системы, с ведением полного архива для разбора инцидентов.
  • Эффективное обслуживание – возможность реализации надежных средств резервного копирования и обмена данными для повышения надежности и отказоустойчивости.
  • Работа с данными – возможность разработки альтернативных механизмов получения данных средствами T-SQL, что в ряде случаев обеспечивает прирост в скорости выполнения операций.

Но не стоит рассматривать процесс перевода системы 1С:Предприятие из режима работ DBF в режим работы SQL, как тривиальный и не требующий детальной проработки. Какие же вопросы необходимо решить в обязательном порядке до начала реализации подобного проекта?

Особенности реализации проекта перехода с DBF на SQL

Во первых, необходимо определиться с тем, кто будет выполнять проект. Безусловно, это должна быть команда, обладающая не только опытом в подобных проектах, но и широким опытом в работе и оптимизации систем 1С:Предприятие на базе SQL.

Во вторых, необходимо определить наиболее важные модули 1С, которые определяют основные бизнес-процессы компании, как в период оперативной работы, так и в отчетные периоды. То есть, по сути, надо выделить все те участки 1С (документы, отчеты, обработки), без которых компания не сможет нормально функционировать.

В третьих, необходимо иметь возможность реализовать задачи в части изменения кода 1С под специфику работы SQL. Как правило, запросы и процедуры 1С в режиме работы DBF, написаны без учета специфики работы с SQL. Как правило, они составляют от 10-30% от всего количества. Но в ряде случаев их количество может быть значительно выше.

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

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

Безусловно, проект перевода системы 1С:Предприятие из режима работы DBF в режим работы SQL состоит из трудоемких, нетривиальных задач и является по своей сути достаточно рискованным. Но, чтобы все возможные риски проекта свести к минимуму, необходимо качественно проработать весь проект на начальной стадии или же предать все задачи по нему в руки компании, компетентной в подобных вопросах.

Заключение

В любом случае, решение о переходе на SQL из режима работы DBF, каждая компания принимает самостоятельно. Но при этом, должны учитываться все особенности, риски и последствия принятия того или иного решения.

Компания "Софтпоинт" имеет богатый опыт реализации подобных проектов. Более подробную информацию Вы можете получить по адресу softpoint@softpoint.ru

Одной из важнейших составляющих подобных проектов ялвяется технология "Гибкие блокировки", которая используется для решения задач производительности в системах на базе 1С:Предприятие и MS SQL Server.