SlideShare a Scribd company logo
Автоматизированные механизмы миграции приложений
с СУБД Oracle на СУБД PostgreSQL
Diasoft Database Adapter
Верюгин Борис Викторович,
руководитель управления развития
платформы «Diasoft Framework»
boris.veryugin@diasoft-platform.ru
ТЕХНОЛОГИЯ ПЕРЕХОДА С ORACLE НА POSTGRESQL
DIASOFT DATABASE ADAPTER
Diasoft Database Adapter - продукт, позволяющий адаптировать приложения,
созданные в расчете на использование СУБД Oracle, на СУБД PostgreSQL без
изменения их исходного кода.
Компоненты продукта
DB Migrator – обеспечивает миграцию баз данных (схем и самих данных)
●
Является функциональным аналогом утилиты ora2pg.
●
В отличие от ora2pg, компонент «DB Migrator» способен конвертировать
логику, написанную на pl/sql.
TNS Proxy – работает по протоколу TNS с СУБД Oracle. Конвертирует
поступающие на вход запросы в грамматику PostgreSQL.
●
Позволяет переключить существующие приложения на PostgreSQL без их
изменения.
DSQLProxy — написанная на C функция для PostgreSQL, предназначенная для
конвертации динамического SQL посредством обращения к TNS Proxy.
СХЕМА РАБОТЫ TNS PROXY
Прокси выполняет следующие функции:
● Проксирование аутентификации.
● Проксирование SQL запросов.
● Обратное проксирование SQL ответов.
Трансляция SQL-запросов осуществляется компонентом PL/SQL
Translatorнесколькими возможными способами:
● трансляция по словарю
● онлайн-трансляция.
СХЕМА РАБОТЫ DB MIGRATOR
При работе DB Migrator осуществляется:
● Миграция схемы БД
● Миграция существующих данных
● Автоматизированная трансляция текстов запросов
● Автоматизированная трансляция объектов БД, таких как:
● Таблицы
● Индексы
● Последовательности
● Ограничения, ключи
● Пакеты PL SQL, функции, хранимые процедуры, агрегатные функции
● Триггеры
● Пользовательские типы, в том числе объектные и табличные
● Представления
● Ссылки на внешние базы данных, связанные таблицы во внешних БД
● Объекты безопасности: разрешения(Grant), методы аутентификации
Осуществляется трансляция специфичных для СУБД Oracle конструкций:
● Иерархические запросы Connect By
● Merge
● Oracle нотации для внешних JOIN (+)
● Курсоры
● Подпроцедуры
ИСПОЛЬЗУЕМЫЕ ТЕХНОЛОГИИ
А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
ПРИГЛАШАЕМ
К СОТРУДНИЧЕСТВУ
Ждём ваши вопросы на email: boris.veryugin@diasoft-platform.ru
Либо по телефонам:
+7 (967) 292-24-28
+7 (495) 780-75-75 доб. 7623

More Related Content

What's hot (20)

PDF
2014.09.24 история небольшого успеха с PostgreSQL (Yandex)
Nikolay Samokhvalov
 
PDF
История успеха Яндекс.Почты с PostgreSQL / Владимир Бородин (Яндекс)
Ontico
 
PDF
Обзор перспективных баз данных для highload / Юрий Насретдинов
Ontico
 
PDF
Простая и дешёвая бизнес-аналитика на базе Google BigQuery / Алексей Паршуков...
Ontico
 
PDF
ClickHouse: очень быстро и очень удобно / Виктор Тарнавский, Алексей Миловидо...
Ontico
 
PDF
Владимир Бородин - PostgreSQL
Yandex
 
PDF
Hacking PostgreSQL. Обзор архитектуры.
Anastasia Lubennikova
 
PDF
PostgreSQL в высоконагруженных проектах
Alexey Vasiliev
 
PDF
Применение в Enterprise-приложении графовой базы данных Neo4j - Антон Максимо...
Dev2Dev
 
PDF
История успеха Яндекс.Почты
dev1ant
 
PPTX
Хорошо поддерживаемое в продакшне приложение / Николай Сивко (okmeter.io)
Ontico
 
PDF
Ivan Kotlyar. PostgreSQL in web applications
DrupalSib
 
PDF
Советы для начинающих разработчиков PostgreSQL
Anastasia Lubennikova
 
PDF
«Дорожная сеть в графовой базе данных Neo4j» — Вадим Шашенко, 2ГИС
2ГИС Технологии
 
PDF
Выбор NoSQL базы данных для вашего проекта: "Не в свои сани не садись"
Alexey Zinoviev
 
PPTX
Переезжаем на Yandex ClickHouse / Александр Зайцев (LifeStreet)
Ontico
 
PDF
PostgreSQL: практические примеры оптимизации SQL-запросов / Иван Фролков (Po...
Ontico
 
PPTX
Как ускорить MySQL Handler Socket в 9 раз / Александр Яковлев (Мамба)
Ontico
 
PDF
Avito Stachka 2012
Roman Pavlushko
 
PDF
"Новые возможности MySQL 5.7"
Badoo Development
 
2014.09.24 история небольшого успеха с PostgreSQL (Yandex)
Nikolay Samokhvalov
 
История успеха Яндекс.Почты с PostgreSQL / Владимир Бородин (Яндекс)
Ontico
 
Обзор перспективных баз данных для highload / Юрий Насретдинов
Ontico
 
Простая и дешёвая бизнес-аналитика на базе Google BigQuery / Алексей Паршуков...
Ontico
 
ClickHouse: очень быстро и очень удобно / Виктор Тарнавский, Алексей Миловидо...
Ontico
 
Владимир Бородин - PostgreSQL
Yandex
 
Hacking PostgreSQL. Обзор архитектуры.
Anastasia Lubennikova
 
PostgreSQL в высоконагруженных проектах
Alexey Vasiliev
 
Применение в Enterprise-приложении графовой базы данных Neo4j - Антон Максимо...
Dev2Dev
 
История успеха Яндекс.Почты
dev1ant
 
Хорошо поддерживаемое в продакшне приложение / Николай Сивко (okmeter.io)
Ontico
 
Ivan Kotlyar. PostgreSQL in web applications
DrupalSib
 
Советы для начинающих разработчиков PostgreSQL
Anastasia Lubennikova
 
«Дорожная сеть в графовой базе данных Neo4j» — Вадим Шашенко, 2ГИС
2ГИС Технологии
 
Выбор NoSQL базы данных для вашего проекта: "Не в свои сани не садись"
Alexey Zinoviev
 
Переезжаем на Yandex ClickHouse / Александр Зайцев (LifeStreet)
Ontico
 
PostgreSQL: практические примеры оптимизации SQL-запросов / Иван Фролков (Po...
Ontico
 
Как ускорить MySQL Handler Socket в 9 раз / Александр Яковлев (Мамба)
Ontico
 
Avito Stachka 2012
Roman Pavlushko
 
"Новые возможности MySQL 5.7"
Badoo Development
 

Viewers also liked (20)

PDF
Илья Космодемьянский, PostgreSQL-Consulting.com. «Pragma autonomous transaction»
Mail.ru Group
 
PDF
~20081006 Highload2008 Postgresql самохвалов
Ontico
 
PDF
Краткий обзор новинок PostgreSQL 9.4 – Николай Самохвалов
Yandex
 
PDF
Синие против красных
Sergey Melekhin
 
PDF
Сравнительный анализ хранилищ данных, Олег Царев, Кирилл Коринский
Fuenteovejuna
 
PPTX
PostgreSQL. Стильно. Модно. Молодёжно
Vladislav Bezverhiy
 
PDF
PG Day'14 Russia, PostgreSQL в avito.ru, Михаил Тюрин
pgdayrussia
 
PDF
PostgreSQL Moscow Meetup - September 2014 - Nikolay Samokhvalov
Nikolay Samokhvalov
 
PPTX
Что такое Postgresql (Максим Богук)
Ontico
 
PDF
Pgconfru 2015 kosmodemiansky
PostgreSQL-Consulting
 
PDF
Полнотекстовый поиск в PostgreSQL за миллисекунды (Олег Бартунов, Александр К...
Ontico
 
PDF
Sequence mining
Dmitrii Ignatov
 
PDF
Поиск частых множеств признаков (товаров) и ассоциативные правила
Dmitrii Ignatov
 
PDF
Get to know PostgreSQL!
Oddbjørn Steffensen
 
PPT
Postgres Presentation
gisborne
 
PDF
pgconf.ru 2015 avito postgresql
Михаил Тюрин
 
PDF
Spilo, отказоустойчивый PostgreSQL кластер / Oleksii Kliukin (Zalando SE)
Ontico
 
PDF
Benchmarking PostgreSQL in Linux and FreeBSD
Alex Chistyakov
 
PPT
Гидротехническое строительство
Department of water utilities, marine and river constructions.
 
PPTX
Строительство объектов возобновляемой энергетики
Department of water utilities, marine and river constructions.
 
Илья Космодемьянский, PostgreSQL-Consulting.com. «Pragma autonomous transaction»
Mail.ru Group
 
~20081006 Highload2008 Postgresql самохвалов
Ontico
 
Краткий обзор новинок PostgreSQL 9.4 – Николай Самохвалов
Yandex
 
Синие против красных
Sergey Melekhin
 
Сравнительный анализ хранилищ данных, Олег Царев, Кирилл Коринский
Fuenteovejuna
 
PostgreSQL. Стильно. Модно. Молодёжно
Vladislav Bezverhiy
 
PG Day'14 Russia, PostgreSQL в avito.ru, Михаил Тюрин
pgdayrussia
 
PostgreSQL Moscow Meetup - September 2014 - Nikolay Samokhvalov
Nikolay Samokhvalov
 
Что такое Postgresql (Максим Богук)
Ontico
 
Pgconfru 2015 kosmodemiansky
PostgreSQL-Consulting
 
Полнотекстовый поиск в PostgreSQL за миллисекунды (Олег Бартунов, Александр К...
Ontico
 
Sequence mining
Dmitrii Ignatov
 
Поиск частых множеств признаков (товаров) и ассоциативные правила
Dmitrii Ignatov
 
Get to know PostgreSQL!
Oddbjørn Steffensen
 
Postgres Presentation
gisborne
 
pgconf.ru 2015 avito postgresql
Михаил Тюрин
 
Spilo, отказоустойчивый PostgreSQL кластер / Oleksii Kliukin (Zalando SE)
Ontico
 
Benchmarking PostgreSQL in Linux and FreeBSD
Alex Chistyakov
 
Гидротехническое строительство
Department of water utilities, marine and river constructions.
 
Строительство объектов возобновляемой энергетики
Department of water utilities, marine and river constructions.
 
Ad

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

PPTX
Обзор инструментов Toad для администраторов Oracle
BAKOTECH
 
PPT
Embarcadero All-Access
Serghei Urban
 
PPT
2 виды и особенности клиент серверных систем с бд
KewpaN
 
PPTX
как из трех стоек сделать две.
Serguei Gitinsky
 
PDF
Моделирование для NoSQL БД
Andrew Sovtsov
 
PPTX
Евгений Дубовик, Senior Developer, DataArtDb presentation gdg
Alina Vilk
 
PDF
Миграция БД - практический_подход с инструментами Embarcadero
Andrew Sovtsov
 
PPT
Платформа Docsvision
Docsvision
 
PDF
IBM DB2 LUW: миграция с других платформ СУБД
Maxim Zinal
 
PDF
MyBatis и Hibernate на одном проекте. Как подружить?
Alexey Zinoviev
 
PDF
CodeFest 2013. Зиновьев А. — MyBatis & Hibernate, давайте жить дружно!
CodeFest
 
PPTX
Автоматизированное проектирование эис (Case технология)
adam93
 
PPT
Презентация Microsoft PowerPoint
webhostingguy
 
PPTX
Toad for Oracle для разработчиков – обзор, советы и скрытые возможности
BAKOTECH
 
PPT
Проверено и работает. Инструменты Oracle для разработки веб приложений
Media Gorod
 
PPTX
SQL Server Security Best Practices - Евгений Недашковский
HackIT Ukraine
 
PPT
Sql Server Data Services
Media Gorod
 
PDF
Управление гибридным ландшафтом с помощью Cisco CloudCenter
Cisco Russia
 
PPT
базы данных в Delphi
Aeka227
 
PPTX
Новые возможности платформы Oracle 12c для хранилищ данных
Andrey Akulov
 
Обзор инструментов Toad для администраторов Oracle
BAKOTECH
 
Embarcadero All-Access
Serghei Urban
 
2 виды и особенности клиент серверных систем с бд
KewpaN
 
как из трех стоек сделать две.
Serguei Gitinsky
 
Моделирование для NoSQL БД
Andrew Sovtsov
 
Евгений Дубовик, Senior Developer, DataArtDb presentation gdg
Alina Vilk
 
Миграция БД - практический_подход с инструментами Embarcadero
Andrew Sovtsov
 
Платформа Docsvision
Docsvision
 
IBM DB2 LUW: миграция с других платформ СУБД
Maxim Zinal
 
MyBatis и Hibernate на одном проекте. Как подружить?
Alexey Zinoviev
 
CodeFest 2013. Зиновьев А. — MyBatis & Hibernate, давайте жить дружно!
CodeFest
 
Автоматизированное проектирование эис (Case технология)
adam93
 
Презентация Microsoft PowerPoint
webhostingguy
 
Toad for Oracle для разработчиков – обзор, советы и скрытые возможности
BAKOTECH
 
Проверено и работает. Инструменты Oracle для разработки веб приложений
Media Gorod
 
SQL Server Security Best Practices - Евгений Недашковский
HackIT Ukraine
 
Sql Server Data Services
Media Gorod
 
Управление гибридным ландшафтом с помощью Cisco CloudCenter
Cisco Russia
 
базы данных в Delphi
Aeka227
 
Новые возможности платформы Oracle 12c для хранилищ данных
Andrey Akulov
 
Ad

More from Mail.ru Group (20)

PDF
Автоматизация без тест-инженеров по автоматизации, Мария Терехина и Владислав...
Mail.ru Group
 
PDF
BDD для фронтенда. Автоматизация тестирования с Cucumber, Cypress и Jenkins, ...
Mail.ru Group
 
PDF
Другая сторона баг-баунти-программ: как это выглядит изнутри, Владимир Дубровин
Mail.ru Group
 
PDF
Использование Fiddler и Charles при тестировании фронтенда проекта pulse.mail...
Mail.ru Group
 
PDF
Управление инцидентами в Почте Mail.ru, Антон Викторов
Mail.ru Group
 
PDF
DAST в CI/CD, Ольга Свиридова
Mail.ru Group
 
PDF
Почему вам стоит использовать свой велосипед и почему не стоит Александр Бел...
Mail.ru Group
 
PDF
CV в пайплайне распознавания ценников товаров: трюки и хитрости Николай Масл...
Mail.ru Group
 
PDF
RAPIDS: ускоряем Pandas и scikit-learn на GPU Павел Клеменков, NVidia
Mail.ru Group
 
PDF
WebAuthn в реальной жизни, Анатолий Остапенко
Mail.ru Group
 
PDF
AMP для электронной почты, Сергей Пешков
Mail.ru Group
 
PDF
Как мы захотели TWA и сделали его без мобильных разработчиков, Данила Стрелков
Mail.ru Group
 
PDF
Кейсы использования PWA для партнерских предложений в Delivery Club, Никита Б...
Mail.ru Group
 
PDF
Метапрограммирование: строим конечный автомат, Сергей Федоров, Яндекс.Такси
Mail.ru Group
 
PDF
Как не сделать врагами архитектуру и оптимизацию, Кирилл Березин, Mail.ru Group
Mail.ru Group
 
PDF
Этика искусственного интеллекта, Александр Кармаев (AI Journey)
Mail.ru Group
 
PDF
Нейро-машинный перевод в вопросно-ответных системах, Федор Федоренко (AI Jour...
Mail.ru Group
 
PDF
Конвергенция технологий как тренд развития искусственного интеллекта, Владими...
Mail.ru Group
 
PDF
Обзор трендов рекомендательных систем от Пульса, Андрей Мурашев (AI Journey)
Mail.ru Group
 
PDF
Мир глазами нейросетей, Данила Байгушев, Александр Сноркин ()
Mail.ru Group
 
Автоматизация без тест-инженеров по автоматизации, Мария Терехина и Владислав...
Mail.ru Group
 
BDD для фронтенда. Автоматизация тестирования с Cucumber, Cypress и Jenkins, ...
Mail.ru Group
 
Другая сторона баг-баунти-программ: как это выглядит изнутри, Владимир Дубровин
Mail.ru Group
 
Использование Fiddler и Charles при тестировании фронтенда проекта pulse.mail...
Mail.ru Group
 
Управление инцидентами в Почте Mail.ru, Антон Викторов
Mail.ru Group
 
DAST в CI/CD, Ольга Свиридова
Mail.ru Group
 
Почему вам стоит использовать свой велосипед и почему не стоит Александр Бел...
Mail.ru Group
 
CV в пайплайне распознавания ценников товаров: трюки и хитрости Николай Масл...
Mail.ru Group
 
RAPIDS: ускоряем Pandas и scikit-learn на GPU Павел Клеменков, NVidia
Mail.ru Group
 
WebAuthn в реальной жизни, Анатолий Остапенко
Mail.ru Group
 
AMP для электронной почты, Сергей Пешков
Mail.ru Group
 
Как мы захотели TWA и сделали его без мобильных разработчиков, Данила Стрелков
Mail.ru Group
 
Кейсы использования PWA для партнерских предложений в Delivery Club, Никита Б...
Mail.ru Group
 
Метапрограммирование: строим конечный автомат, Сергей Федоров, Яндекс.Такси
Mail.ru Group
 
Как не сделать врагами архитектуру и оптимизацию, Кирилл Березин, Mail.ru Group
Mail.ru Group
 
Этика искусственного интеллекта, Александр Кармаев (AI Journey)
Mail.ru Group
 
Нейро-машинный перевод в вопросно-ответных системах, Федор Федоренко (AI Jour...
Mail.ru Group
 
Конвергенция технологий как тренд развития искусственного интеллекта, Владими...
Mail.ru Group
 
Обзор трендов рекомендательных систем от Пульса, Андрей Мурашев (AI Journey)
Mail.ru Group
 
Мир глазами нейросетей, Данила Байгушев, Александр Сноркин ()
Mail.ru Group
 

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

  • 1. Автоматизированные механизмы миграции приложений с СУБД Oracle на СУБД PostgreSQL Diasoft Database Adapter Верюгин Борис Викторович, руководитель управления развития платформы «Diasoft Framework» [email protected]
  • 3. DIASOFT DATABASE ADAPTER Diasoft Database Adapter - продукт, позволяющий адаптировать приложения, созданные в расчете на использование СУБД Oracle, на СУБД PostgreSQL без изменения их исходного кода. Компоненты продукта DB Migrator – обеспечивает миграцию баз данных (схем и самих данных) ● Является функциональным аналогом утилиты ora2pg. ● В отличие от ora2pg, компонент «DB Migrator» способен конвертировать логику, написанную на pl/sql. TNS Proxy – работает по протоколу TNS с СУБД Oracle. Конвертирует поступающие на вход запросы в грамматику PostgreSQL. ● Позволяет переключить существующие приложения на PostgreSQL без их изменения. DSQLProxy — написанная на C функция для PostgreSQL, предназначенная для конвертации динамического SQL посредством обращения к TNS Proxy.
  • 4. СХЕМА РАБОТЫ TNS PROXY Прокси выполняет следующие функции: ● Проксирование аутентификации. ● Проксирование SQL запросов. ● Обратное проксирование SQL ответов. Трансляция SQL-запросов осуществляется компонентом PL/SQL Translatorнесколькими возможными способами: ● трансляция по словарю ● онлайн-трансляция.
  • 5. СХЕМА РАБОТЫ DB MIGRATOR При работе DB Migrator осуществляется: ● Миграция схемы БД ● Миграция существующих данных ● Автоматизированная трансляция текстов запросов ● Автоматизированная трансляция объектов БД, таких как: ● Таблицы ● Индексы ● Последовательности ● Ограничения, ключи ● Пакеты PL SQL, функции, хранимые процедуры, агрегатные функции ● Триггеры ● Пользовательские типы, в том числе объектные и табличные ● Представления ● Ссылки на внешние базы данных, связанные таблицы во внешних БД ● Объекты безопасности: разрешения(Grant), методы аутентификации Осуществляется трансляция специфичных для СУБД Oracle конструкций: ● Иерархические запросы Connect By ● Merge ● Oracle нотации для внешних JOIN (+) ● Курсоры ● Подпроцедуры
  • 6. ИСПОЛЬЗУЕМЫЕ ТЕХНОЛОГИИ А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
  • 7. ПРИГЛАШАЕМ К СОТРУДНИЧЕСТВУ Ждём ваши вопросы на email: [email protected] Либо по телефонам: +7 (967) 292-24-28 +7 (495) 780-75-75 доб. 7623