ПОРТИРОВАНИЕ ОБЛАЧНОГО РЕШЕНИЯ С ORACLE НА POSTGRESQL.

Презентация:



Advertisements
Похожие презентации
Практический опыт повышения качества управления в сетях ЛПУ Интеграция МИС и управление нормативно-справочной информацией ДВ-СОФТ.
Advertisements

PL/SQL Введение 1. Типы данных Типы доступные SQL (в Oracle) BOOLEAN CHAR NUMBER RECORD TABLE.
Lotus – Notes. Обзор программного продукта Андреев Владимир ПИ-51.
Программируемый клиент ORACLE Технология Pro C/C++
PL/SQL Триггеры (INSERT, UPDATE, DELETE). Определение Три́ггер базы данных (англ. trigger) это хранимая процедура особого типа, которую пользователь не.
ОРГАНИЗАЦИЯ БАЗ ДАННЫХ И ЗНАНИЙ ТЕМА 5 СТРУКТУРИРОВАННЫЙ ЯЗЫК ЗАПРОСОВ SQL.
Обобщенная архитектура СУБД. Область SQL содержит данные связывания, временные буферы, дерево разбора и план выполнения для каждого оператора SQL, Область.
Платформа разработки бизнес-приложений Особенности платформы Принципиально новая запатентованная декларативная модель построения бизнес-приложений Высокая.
Последовательности Триггеры Представления. Последовательности Последовательность - это ряд чисел, в котором каждое последующие число больше предыдущего.
Сопровождение Этап сопровождения наступает после успешной передачи заказчику программного продукта. Сопровождение состоит из трех параллельных процессов:
1.Доступ к словарю базы данных 1.v$ 2.dba_ 3.all_ 4.user_ 2.Просмотр системных view cистемные view - dict (dictionary) столбцы системных view – dict_columns.
Современная медицинская кадровая система как основа формирования регионального и федерального регистра медицинских работников.
М.Ю. Харламов, ВНУ им. В.Даля, Семантический анализатор Семантический анализатор выполняет следующие основные действия: проверку соблюдения во входной.
Глава 6. УПРАВЛЯЮЩИЕ СТРУКТУРЫ Оператор присваивания Простой и составной операторы Условный оператор Оператор множественного выбора Оператор цикла с предусловием.
Автор : Макаров А.В. Научный руководитель : к.ф.м.н., доцент кафедры Систем Информатики НГУ, с.н.с. Васючкова Татьяна Сергеевна Система поддержки дистанционного.
Подпрограммы. Субкомпетенции: 1. Обработка данных с помощью стандартных подпрограмм и подпрограмм, определённых пользователем. 2. Организация передачи.
Рубец Елена, Менеджер по развитию направления электронного обучения
Тема 3.3 Сетевая модель OSI и другие сетевые модели. Семиуровневая модель OSI. Для единого представления данных в сетях с неоднородными устройствами и.
Оптимизация запросов в Microsoft SQL Server Дмитрий Костылев Начальник отдела разработки системного ПО ОАО «Нордеа Банк» SQL Server MVP.
Транксрипт:

ПОРТИРОВАНИЕ ОБЛАЧНОГО РЕШЕНИЯ С ORACLE НА POSTGRESQL

СПРАВКА О КОМПАНИИ СОТРУДНИКОВ 1000 ПРОГРАММНЫХ ПРОДУКТОВ 80 КРУПНЕЙШИЕ ЗАКАЗЧИКИ ОФИСЫ «БАРС ГРУП» Казань Москва Санкт-Петербург Новосибирск Набережные Челны Ростов-на-Дону Севастополь Краснодар БОЛЕЕ

ИСПОЛЬЗУЕМЫЕ ТЕХНОЛОГИИ БЭКЕНД-ТЕХНОЛОГИИСУБД php.net python java

ПОРТИРОВАНИЕ МИС. ПОСТАНОВКА ЗАДАЧИ. МЕДИЦИНСКАЯ ИС «БАРС.Здравоохранение-МИС» - решение для автоматизации деятельности стационаров и поликлиник, включая обмен данными между ЛПУ и централизованный сбор показателей со всей сети медучреждений. ЦЕЛИ ЭКСПЕРИМЕНТА Унификация Снижение стоимости внедрения и поддержки Переход к свободному ПО Трехзвенная архитектура; Тонкий веб-клиент; Тонкий веб-сервер; Толстый сервер БД; ТЕХНОЛОГИЧЕСКИЕ ВВОДНЫЕ:

ОЦЕНКА Таблиц 1837 Представлений 1809 Триггеры 1254 Пакетов 1231 Функций 22 Процедуры SQL запросов 4750 PL/SQL неименованных блоков СТАТИСТИКА ПО ОБЪЕКТАМ: ВЕБ ИНТЕРФЕЙС:

ЭКСПЕРИМЕНТ С ORA2PG ПЕРЕНОС СТРУКТУРЫ БД И ДАННЫХ прошел с минимальными проблемами Системные объекты Oracle Переменные пакетов ПЕРЕНОС ПАКЕТОВ И ПРОЦЕДУР Пакты разбиваются на схемы, что нас не устраивает Вызов функций без использования результата не дополняется «perform» конструкция begin select into exception end не дополняется ключевым словом strict ПРОЧИЕ ПРОБЛЕМЫ Вложенные функции

КОНВЕРТАЦИЯ ПАКЕТОВ И ПРОЦЕДУР РАЗРАБОТКА СОБСТВЕННОГО КОНВЕРТЕРА: Разбор исходного кода ( ANTLR3 ) Преобразования Выдача результата

ПРЕОБРАЗОВАНИЯ. ОСНОВНЫЕ МОМЕНТЫ. В sql-запросах (+) заменяется на outer join Сохранение комментариев Вложенные функции и процедуры Процедуры заменяются на функции с такой же сигнатурой OUT-параметры. Преобразование передачи параметров по ссылке на возвращаемые композитные объекты с полями. Пакеты разбиваются на составляющие их процедуры и функции со сквозным именованием. (но, возможно, с возвращаемыми значениями, если были OUT-параметры)

ПРЕОБРАЗОВАНИЯ. ПРОЧИЕ МОМЕНТЫ. Добавляется perform перед вызовом функциями, если не используется возвращаемое значение Добавляется strict к returning into Убирается from dual Добавляются декларации для переменной цикла У for reverse меняются местами индексы Некоторые oracle-функции заменяются на их аналоги (nvl, sysdate, dbms_output, raise_application_error) Заменяются типы данных

НЕИМЕНОВАННЫЕ БЛОКИ ПРОБЛЕМЫ: Невозможно передать параметры внутрь блока Невозможно получить результат выполнения PL/SQL неименованных блоков РЕШЕНИЯ: Временные функции. Переписать все блоки на постоянные функции. Научиться передавать параметры и возвращать данные Нами подготовлен концепт патча, который реализует искомую функциональность.

РЕЗУЛЬТАТЫ ЭКСПЕРИМЕНТА Мигрировали структуру БД, данные с использованием ora2pg На базе Antlr3 + грамматики + преобразование смогли мигрировать более 90% кода Оставшиеся 10% переносятся, адаптируются вручную, учитывая специфику СУБД

ЧТО ДАЛЬШЕ? Доработка конвертера АДАПТАЦИЯ патча к PG в части неименованных блоков с параметрами Доведение до Готовности к промышленной эксплуатации РОСТ КОМПЕТЕНЦИИ в части больших высоконагруженных систем

СПАСИБО ЗА ВНИМАНИЕ