БКК «Коломенский»

Предпосылки к проекту

БКК «Коломенский» работает с 1956 года. На сегодняшний день компания занимает лидирующие позиции на московском рынке по производству хлебобулочных и кондитерских изделий, и является одним из самых значимых участников отрасли в России и СНГ.

Основная корпоративная информационная система 1С:УППпостроена на платформе 1С 8.3 и в качестве СУБД использует MSSQLServer. Эта информационная система состоит из двух баз данных, связанных между собой системой обмена.

С течением времени база данных растет, к 2020 году её объём достиг нескольких терабайт. Стали всё сильнее проявляться проблемы, типичные для баз такого размера. Основные из них это:

  • всё сложнее качественно обслуживать индексы и статистики из-за растущей длительности этих операций;

  • длительность резервирования и восстановления копий баз всё время увеличивается;

  • избыточное потребление дисковых ресурсов под размещение 2х рабочих баз данных и их резервных и тестовых копий;

  • увеличение рисков при обновлениях конфигурации 1С, когда требуется реструктуризация крупных таблиц.

Важно отметить, что в последние полтора-два года наметилось сильное ускорение в приросте БД. Стало очевидно, что нужно превентивно искать решение, пока ситуация не вышла из-под контроля. Было решено свернуть исторические данные в обеих рабочих БД по 31.12.2018г.

Решение, выбор подрядчика

Почему именно компания Софтпоинт была выбрана в качестве подрядчика для решения этой задачи? Тут важно отметить, что проект свёртки был одним из звеньев в рамках целого комплекса мероприятий, направленных на увеличение быстродействие системы, её масштабируемости и прочих смежных задач. Именно Софтпоинт был выбран по той причине, что у этой компании есть всё необходимое для успешного решения поставленных задач: мощная профильная экспертиза, многолетний опыт, сплоченная команда, собственные уникальные программные решения и методики.

Что касается свёртки БД, то для решения этой задачи Софтпоинт предложил интересную методику, которая позволяет свернуть даже многотерабайтную БД без остановки системы, абсолютно надёжно, аккуратно и без аврала. Звучит крайне привлекательно для столь нетривиальной задачи. При этом в багаже у Софтпоинт уже имеется ряд успешных проектов по этой методике.

Фактически проект состоял из следующих этапов:

  • Первым этапом, используя копию базы данных, специалисты Софтпоинт разработали сам механизм свёртки исторических данных с учетом всех требований. Протестировали процесс обрезки и совместно со специалистами БКК Коломенский детально проверили качество данных в свёрнутой базе. Обрезка была реализована в основном средствами TSQL, и её скорость получилась довольно высокой: весь процесс занимал порядка 10-11 часов. Причем файл данных получался уже сжатым и с индексами, находящимися в идеальном состоянии.

  • Вторым этапом копию основной рабочей базы подключили к рабочему контуру обмена DBReplicationв качестве подписчика-«получателя». Тем самым получилась БД-копия, постоянно синхронная по данным с двумя нашими рабочими базами, т.к. она онлайн получает все изменения посредством DBReplication.

  • Третьим этапом в этой БД-Копии выполнили свертку исторических данных с помощью механизма, разработанного на первом этапе. А также совместно со специалистами БКК Коломенский выполнили контрольную проверку данных. В этот период времени, занявший порядка 4х дней, пользователи продолжали работать как обычно в 2х рабочих базах.

  • Четвертым этапом две рабочие базы заменили двумя идентичными экземплярами свернутой базы. Одновременно с этим исходная не свёрнутая основная база данных поменяла свою роль: она стала Архивной базой, оставшись в рабочем контуре обмена DBReplication как база-«получатель». Теперь она за счет DBReplication поддерживается в актуальном состоянии по данным, и используется для построения некоторых отчетов и доступа к историческим данным в случае необходимости.

В результате - успех

Что мы получили в итоге:

  • Проект выполнен успешно, все поставленные цели достигнуты;

  • Обе рабочие базы данных уменьшились в два раза, что соответствует изначальным расчетам;

  • Подход с обрезкой БД-копии и применением для этого DBReplication себя оправдал. Свертка прошла спокойно, без потерь данных и остановки системы, без стресса для пользователей.

Исходная не свернутая база осталась в контуре обмена в качестве Архивной и поддерживается в актуальном состоянии по данным.
Все отзывы Скан оригинала отзыва