7
Автоматизированные механизмы миграции приложений с СУБД Oracle на СУБД PostgreSQL Diasoft Database Adapter Верюгин Борис Викторович, руководитель управления развития платформы «Diasoft Framework» [email protected]

Борис Верюгин, Диасофт Платформа. «Автоматизированные механизмы миграции приложений с СУБД Oracle на

Embed Size (px)

Citation preview

Page 1: Борис Верюгин, Диасофт Платформа. «Автоматизированные механизмы миграции приложений с СУБД Oracle на

Автоматизированные механизмы миграции приложений с СУБД Oracle на СУБД PostgreSQL

Diasoft Database Adapter

Верюгин Борис Викторович,руководитель управления развитияплатформы «Diasoft Framework»[email protected]

Page 2: Борис Верюгин, Диасофт Платформа. «Автоматизированные механизмы миграции приложений с СУБД Oracle на

ТЕХНОЛОГИЯ ПЕРЕХОДА С ORACLE НА POSTGRESQL

Page 3: Борис Верюгин, Диасофт Платформа. «Автоматизированные механизмы миграции приложений с СУБД Oracle на

DIASOFT DATABASE ADAPTERDiasoft Database Adapter - продукт, позволяющий адаптировать приложения, созданные в расчете на использование СУБД Oracle, на СУБД PostgreSQL без изменения их исходного кода.

Компоненты продукта

DB Migrator – обеспечивает миграцию баз данных (схем и самих данных)● Является функциональным аналогом утилиты ora2pg.● В отличие от ora2pg, компонент «DB Migrator» способен конвертировать

логику, написанную на pl/sql.

TNS Proxy – работает по протоколу TNS с СУБД Oracle. Конвертирует поступающие на вход запросы в грамматику PostgreSQL. ● Позволяет переключить существующие приложения на PostgreSQL без их

изменения.

DSQLProxy — написанная на C функция для PostgreSQL, предназначенная для конвертации динамического SQL посредством обращения к TNS Proxy.

Page 4: Борис Верюгин, Диасофт Платформа. «Автоматизированные механизмы миграции приложений с СУБД Oracle на

СХЕМА РАБОТЫ TNS PROXY

Прокси выполняет следующие функции:● Проксирование аутентификации.● Проксирование SQL запросов.● Обратное проксирование SQL ответов.

Трансляция SQL-запросов осуществляется компонентом PL/SQL Translatorнесколькими возможными способами: ● трансляция по словарю● онлайн-трансляция.

Page 5: Борис Верюгин, Диасофт Платформа. «Автоматизированные механизмы миграции приложений с СУБД Oracle на

СХЕМА РАБОТЫ DB MIGRATORПри работе DB Migrator осуществляется:● Миграция схемы БД● Миграция существующих данных● Автоматизированная трансляция текстов запросов● Автоматизированная трансляция объектов БД, таких как:

● Таблицы● Индексы● Последовательности● Ограничения, ключи● Пакеты PL SQL, функции, хранимые процедуры, агрегатные функции● Триггеры● Пользовательские типы, в том числе объектные и табличные● Представления● Ссылки на внешние базы данных, связанные таблицы во внешних БД● Объекты безопасности: разрешения(Grant), методы аутентификации

Осуществляется трансляция специфичных для СУБД Oracle конструкций:● Иерархические запросы Connect By● Merge● Oracle нотации для внешних JOIN (+)● Курсоры● Подпроцедуры

Page 6: Борис Верюгин, Диасофт Платформа. «Автоматизированные механизмы миграции приложений с СУБД Oracle на

ИСПОЛЬЗУЕМЫЕ ТЕХНОЛОГИИ

АNother Tool for Language Recognition http://www.antlr.org/

Грамматика для pl/sql: https://github.com/porcelli/plsql-parser

Используется лексический, синтаксический и контекстный анализ PL/SQL кода и последующая трансляция в код на PL/pgSQL.

orafce https://github.com/orafce/orafceРеализует многие функции Oracle

oracle_fdw https://github.com/laurenz/oracle_fdwПозволяет реализовать подключение из PostgreSQL к внешним БД Oracle. Является аналогом Oracle database link.

Расширения PostgreSQL

Page 7: Борис Верюгин, Диасофт Платформа. «Автоматизированные механизмы миграции приложений с СУБД Oracle на

ПРИГЛАШАЕМК СОТРУДНИЧЕСТВУ

Ждём ваши вопросы на email: [email protected]Либо по телефонам:+7 (967) 292-24-28 +7 (495) 780-75-75 доб. 7623