Мир глазами нейросетей, Данила Байгушев, Александр Сноркин ()
Андрей Кондрашов, Банк Москвы. «АБС в крупном Банке. Тестирование PostgreSQL. Опыт применения Ora2Pg. Оценка возможностей»
1. АБС в крупном Банке.
Тестирование PostgreSQL. Опыт применения Ora2PG.
Кондрашов Андрей
Начальник отдела архитектуры АБС «М-Банк»
2. АБС «М-Банк»
• Собственная разработка ДИТ Банка Москвы,
охватывающая практически все бизнес-процессы Банка.
(Oracle + Delphi 7)
• Единое фронтальное решение, позволяющее
сотрудникам работать в общей интегрированной среде.
• Комплексное обслуживание физ. и юр. лиц. в единой
базе клиентов, кредитная дорога, зарплатные проекты,
кассовое обслуживание, работа с Гос. органами,
электронные каналы обслуживания, платежные системы,
торговые площадки, смс-провайдеры, валютный контроль,
собственный CRM и многое многое другое…
3. СУБД
• Oracle – всё хорошо, но вдруг санкции?
• Tibero – тоже коммерческий продукт, а
вдруг санкции? )
• PostgreSQL – бесплатный, быстрый,
амбициозно-развивающийся проект с
открытым исходным кодом.
• MSSql
• MySql
4. Требования к АБС
• Эксплуатация – 24/7
• Высоконагруженная система (~2000 IOPS, 22 TB данных)
• Удобство администрирования и сопровождения
• Наличие специалистов на рынке труда
• Работа на имеющимся оборудовании
Например:
IBM Power 780
64 физических процессора
640 GB RAM
5. Количество основных объектов
только в двух основных схемах
• Таблицы – ~3700
• Пакеты – 4770
• Много кода с переменными уровня пакета
• Автономные транзакции
• Использование Oracle Advanced Queues
• Линки на другие базы
• Пользовательские типы данных
• Работа с XML в Oracle
6. Основные цели
• Повышение независимости на уровне СУБД
• Глубокий рефакторинг.
• Смена компонент доступа к базам данных
DOA -> FireDac
• Миграция на последнюю версию Delphi
(xe8)
• Изоляция пользовательских форм от
компонент уровня доступа к базе
(ClientDataSet)
7. Выбор Ora2PG (13 версия)
• Произвели настройку Ora2PG под Windows. Установили
Perl.
• Быстро
• Удобно
• Наглядно
Было перенесено около 30 ядерных таблиц и пакетов:
Аутентификация пользователей, документы и архив
документов, договора, таблицы проводок и остатков,
счетов, таблицы с клиентской информацией,
конфигурационная таблица, таблица форм и типов.
Большинство форм пользовательского интерфейса
хранятся в базе!
8. Возникшие проблемы
• Оценка общего времени миграции всей схемы – не удалось
получить
• Проблема с глобальными переменными уровня пакета
• Автономные транзакции
• Системные view (v$instance, v$session…) Поиск аналогов.
• Большое количество получающихся схем + проблемы выдачи
грантов друг другу.
• Партиции в привычном понимании.
• Пакетные переменные -> временная таблица уровня сессии
• Из общего:
• По-началу непривычный синтаксис )
• Нет средства разработки уровня PLSQL DeveloperTOAD.
9. Первое тестирование
производительности 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 минут
13. • Данный релиз сейчас в тестировании и
будет выложен в пром в течение месяца
под Oracle с полной функциональностью.
• Предпринимаются усилия по переводу
запросов к виду ANSI SQL. (либо директивы
препроцессора, если невозможно обойти)
• Будем продолжать тестировать и развивать
функциональность версии под PostgreSQL.
14. Что ждём от PostgreSQL в
ближайшее время
Автономные транзакции.
Мощное партиционирование.
Мощное средство разработки. На уровне
PLSQL Developer, TOAD
Поддержку пакетов