14

Click here to load reader

Андрей Кондрашов, Банк Москвы. «АБС в крупном Банке. Тестирование PostgreSQL. Опыт применения Ora2Pg. Оценка

Embed Size (px)

Citation preview

Page 1: Андрей Кондрашов, Банк Москвы. «АБС в крупном Банке. Тестирование PostgreSQL. Опыт применения Ora2Pg. Оценка

АБС в крупном Банке. Тестирование PostgreSQL. Опыт применения Ora2PG.

Кондрашов Андрей Начальник отдела архитектуры АБС «М-Банк»

Page 2: Андрей Кондрашов, Банк Москвы. «АБС в крупном Банке. Тестирование PostgreSQL. Опыт применения Ora2Pg. Оценка

АБС «М-Банк»

• Собственная разработка ДИТ Банка Москвы, охватывающая практически все бизнес-процессы Банка. (Oracle + Delphi 7)

• Единое фронтальное решение, позволяющее сотрудникам работать в общей интегрированной среде.

• Комплексное обслуживание физ. и юр. лиц. в единой базе клиентов, кредитная дорога, зарплатные проекты,

кассовое обслуживание, работа с Гос. органами, электронные каналы обслуживания, платежные системы, торговые площадки, смс-провайдеры, валютный контроль, собственный CRM и многое многое другое…

Page 3: Андрей Кондрашов, Банк Москвы. «АБС в крупном Банке. Тестирование PostgreSQL. Опыт применения Ora2Pg. Оценка

СУБД

• Oracle – всё хорошо, но вдруг санкции?

• Tibero – тоже коммерческий продукт, а вдруг санкции? )

• PostgreSQL – бесплатный, быстрый, амбициозно-развивающийся проект с открытым исходным кодом.

• MSSql

• MySql

Page 4: Андрей Кондрашов, Банк Москвы. «АБС в крупном Банке. Тестирование PostgreSQL. Опыт применения Ora2Pg. Оценка

Требования к АБС

• Эксплуатация – 24/7

• Высоконагруженная система (~2000 IOPS, 22 TB данных)

• Удобство администрирования и сопровождения

• Наличие специалистов на рынке труда

• Работа на имеющимся оборудовании Например:

IBM Power 780

64 физических процессора

640 GB RAM

Page 5: Андрей Кондрашов, Банк Москвы. «АБС в крупном Банке. Тестирование PostgreSQL. Опыт применения Ora2Pg. Оценка

Количество основных объектов только в двух основных схемах

• Таблицы – ~3700

• Пакеты – 4770

• Много кода с переменными уровня пакета

• Автономные транзакции

• Использование Oracle Advanced Queues

• Линки на другие базы

• Пользовательские типы данных

• Работа с XML в Oracle

Page 6: Андрей Кондрашов, Банк Москвы. «АБС в крупном Банке. Тестирование PostgreSQL. Опыт применения Ora2Pg. Оценка

Основные цели

• Повышение независимости на уровне СУБД

• Глубокий рефакторинг.

• Смена компонент доступа к базам данных DOA -> FireDac

• Миграция на последнюю версию Delphi (xe8)

• Изоляция пользовательских форм от компонент уровня доступа к базе (ClientDataSet)

Page 7: Андрей Кондрашов, Банк Москвы. «АБС в крупном Банке. Тестирование PostgreSQL. Опыт применения Ora2Pg. Оценка

Выбор Ora2PG (13 версия)

• Произвели настройку Ora2PG под Windows. Установили Perl.

• Быстро • Удобно • Наглядно Было перенесено около 30 ядерных таблиц и пакетов: Аутентификация пользователей, документы и архив документов, договора, таблицы проводок и остатков, счетов, таблицы с клиентской информацией, конфигурационная таблица, таблица форм и типов. Большинство форм пользовательского интерфейса хранятся в базе!

Page 8: Андрей Кондрашов, Банк Москвы. «АБС в крупном Банке. Тестирование PostgreSQL. Опыт применения Ora2Pg. Оценка

Возникшие проблемы

• Оценка общего времени миграции всей схемы – не удалось получить

• Проблема с глобальными переменными уровня пакета • Автономные транзакции • Системные view (v$instance, v$session…) Поиск аналогов. • Большое количество получающихся схем + проблемы выдачи

грантов друг другу. • Партиции в привычном понимании. • Пакетные переменные -> временная таблица уровня сессии

• Из общего: • По-началу непривычный синтаксис ) • Нет средства разработки уровня PL\SQL Developer\TOAD.

Page 9: Андрей Кондрашов, Банк Москвы. «АБС в крупном Банке. Тестирование PostgreSQL. Опыт применения Ora2Pg. Оценка

Первое тестирование производительности PostgreSQL

• Вставка 1М записей. Какая-то машинка. • • Commit по 1000 записей • "2014-08-11 21:16:56.862075";"2014-08-11 21:24:33.726229" • ~9 минут • • по 50000 записей • "2014-08-11 21:25:56.863602";"2014-08-11 21:33:00.270117" • ~7 минут • • по 250000 записей • "2014-08-11 21:34:56.25054";"2014-08-11 21:40:28.074285" • ~5.5 минут

Page 10: Андрей Кондрашов, Банк Москвы. «АБС в крупном Банке. Тестирование PostgreSQL. Опыт применения Ora2Pg. Оценка

Результат: • Миграция проекта с Delphi 7 на Delphi XE2-XE8

• Полная замена компонент доступа к данным на FireDac

Page 11: Андрей Кондрашов, Банк Москвы. «АБС в крупном Банке. Тестирование PostgreSQL. Опыт применения Ora2Pg. Оценка
Page 12: Андрей Кондрашов, Банк Москвы. «АБС в крупном Банке. Тестирование PostgreSQL. Опыт применения Ora2Pg. Оценка
Page 13: Андрей Кондрашов, Банк Москвы. «АБС в крупном Банке. Тестирование PostgreSQL. Опыт применения Ora2Pg. Оценка

• Данный релиз сейчас в тестировании и будет выложен в пром в течение месяца под Oracle с полной функциональностью.

• Предпринимаются усилия по переводу запросов к виду ANSI SQL. (либо директивы препроцессора, если невозможно обойти)

• Будем продолжать тестировать и развивать функциональность версии под PostgreSQL.

Page 14: Андрей Кондрашов, Банк Москвы. «АБС в крупном Банке. Тестирование PostgreSQL. Опыт применения Ora2Pg. Оценка

Что ждём от PostgreSQL в ближайшее время

Автономные транзакции.

Мощное партиционирование.

Мощное средство разработки. На уровне PLSQL Developer, TOAD

Поддержку пакетов