Переносим Честный ЗНАК с Microsoft SQL на PostgreSQL

Если нет разницы — зачем платить больше?

Заказчик дал задание — перенести базу данных с Microsoft SQL на PostgreSQL. Казалось бы, банальная задача, ничего интересного, не так ли? Но это только на первый взгляд. Всё самое интересное, как всегда, в деталях.

Что такое Честный ЗНАК и зачем ему база данных

Базы данных редко существуют сами по себе, для красоты, и этот случай — не исключение. БД подключена к Creatio (бывшая bpm от Terrasoft), а в этой CRM работает колл-центр Честного ЗНАКа. Иными словами, все вопросы производителей товаров, которым нужна цифровая маркировка, отправляются именно туда.

Какие это товары? Уже сейчас это: все лекарства, табачная продукция, обувь, духи, фотоаппараты, шины, а эксперименты идут даже по таким товарам как, молоко, питьевая вода или, скажем, кресла-коляски.

А к 2024 году правительство обещает: почти все товары должны будут маркироваться.

Получается, что от эффективности работы колл-центра Честного ЗНАКа зависит даже появление продуктов на полках магазинов. Значит, всё должно работать как часы. Creatio и так-то не напоминает интуитивно понятный интерфейс, а проблемы с БД могут сделать работу операторов ещё сложнее. Чтобы они выполняли именно свою работу, а не воевали с CRM, проблем быть не должно.

Как выглядит схема работы?

  1. Условные производители шуб, лекарств, а скоро и почти чего угодно задаются вопросами по маркировке.
  2. Операторы колл-центра по телефону, почте или чату получают вопросы, обрабатывают их и дают компетентный ответ.
  3. Супервизоры и руководители групп следят за работой операторов, снимают показатели, как обрабатывают запросы, в случае необходимости оптимизируют процессы.

В общем, нормальный рабочий процесс, только зависит от него гораздо больше, чем от колл-центра какого-нибудь интернет-магазина.

От эффективности работы колл-центра Честного ЗНАКа зависит появление продуктов на полках магазинов

А так как Честный ЗНАК — это ГЧП (государственно-частное партнёрство), желательно, чтобы издержки на это всё были пониже. В конце концов, что бизнес за свой счёт это внедряет, что госучастие — в любом случае эти самые издержки ложатся на плечи налогоплательщиков, а значит, нас.

Microsoft SQL платная, а среди бесплатных официально Creatio поддерживает только PostgreSQL. Уже очевидно, куда копать, а если вспомнить ещё и про импортозамещение, то с миграции можно ещё и получить приятный бонус. 

Как мы побороли БД и помогли Честному ЗНАКу

Существующая БД не соответствовала ни одному из необходимых критериев.

За Microsoft SQL надо платить, а сама база время от времени подглючивала и подвисала. При этом база — огромная, грузилась часов по 10, и если в неё попадали трудноотлавливаемые ошибки и данные бились, то падала вся загрузка и по сути полдня улетали в трубу. А развернуть где-то эту базу невозможно, так как внутри идут связи между записями. Мало того: с БД работала не только сама CRM, той же базой пользовалась система Microsoft Power BI для построения отчётов и аналитики, а также чат-бот Banza с маркетплейса Creatio.

Получается, работу нужно было поделить на три больших блока: выискивать и править ошибки, чтобы убрать глюки, устранить подвисания, а потом перенести базу на PostgreSQL.

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

Мы проводили анализ системы, смотрели бизнес-процессы, справочники, запросы в БД от системы. Попутно выявляли, какие требовались доработки, а также изменяли запросы от Power BI, ведь она использовала ту же базу. Приходилось постоянно оптимизировать эту БД, смотреть, где ошибки вылезают, ведь одна кривая запись роняет всю базу, а база, напомню, огромная и грузится 10 часов. 

Команде ИТ-супергероев пришлось изрядно потрудиться, чтобы решить все задачи клиента. Но мы справились. Мы умеем

Ошибки почистили. Провели кропотливую работу, на помощь пришли код и скрипты. Провели анализ по зависаниям, сотворили кое-какую магию данных и под конец сработали как консультанты — оценив нагрузку, посоветовали добавить серверных мощностей. Это всё вместе в итоге и закрыло проблемы с зависаниями и падениями, а перенос чистой и доработанной системы на PostgreSQL остался уже по сути как очередной и не очень большой проект.

Итого: основная цель выполнена, деньги сэкономлены за счёт лицензий майкрософта, за которые больше не надо платить.

Заказчик доволен, мы довольны, операторы довольны, их супервизоры довольны, а самое главное — довольны производители маркируемых товаров, которые могут получать ответы про систему быстро и по существу

Что для вас деньги?
  • Добавить свой ответ

Самое время закругляться, пока что-нибудь не поломалось.

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: