Переходить или не переходить с 1С DBF на 1С SQL? |
Введение В ходе своего развития большинство компании сталкиваются с проблемой отставания технологических возможностей информационной системы от потребностей "бизнеса", как на ближайшей перспективе, так и на уровне стратегических задач. И это, в какой-то степени, нормальное положение вещей, в силу того, что при формировании информационной системы практически невозможно определить и заложить в неё основные направления будущего развития. Как говориться – всего не учесть. Но, даже с учетом этого, существует определенный набор негласных правил для формирования и развития существующих информационных систем, которые должны учитываться на каждом этапе развития компании. Сразу отметим, что данная статья не нацелена на рассмотрение всего спектра проблем развития информационных систем, а рассматривает очень узкую проблематику – особенности работы систем 1С:Предприятие в файловом режиме. Как известно, системы 1С:Предприятие, работающие в файловом режиме, получили свое распространение среди множества сравнительно небольших компаний. С технической стороны это обусловлено тем, что при определенных условиях использования (небольшое количество пользователей 1С, отсутствие конкуренции среди пользователей за ресурсы, малые информационные потоки системы и т.п.) система позволяет работать с данными 1С достаточно оперативно, не ощущая замедлений и торможений. С коммерческой стороны это обусловлено исключением затрат на лицензирование каждого рабочего места, как с точки зрения бизнес-приложения, так и с точки зрения системы управления базами данных. Скажем так, идеальные условия для работы системы 1С:Предприятие в файловом режиме – это наличие только одного пользователя, работающего с данными. В этом случае отклик на его операции будет максимально оперативный и комфортный для постоянной работы. Предпосылки перехода Любая информационная система 1С в файловом варианте, имеет маленький запас прочности для дальнейшего развития и обеспечения приемлемого качества работы. Это может выражаться в:
Также, с ростом компании, как правило происходит накопление данных, увеличивая тем самым файлы хранения DBF. Для информационных систем с незначительным информационным потоком эта проблема не столь актуальна, так как каждый объект метаданных храниться в отдельной таблице. Но если файлы достигают размеров близких к 2 Гб – учащаются простои в работе системы, обусловленные в том числе сбоями в работе индексов. Безусловно, профилактические работы в виде определенных регламентных процедур, позволяют некоторое время бороться с такими ситуациями. Но это меры на короткой дистанции (так называемые "полумеры") и с ростом системы велика вероятность длительных простоев или полной остановки. На следующем рисунке представлено концептуальное сравнение DBF и SQL при многопользовательской работе: Итак, что же можно сделать в ситуации, когда система 1С:Предприятие в режиме работы DBF становится не жизнеспособна? По сути, есть 2 основных варианта, которые чаще всего рассматриваются, как реальное решение:
Первый вариант, в рамках данной статьи, мы намеренно не рассматриваем, так как он влечет за собой множество сложностей и особенностей, таких, как: большая трудоемкость решаемых задач; весьма продолжительные сроки всего проекта; значительные финансовые вложения; не говоря уже о рисках проекта – "а заработает ли вообще новая система?". Поэтому, остановимся на втором варианте и разберем основные преимущества режима работы SQL перед DBF и особенности реализации подобных проектов перехода. Основные преимущества при переходе с DBF на SQL Как правило, проблемы производительности и качества работы системы в основном не равномерно распределены в течение всего дня. Они проявляются в достаточно небольшие периоды. Обычно, это несколько минут либо десятков минут – далее "моменты пиковой нагрузки". В такие моменты проявляются все особенности режима работы DBF, которые можно охарактеризовать одной фразой – невозможно вести одновременную, многопользовательскую работу, в которой есть конкуренция за общие ресурсы системы. Режим работы SQL позволяет реализовать гораздо больше возможностей для многопользовательского режима работы системы 1С:Предприятие. К основным его преимуществам (в сравнении с DBF) можно отнести:
Но не стоит рассматривать процесс перевода системы 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, каждая компания принимает самостоятельно. Но при этом, должны учитываться все особенности, риски и последствия принятия того или иного решения. Компания "Софтпоинт" имеет богатый опыт реализации подобных проектов. Более подробную информацию Вы можете получить по адресу Одной из важнейших составляющих подобных проектов ялвяется технология "Гибкие блокировки", которая используется для решения задач производительности в системах на базе 1С:Предприятие и MS SQL Server. |