
ПРЕДПОСЫЛКИ К ПРОЕКТУ
Торгово-производственная компания ОАО Хлебпром основана в 1982 году. Входит в число ведущих российских производителей кондитерского рынка. Компания насчитывает более 4167 сотрудников, включает четыре производственные площадки.
Корпоративная информационная система ОАО Хлебпром построена на платформе MS Dynamics AX и СУБД MS SQL Server. За период более 10 лет, к 2020 году, объём базы данных Московского филиала достиг размера в 4.2 Тб. В связи с чем стали проявляться проблемы, связанные с обслуживанием БД и её производительностью. Чтобы предупредить эскалацию этих проблем в будущем, было решено выполнить обрезку исторических данных, не требуемых для операционной деятельности предприятия.
Однако обрезка базы такого объёма – задача непростая, и её решение осложняли следующие факторы:
-
БД является бизнес-критичной и функционирует в режиме, близком к формату 24*7;
-
обрезку БД требуется выполнить без помех работе пользователей и тем более без остановки их работы;
-
высокая дополнительная нагрузка: обрезка такого объёма данных – процесс достаточно тяжелый, дающий большую нагрузку на аппаратные средства и создающий массовые блокировки;
-
требуется длительная верификация: при обрезке критичное значение имеет консистентность конечных данных, поэтому обязательно требуется глубокая верификация обрезанной базы, прежде чему пустить в нее пользователей;
-
высокая длительность процесса: предварительные расчёты показали, что если делать обрезку за один раз, то сама обрезка и последующая верификация данных должны были занять от 2-х до 4-х недель;
ВЫБОР РЕШЕНИЯ И ИСПОЛНИТЕЛЯ
Среди прочих подрядчиков команда Softpoint предложила изящное решение. По их методике обрезка осуществляется не в рабочей базе, а в её копии. При этом изменения данных рабочей базы, которые скопятся в ней за время обрезки и проверки копии, синхронизируются в обеих базах при помощи ПО "Репликация информационных баз" (DB Replication). По окончании обрезки и проверки уменьшенная база заменяет собой исходную рабочую.
Как оказалось, предложенная методика позволяет надёжно решить задачу обрезки без помех пользователям, без простоев системы, и в комфортном временном диапазоне.
Ключевым элементом, благодаря которому методика действительно эффективна, явилась технология обмена данными DB Replication. Она удовлетворяет двум критическим требованиям: во-первых, совместимость с платформой MS Dynamics AX, во-вторых, высокая пропускная способность для быстрой и качественной передачи большого массива данных, который скапливается в рабочей базе за несколько недель обрезки и верификации её копии. Кроме того, DB Replication при своей работе не создаёт сколько-нибудь существенной дополнительной нагрузки и блокировок, и не мешает пользователям.
Итак, бизнес утвердил методику Softpoint, но реализацию непосредственно механизма обрезки поручил команде подрядчика, занимающегося поддержкой и развитием учетной системы MS Dynamics AX. А команда Softpoint в проекте взяла на себя задачу внедрения, настройки и сопровождения программного комплекса DB Replication, включая все операции, связанные с синхронизацией данных.
РЕЗУЛЬТАТЫ
Подготовка инфраструктуры проекта, включая внедрение и настройку DB Replication, заняли около 3 недель.
Обрезка базы-копии с помощью заранее разработанных скриптов и первичная верификация данных заняли 2 недели. За это время в рабочей базе скопилась очередь изменений в 12 миллионов контейнеров-транзакций. Все они с помощью DB Replication были успешно переданы и применены в копии за 32 часа. По окончании прокачки этой очереди DB Replication продолжил синхронизировать рабочую и обрезанную базы уже в режиме, близком к онлайн.
Затем копия базы данных была передана бизнесу, началась длительная и углублённая верификация данных. Тем временем, пользователи продолжали работать в исходной рабочей базе в обычном режиме. В комфортном для бизнеса ритме верификация заняла около 4 недель. Всё это время DB Replication продолжал автономно и надёжно синхронизировать копию с рабочей базой.
По завершении верификации пользователи были переключены на работу в новую рабочую базу, уменьшенную в размере до 2 Гб.
Исходная рабочая база данных изменила роль – стала большим архивом, используемым для обращения к историческим данным.