Регулярный выпуск новых версий программных продуктов дает возможность вендору совершенствовать свои разработки, приводить их в соответствие с новыми технологиями и стандартами, делать совместимыми с новыми ОС и аппаратными платформами. Тем не менее каждое решение о переходе на новую версию в корпоративной среде принимается с крайней осторожностью. Действует известное правило: не ремонтируй то, что нормально работает. Другое дело, что “нормально” — не всегда означает отсутствие каких-либо проблем. А если к тому же все понимают, что со временем эти проблемы будут только расти, то трудное решение принять так или иначе придется. Особенно ответственно такое решение в случае обновления версии СУБД, на которой, как правило, базируются наиболее важные для бизнеса приложения. В первой половине 2012 г. корпорация Microsoft планирует выпустить версию SQL Server 2012, известную до этого под кодовым названием Denali, и вопрос о целесообразности перехода на нее встанет перед многими предприятиями. Три года назад, накануне выпуска SQL Server 2008, аналогичный вопрос стоял и перед известной пивоваренной компанией “Балтика”.

К тому времени у нее было 11 заводов, расположенных в разных регионах России, которые производили 45 млн. гектолитров пива в год и экспортировали его в 46 стран мира. Рыночная капитализация компании, в штате которой было 12 тыс. сотрудников, превышала 8 млрд. долл. Управление операционной деятельностью осуществлялось при помощи ERP-системы “МОНОЛИТ SQL 4.1”, разработанной компанией “Монолит-Инфо” и развернутой на всех заводах “Балтики”. Установка системы в разные периоды времени осуществлялась на платформах Microsoft SQL Server 2000 и Microsoft SQL Server 2005. Компания разрасталась (зачастую за счет поглощений), и со временем на повестку дня встал вопрос о стандартизации бизнес-процессов, выполняемых на разных площадках. В частности, необходимо было объединить процессы управления данными, связав разрозненные серверы БД в единую централизованную систему. Общий объем БД, к которой одновременно обращались 700 пользователей, составлял тогда 2 Тб. Ежедневно в ERP-системе создавалось 15 тыс. документов, а число операций по их обработке превышало 150 тыс.

Для построения централизованной базы данных ERP-системы были задействованы функции репликации, встроенные в SQL Server 2005. Специалистов ИТ-департамента “Балтики” заинтересовали расширенные возможности репликации SQL Server 2008 и ряд других функций, появившихся в этой версии СУБД Microsoft. Однако полной уверенности в том, что переход на нее не будет сопровождаться неожиданными проблемами, у них не было. Тогда Microsoft предложила протестировать работу системы “МОНОЛИТ SQL 4.1” на SQL Server 2008 в своей тестовой лаборатории в Редмонде. Инженеры компаний “Балтика” и “Монолит” привезли туда копию рабочей базы данных, что позволило максимально приблизить лабораторные условия к фактическим условиям эксплуатации.

В “Балтике” была развернута многосерверная конфигурация централизованной базы данных ERP-системы, в которой синхронизация данных на шести узлах выполнялась путем двунаправленной P2P-репликации, позволяющей обеспечить расширяемость и высокую доступность системы за счет создания идентичных копий БД на нескольких серверных узлах. В рамках такой одноранговой репликации (в ее основе лежит репликация транзакций) транзакционно согласованные изменения БД на одном сервере распространяются на остальные практически в режиме реального времени (см. рис. “Добавление нового узла сервера БД”). Если приложению необходимо увеличить количество операций чтения, их можно распределить по нескольким узлам. Поскольку данные на всех узлах обновляются практически в реальном времени, P2P-репликация обеспечивает избыточность данных, а следовательно, повышает их доступность.

Эффективность операций записи в такой топологии близка к эффективности отдельного узла, поскольку операции вставки, обновления и удаления, будучи выполнены на одном узле, впоследствии оперативно распространяются на все остальные. Механизм репликации распознает факт внесения изменений в данные того или иного узла и предотвращает повторное копирование таких изменений на один и тот же узел. Средства P2P-репликации в SQL Server 2008 позволяют эффективно выявлять конфликты в многосерверной топологии. В случае сбоя одного из узлов сервер приложений может перенаправить операции записи с этого узла на другой, сохраняя тем самым прежний уровень доступности. На период обновления всей системы или технического обслуживания отдельных узлов их можно отключать, а потом возвращать в конфигурацию по одному. На доступности приложения это не сказывается.

Инженеры компании “Балтика” были полностью удовлетворены результатами тестирования ERP-решения в лаборатории Microsoft. Кроме того, за эти дни они обсудили с разработчиками корпорации возможность использования в дальнейшем и ряда других усовершенствованных механизмов P2P-репликации SQL Server 2008. Как отметил Сергей Робозеров, заместитель директора по техническому обеспечению информационных технологий пивоваренной компании “Балтика”, на ERP-систему “МОНОЛИТ SQL” опираются практически все операции: бухгалтерия, управление продажами, складской учет, управление кадрами, ценообразование, управление связями с клиентами, управление контрактами, и этот список можно долго продолжать. “Мы должны были убедиться, что после перехода на SQL Server 2008 все это будет работать даже при большой нагрузке. Никаких проблем при обновлении платформы БД у нас не было”, — подчеркнул он.

“Обычно существует много достаточно веских причин для обновления версии SQL Server, однако наши клиенты не всегда решаются обновлять программные продукты, если они работают бесперебойно, и их ERP-решение отлично работало на предыдущей версии SQL Server. И мы были приятно удивлены тем, насколько просто прошло обновление на SQL Server 2008. Ни при переносе приложения, ни при переносе данных никаких сложностей не возникло”, — сказал Марк Сафонов, разработчик программного обеспечения компании “Монолит-Инфо”.

В установленной в компании “Балтика” версии SQL Server появились полезные инструменты, упрощающие управление БД, повышающие их надежность, облегчающие обновление данных и ERP-приложений при переходе с предыдущей версии. “Мы обнаружили, что использование SQL Server 2008 упрощает решение многих задач по сопровождению. Кроме того, хотел бы отметить новую функцию фиксации планов исполнения запросов, реализованную в SQL Server 2008. Она позволяет лучше управлять планом исполнения запроса, что позволит обеспечить более предсказуемое поведение нашей системы в части быстродействия”, — констатировал Сергей Робозеров.

По словам Вячеслава Архарова, менеджера по продуктам SQL Server и BizTalk Server, Microsoft в России, корпорация уделяет особое внимание вопросу миграции на новую версию своих решений: “Необходимо быть особенно внимательным, когда речь идет об обновлении платформ, поддерживающих ключевые бизнес-процессы компании, ведь в современном мире остановить работу предприятия даже на короткое время чревато серьезными последствиями. Именно поэтому мы постоянно расширяем инструменты и решения, которые позволяют обеспечить быстрый и безболезненный апгрейд. Это характерно для SQL Server 2008, для которого мы представили протестированные методологии миграции и большой набор инструментов разработки, миграции и комплексного обновления. Этой стратегией мы руководствуемся и при запуске нового SQL Server 2012. Ведь новая СУБД Microsoft не только обладает повышенной производительностью и повышает продуктивность работы как сотрудников, так и бизнеса вообще, но также позволяет использовать все преимущества частного и публичного облаков”.

СПЕЦПРОЕКТ