Top.Mail.Ru
РБК Компании
Заморозили скидки: делитесь новостями бизнеса и читайте эксклюзивы на РБК
Успеть до 14.12
Заморозили скидки:
делитесь новостями бизнеса
и читайте эксклюзивы на РБК
Успеть до 14.12

«Росагролизинг»: перевод аналитической системы на Postgres Pro

АО «Росагролизинг» перевел аналитическую систему (6 ТБ) с Microsoft SQL Server на Postgres Professional
Postgres Pro
Источник изображения: Личный архив компании
Задача и причина

Причина проекта

Чтобы повысить устойчивость аналитической системы предприятия, было решено перенести БД в российскую Postgres Pro и заместить службу интеграции MS SSIS.

Задачи проекта

С августа до конца 2022 года выполнить импортозамещение СУБД Microsoft SQL Server и Microsoft SSIS на российскую Postgres Pro и Apache Airflow для аналитической системы предприятия АО «Росагролизинг».

Postgres Pro — российская система управления базами данных, глубоко переработанная версия СУБД с открытым исходным кодом PostgreSQL. Позволяет решать сложные промышленные задачи на предприятиях с высоконагруженными системами. Входит в реестр отечественного ПО и имеет сертификат ФСТЭК.

В рамках масштабного проекта по переносу аналитической системы АО «Росагролизинг» с иностранной платформы на российскую СУБД Postgres Pro наша команда реализовала четкий, последовательный план действий. Процесс миграции включал в себя несколько ключевых фаз, каждая из которых требовала тщательной проработки и специализированных решений:

  1. Глубокий анализ исходной инфраструктуры (MS SQL Server):
    • На первом этапе был проведен всеобъемлющий аудит существующей базы данных. Объектом анализа стали 341 таблица, совокупный объем данных в которых превышал 6 Терабайт, а количество записей в отдельных таблицах достигало 4 миллиардов строк.
    • Особое внимание уделялось процессам извлечения, преобразования и загрузки данных (ETL). Были идентифицированы и детально изучены 15 ключевых ETL-пакетов, разработанных на платформе SQL Server Integration Services (SSIS). Эти пакеты содержали критически важную бизнес-логику, реализованную в 131 хранимой процедуре. Объем кода в отдельных процедурах был значительным, доходя до 12 000 строк.
    • Результатом аудита стало выявление основных зон риска и сложностей: наличие унаследованного (legacy) кода со сложной, не всегда документированной логикой; исключительная важность точности вычислений, от которых напрямую зависели ключевые бизнес-процессы компании; а также недостаточная полнота и актуальность технической документации, что усложняло понимание всех нюансов работы системы.
  2. Проектирование целевой архитектуры на Postgres Pro:
    • На основе результатов анализа была спроектирована новая архитектура системы, ориентированная на использование возможностей Postgres Pro. Разработка включала детальное проектирование структур хранения данных, схем взаимодействия компонентов и потоков обработки информации.
    • Ключевыми задачами проектирования являлись обеспечение функциональной эквивалентности новой системы старой в условиях перехода. Принимались стратегические решения по поддержке необходимого уровня совместимости со старыми процессами (там, где это требовалось), гарантированию воспроизводимости результатов расчетов и закладке фундамента для будущего масштабирования системы в соответствии с растущими потребностями бизнеса.
  3. Разработка специализированных утилит автоматизации:
    • Осознавая объем и сложность миграции, а также необходимость минимизации ручного труда и связанных с ним ошибок (человеческого фактора), команда разработала комплекс собственных инструментов и скриптов:
      • Конвертер SQL-кода: интеллектуальный инструмент для трансляции синтаксиса T-SQL (MS SQL Server) в PL/pgSQL (Postgres Pro) с максимальным сохранением исходного форматирования и комментариев, что существенно упрощало последующую отладку и понимание кода.
      • Инструмент миграции данных: надежное решение для переноса массивов информации (6+ Тб) между разнородными СУБД с учетом специфики типов данных, индексов и ограничений таблиц в Postgres Pro.
      • Модуль верификации данных: механизм для тщательного сравнения содержимого таблиц и результатов запросов в старой и новой системах после миграции, позволяющий выявлять расхождения на уровне отдельных записей.
      • Генератор DAG-файлов: утилита для автоматического преобразования логики выполнения шагов в SSIS-пакетах в Directed Acyclic Graphs (DAG), понятные современным оркестраторам задач, планируемым к использованию в новой среде.
      • Система сверки бизнес-логики: комплексный инструмент для автоматического прогона ключевых хранимых процедур на идентичных наборах входных данных в обеих СУБД (MS SQL и Postgres Pro) и сравнения выходных результатов, что являлось основой для подтверждения корректности миграции сложных вычислений.
  4. Стратегия параллельной разработки:
    • Принята уникальная стратегия: новая система на Postgres Pro разрабатывалась и отлаживалась параллельно с процессом модернизации и поддержки существующей легаси-системы на MS SQL Server. Этот подход обеспечил следующие ключевые преимущества:
      • Возможность использовать работающую старую систему как абсолютный эталон для непрерывной проверки результатов работы мигрированных алгоритмов и процедур на Postgres Pro.
      • Выявление и учет скрытых, неформализованных зависимостей и особенностей обработки данных, которые могли быть упущены при первоначальном анализе документации, но проявлялись в реальной работе старой системы.
  5. Основная фаза миграции и интенсивной отладки:
    • Непосредственный процесс переноса всего объема кода (хранимые процедуры, функции, скрипты) и данных был выполнен в сжатые сроки — за 2 месяца. Это стало возможным благодаря использованию разработанных инструментов автоматизации.
    • Последующий этап занял 3 месяца и был посвящен кропотливой пошаговой отладке, комплексной сверке результатов и всестороннему тестированию всех бизнес-процедур и расчетных модулей. На этом этапе активно использовалась система сверки бизнес-логики и модуль верификации данных, а также проводилось ручное тестирование пограничных случаев.
  6. Период параллельной эксплуатации (Фаза Dual-Run):
    • Для окончательной проверки стабильности, производительности и, главное, корректности работы новой системы под реальной нагрузкой был организован период параллельной эксплуатации длительностью 4 месяца. В течение этого времени:
      • Обе СУБД (MS SQL Server и Postgres Pro) функционировали одновременно, обрабатывая идентичные потоки рабочих данных.
      • Непрерывно осуществлялась автоматическая и ручная верификация результатов, выдаваемых обеими системами.
      • Проводился мониторинг и сравнение производительности, стабильности работы и потребления ресурсов новой системой в условиях реальной, а не тестовой, эксплуатационной нагрузки.
  7. Финальный переход и вывод старой системы из эксплуатации:
    • Только после успешного завершения этапа параллельной эксплуатации, накопления достаточной статистики безошибочной работы и достижения полной уверенности команды и заказчика в корректности всех аспектов функционирования новой системы на Postgres Pro, было принято решение о финальном переходе.
    • Старая система на базе MS SQL Server была окончательно остановлена, ее ресурсы освобождены, а вся аналитическая нагрузка АО «Росагролизинг» переведена на российскую СУБД Postgres Pro. Проект миграции был успешно завершен.
Результат
  1. Осуществлена масштабная миграция критически важной аналитической системы:
    перенесена база данных объемом более 6 Тб, включающая 341 таблицу с числом строк до 4 миллиардов.
  2. Адаптированы и перенесены:
    • 15 ETL-пакетов с множеством взаимосвязанных процессов;
    • 131 хранимая процедура, каждая — от 500 до 12 000 строк кода.
  3. Полностью сохранена бизнес-логика и функциональность:
    система на Postgres Pro воспроизводит расчеты и отчеты с точностью до строки, обеспечивая непрерывность бизнес-процессов.
  4. Обеспечена бесперебойная работа предприятия на всех этапах проекта: за счет параллельной эксплуатации и многоступенчатой проверки система осталась доступной для пользователей без перерывов и рисков.
  5. Внедрена отечественная СУБД Postgres Pro без потери производительности и качества аналитики — важный шаг в обеспечении технологического суверенитета компании.

Интересное:

Новости отрасли:

Все новости:

Достижения

Лидер рынка СУБД в РоссииПервое место в рейтинге лидеров рынка СУБД по данным исследования ЦСР за 2024 год
Вклад в PostgreSQL1-е место в России и топ-5 международного рейтинга по вкладу в PostgreSQL
Сертификация ФСТЭКСУБД входит в Единый реестр российского программного обеспечения, сертифицирована ФСТЭК

Контакты

Адрес
117036, Россия, г. Москва, ул. Дмитрия Ульянова, д. 7А
Телефон

Социальные сети

ГлавноеЭкспертыДобавить
новость
КейсыМероприятия