Миграция с СУБД Oracle на СУБД PostgreSQL является непростой задачей, потому что при всей своей «похожести» эти системы существенно отличаются друг от друга. К тому же, часть функционала, реализованного в Oracle и используемого в системах, являющихся объектами миграции, всё ещё не имеет полных аналогов в Postgres. Если с миграцией хранимых данных из БД Oracle в БД PostgreSQL популярные системы автоматизации миграции более или менее справляются, то перенос хранимого в БД программного кода – это очень сложный и трудоёмкий процесс, требующий большого объёма ручного труда специалистов. Как правило, требуется «переписывание» программного кода с ориентацией на функциональные возможности СУБД PostgreSQL по причине того, что отлично работавшая в Oracle программа совсем не обязательно так же отлично будет работать и в Postgres.
Проект миграции начинается с детального анализа системы, оценки возможностей поэтапной миграции модулей системы друг за другом или всех одновременно. Анализируется количество объектов и объём данных в БД, структура данных, количество и сложность программного кода, наличие/отсутствие пользовательских типов данных. На основании этого принимается решение, каким образом и при помощи каких инструментов предполагается выполнять миграцию, оценивается предварительная трудоёмкость предстоящей миграции и возможное время простоя системы при её выполнении.
Андрей Чибук, ведущий эксперт компании «ФОРС Телеком» (ГК ФОРС)
Фото предоставлено компанией «ФОРС Телеком»
Если речь идёт о сложных системах, то каждый такой проект индивидуален. В каждом случае требуется уникальный подход с учётом особенностей системы, её возможной интеграции с другими системами и многого другого. Следует учитывать различные факторы, в том числе, организацию сетевой доступности исходной БД Oracle и целевой БД Postgres, а также действующие в компании политики информационной безопасности.
Для оценки сложности и трудоёмкости миграции обычно привлекаются компании-консультанты, специалисты которых имеют большой опыт успешно завершённых проектов в этой области, а также собственную экспертизу.
Если система большая и состоит из нескольких слабосвязанных подсистем, то поэтапная миграция возможна и целесообразна. Одновременная и параллельная эксплуатация старой системы на Oracle и новой на Postgres - тяжело реализуемая задача, особенно если прикладная система интегрирована с другими системами.
К сожалению, пока заказчики мало готовы к подобным проектам - и технологически, и экономически. Слишком поверхностно оцениваются требуемые затраты, возможные риски и влияние на бизнес последствий перехода на другую СУБД. Часто бывает так, что после нашей экспертной оценки заказчики откладывают принятие решения до «лучших времён» или фрагментируют старую систему, пытаясь выполнить миграцию самостоятельно. Мы не советуем идти по этому пути. Все-таки, как показывает практика, лучше обратиться к профессионалам.
Нами выполнен пул успешных проектов миграции с использованием набора собственных инструментальных средств в различных индустриях - ритейле, финансовом секторе, госструктурах. Мы видим, что спрос на такие проекты постепенно растёт.
Специалисты «ФОРС Телеком» готовы помочь не только при аудите, обследовании, экспертной оценке, консультационном сопровождении, но и выполнить такую миграцию в самые короткие сроки. Важным преимуществом при этом станет значительное упрощение процесса перехода с Oracle на Postgres. Если система небольшая и несложная, то заказчик может осуществить такой переход собственными силами при нашей поддержке.
Cегодня мы можем предложить такой набор инструментов
- LUI4Ora2Pg - инструмент автоматизации, планирования и управления процессами миграции. Его особенность состоит в том, что разработка прикладной логики системы отделена от разработки пользовательского интерфейса, любые изменения вносятся напрямую в работающую систему без её остановки. Специального обучения программированию не требуется, необходимый минимум - знание языка SQL.
- Ora2PgCopy служит для высокоскоростного переноса данных из одной СУБД в другую. Эта утилита применяется тогда, когда в среде PostgreSQL уже созданы таблицы и перенесён программный код. Четырёхкратное и более ускорение процесса миграции достигается за счёт использования PostgreSQL-команды «copy», многопоточной технологии Java, параллельного переноса данных каждой отдельной таблицы и специальной обработки данных типа BLOB и CLOB.
- Ora2PgSync - инструмент для инкрементальной миграции данных, который применяется после завершения основной миграции при продолжении работы пользователей в СУБД Oracle с автоматической передачей изменений данных в СУБД PostgreSQL до момента окончательного перехода на эту платформу. За счёт синхронизации инструмент помогает осуществить быстрый переход на клиентскую часть ПО, работающую с Postgres, с минимальным временем простоя.
Все наши продукты сертифицированы и включены в Реестр российского ПО. Их можно использовать как по отдельности, так и в составе комплексного решения.
Автор: Андрей Чибук, ведущий эксперт компании «ФОРС Телеком» (ГК ФОРС)