Миграция приложения Oracle PL/SQL на Postgres pl/pgSQL: планирование, подготовка, переход и два года жизни с новой БД Базы данных и системы хранения
Доклад посвящен опыту переноса распределенного серверного приложения, работающего 24/7 на полигоне 16 железных дорог от Калининграда до Хабаровска плюс несколько БД центрального уровня, с Oracle 11g Standard Edition на ванильный PostgreSQL 11.9, а также об опыте миграции БД и эксплуатации новой системы в течение двух лет.
На момент начала миграции база данных одного узла насчитывала порядка 200 хранимых процедур на языке Oracle PL/SQL общим объемом порядка 60000 строк (которые создавались с 2006 года, т.е. уже более 12 лет), около 250 таблиц и порядка 100 Гбайт данных для каждого дорожного узла и 1,5 Тбайт данных для центральных узлов.
Особое внимание уделяется "подводным камням", с которыми мы столкнулись в ходе планирования и миграции приложения Oracle PL/SQL на Postgres pl/pgSQL, связанных не только с различиями и неполным соответствием возможностей Oracle и Postgres, но и с различиями в практических подходах к обеспечению высокой производительности приложения, а также отличиям и особенностям Postgres с позиции бывшего пользователя Oracle.
В докладе учтен двухлетний опыт эксплуатации и развития системы после миграции.
Заместитель директора научного центра — начальник отдела разработки программного обеспечения АО "ВНИИЖТ", к.ф.-м.н.
Работает уже два десятка лет во ВНИИЖТ над задачами имитационного моделирования и оптимизации железнодорожных перевозок. Проектировал, разрабатывал и сопровождал БД и серверное ПО для этих задач (Postgres, Oracle, C++, Python), чем и продолжает заниматься.