лого postgrespro лого postgrespro

С Oracle на Postgres Pro: как «Айбим» провела миграцию АИС «Московской государственной экспертизы»

Решение о переходе на Postgres Pro компания приняла еще в 2021 году — обусловлено оно было даже не вопросом импортозамещения, еще не так остро стоящим на тот момент, а несопоставимо высокой стоимостью владения системой на платформе Oracle по сравнению с реализацией на СУБД Postgres Pro. 

Заказчик

«Московская государственная экспертиза» — государственное автономное учреждение города Москвы. Является организацией субъекта Российской Федерации — города федерального значения Москвы, подведомственной Комитету города Москвы по ценовой политике в строительстве и государственной экспертизе проектов. Компания уполномочена проводить госэкспертизу проектной документации и результатов инженерных изысканий.

Технологический партнер

За техническую реализацию проекта миграции отвечала компания «Айбим» — разработчик программного обеспечения и поставщик информационных технологий для автоматизации процессов строительства. Компания оказывает профильные консалтинговые услуги в сфере строительства, что позволяет развивать глубокую экспертизу в сфере разработки собственных ИТ-решений, ориентированных на рынок девелопмента.

Задачи заказчика и история проекта

Задача одной из информационных систем «Московской государственной экспертизы» города Москвы (АИС «Норматив») — обеспечение всего строительного комплекса Москвы актуальной информацией о составе и стоимости строительно-монтажных работ. Информационная система является критической для всего градостроительного комплекса мегаполиса, так как на основе ее данных производится оценка всех строительных объектов и работ, финансируемых из бюджетных средств. Кроме того, АИС «Норматив» — это единый источник данных для всего коммерческого программного обеспечения, которое применяется для составления строительных смет.

Особенность АИС в том, что решение выполняет одновременно и транзакционные, и аналитические функции. В системе хранится историческая информация о ценах на ресурсы и строительные работы за многие годы, при этом в системе также проводится мониторинг текущих цен, их анализ, агрегация и расчет. Вся бизнес-логика и алгоритмы расчетов реализованы на стороне базы данных.

Решение о переводе системы с СУБД Oracle на СУБД Postgres Pro Standard было принято еще в 2021 году. Изначально к такому решению руководство организации пришло по причине несопоставимо высокой стоимости владения и реализации отказоустойчивой архитектуры на платформе Oracle по сравнению с СУБД Postgres Pro (на стадии планирования проекта стоимость отличалась примерно в 3 раза).

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

Главной целью проекта было сохранение достоверности информации, которая переносится из старой базы данных в Postgres Pro. Важно было сохранить целостность данных, не допустить потерь в процессе миграции, полностью перенести бизнес-логику системы в неизменном виде и избежать простоя.

Выбор решения

Выбор СУБД на основе PostgreSQL был практически безальтернативным, а использование именно отечественной системы управления базами данных Postgres Pro Standard от российского разработчика СУБД Postgres Professional было обусловлено следующими факторами:

  • наличие аналогов системных пакетов Oracle в Postgres Pro;
  • доступность пакетов установки;
  • наличие качественной технической документации на русском языке;
  • возможность получения профессиональной технической поддержки от вендора в режиме 24/7;
  • присутствие СУБД Postgres Pro Standard и ее сертифицированной ФСТЭК версии в реестре российского ПО.

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

Процесс миграции

Объем данных для миграции был относительно небольшим и составлял порядка 100 ГБ, но использование партиционирования, наличие более чем 150 функций и процедур и использование агрегационных и аналитических функций языка PL/SQL для реализации бизнес-логики потребовали особо внимательного подхода к планированию миграции системы.

Помимо этого, переход на СУБД Postgres затрудняло наличие большого количества бизнес-критичных и одновременно сложных отчетов, реализованных на платформе Oracle XML Publisher, источником данных для которых была СУБД Oracle.

Проект миграции был реализован по следующему сценарию:

  • Миграция метаданных (определений таблиц, индексов, ограничений и т.д.) с помощью утилиты Ora2Pg с последующей корректировкой полученных скриптов.
  • Миграция бизнес-логики с Oracle PL/SQL на PL/pgSQL c помощью Ora2Pg и дальнейшая ручная проверка и адаптация исходного кода.
  • Миграция данных с помощью Ora2Pg (выполнялась в нерабочее время, что позволило избежать простоя).
  • Незначительная доработка сервера приложений, который обеспечила работу информационной системы одновременно с двумя базами данных Oracle и Postgres Pro.
  • Опытная эксплуатация, которая включала в себя параллельную работу в двух системах, на Oracle и Postgres Pro, с перекрестной сверкой данных. Это позволило выявить оставшиеся ошибки миграции и внести корректировки в код, а также проверить корректность формирования отчетности.
  • В рамках отдельного этапа выполнялись работы по оптимизации производительности, в частности, связанные с различиями работы двух СУБД с партиционированными таблицами.
  • Заключительный этап: повторная миграция, включающая только данные, с последующим запуском в промышленную эксплуатацию.

Сроки осуществления миграции

Процесс миграции: 6 месяцев.

Опытная эксплуатация с участием пользователей системы: 2 месяца.

В середине 2023 года были успешно завершены работы по переводу информационной системы АИС «Норматив» на СУБД Postgres Pro Standard 15.

Результаты и ключевые цифры проекта

На текущий момент автоматизированная информационная система «Норматив» введена в промышленную эксплуатацию и полностью функционирует на СУБД Postgres Pro Standard 15 с реализацией бизнес-логики на языке PL/pgSQL.

Во внутреннем контуре системы работает несколько сотен сотрудников. При этом заказчик отметил увеличение скорости работы некоторых функций, реализованных в Postgres Pro Standard, по сравнению со старой СУБД.

СУБД Postgres Pro является источником данных для системы формирования отчетности на платформе Oracle XML Publisher, для замены которой также уже найден отечественный аналог, и перспектива следующего проекта миграции — лишь вопрос времени.

Гибкая расширяемость СУБД Postgres Pro Standard, благодаря наличию различных пакетов, библиотек и инструментов разработки, позволила уменьшить количество переписанного кода на стороне бизнес-логики.

Всего в рамках проекта было перенесено около 100 ГБ данных.

Объем кода составил 11 пакетов, 152 функции и процедуры, около 100 таблиц, порядка 20 тысяч строк и 20 представлений.

erid:LjN8JxzDpРекламодатель: компания ООО «ППГ»ИНН/ОГРН: 7729445882/1157746074518Сайт: https://postgrespro.ru/
айбим

Контакты компании «Айбим»:

e-mail: Sales@bim-info.ru

тел.: +7 (495) 183 45 56

Получить консультацию по Postgres Pro

Другие статьи

«Росатом» перенес систему электронного документооборота на российскую СУБД Postgres Pro 

СУБД Postgres Pro Enterprise Certified стала важной составляющей новой ECM-платформы «Атом.Контент», разработанной в госкорпорации «Росатом». Благодаря отечественной системе управления базами данных команде внедрения удалось перевести Единую отраслевую систему документооборота (ЕОСДО) на импортонезависимое программное обеспечение, полностью сохранив функциональность, производительность и бизнес-логику системы.

Читать полностью

Мониторинг, диагностика и управление базами данных в одном окне: как устроен Postgres Pro Enterprise Manager

С декабря 2023 года все пользователи российской СУБД Postgres Pro могут свободно работать с Postgres Pro Enterprise Manager (PPEM) — графической платформой для эффективного и удобного управления базами данных Postgres Pro и PostgreSQL. О том, какие функции для мониторинга, диагностики и управления есть в PPEM — в нашем обзоре на Youtube и статье ниже.

Читать полностью

СУБД для высоких нагрузок: почему крупнейшие компании страны выбирают Postgres Pro Enterprise

Postgres Pro — самая популярная* российская СУБД для enterprise-задач. Среди заказчиков системы — РЖД, «Росатом», «Газпромнефть», Федеральная налоговая служба, Федеральное казначейство, МИД, Гознак, Росфинмониторинг, а также крупнейшие частные компании России из списка «РБК 500».

Почему они выбрали Postgres Pro?

Читать полностью
Реклама

erid: LjN8JxzDp
Рекламодатель: ООО «ППГ»
ИНН/ОГРН: 7729445882/1227700166320
Сайт: https://teamstorm.io/