Банковское обозрение (Б.О принт, BestPractice-онлайн (40 кейсов в год) + доступ к архиву FinLegal-онлайн)
FinLegal ( FinLegal (раз в полугодие) принт и онлайн (60 кейсов в год) + доступ к архиву (БанкНадзор)
«Диасофт» начал работу в области импортозамещения программного обеспечения (ПО) более 10 лет назад, когда банки, клиенты компании, столкнулись с первыми ограничительными мерами. В частности, возникла необходимость импортозамещения системного ПО — системы управления базами данных (СУБД), на которой работали программные продукты компании. Большая часть задач импортозамещения заключается не в переписывании программных продуктов западных вендоров, а в обеспечении корректной работы имеющихся российских решений на импортонезависимых СУБД вместо иностранных. Для высоконагруженных систем это масштабная и сложная задача. Компания «Диасофт» уже прошла этот путь и делится опытом с участниками рынка.
Первые замеры производительности операций на СУБД PostgreSQL показали очень низкие результаты, не соответствующие нашим требованиям. Мы разработали собственную СУБД на основе PostgreSQL, оптимизировали ее для корректной и эффективной работы с прикладными решениями и выполнили соответствующие доработки в продуктах. Также был разработан специальный конвертер, преобразующий программный код продуктов в синтаксис PostgreSQL. В результате:
Рассказываем, как удалось достичь таких результатов.
Мы начали с попытки пойти по простому пути: взяли одну из самых распространенных на российском рынке СУБД на основе PostgreSQL (коммерческое решение от российского вендора) и протестировали на ней работу программных продуктов класса АБС от «Диасофт». Тестовые испытания показали, что в целом решения могут на ней работать, но при использовании в реальных высоконагруженных системах показатели производительности СУБД в десятки раз меньше необходимых.
Для обеспечения производительности, соответствующей требованиям большинства наших клиентов, при работе с СУБД этой конфигурации возникала необходимость переписать код всех прикладных продуктов (в нашем случае это более 10 млн строк кода). Кроме того, нужно было отказаться от хранимых процедур, специфичных для СУБД западных вендоров (Oracle и Microsoft).
Подобный объем работ, по сути, включал в себя полную переработку всей АБС. Он требовал огромных ресурсов и временных затрат, но не привел бы к гарантированному результату. Впоследствии низкую эффективность такого подхода к импортозамещению СУБД подтвердил пример одного из крупных банков.
Мы решили пойти другим путем. Компания взяла открытый исходный код PostgreSQL под ответственное владение и создала на его основе форк, проверив его на уязвимости и устранив их. Форк был оптимизирован для корректной и эффективной работы в составе программных продуктов от «Диасофт».
В результате два года назад «Диасофт» представил рынку импортонезависимую СУБД Digital Q.DataBase. Масштабной задачей стало обеспечение эффективности ее работы в высоконагруженных системах, в условиях одновременных действий множества пользователей, необходимости выполнения огромных объемов расчетов и при наличии баз данных на десятки терабайт.
Исходные СУБД западных вендоров и целевая СУБД Digital Q.DataBase имеют разную функциональность и особенности работы.
Приведем примеры.
После завершения доработок в СУБД Digital Q.DataBase и конвертации кода программных продуктов класса АБС необходимо было обеспечить высокую производительность СУБД. В 2023 году мы провели начальное автоматизированное функциональное и нагрузочное тестирование. Даже при относительно небольших нагрузках возникали проблемы производительности.
Приведем примеры.
Результат помог нам пройти нагрузочное тестирование по модели малого и среднего банка с более 85% тестовых операций, работающих на СУБД Digital Q.DataBase быстрее, чем на MS SQL Server, или с незначительным отличием в скорости.
Мы начали проводить нагрузочное тестирование программных продуктов класса АБС для модели крупных банков.
В ходе тестирования обнаружились новые проблемы производительности, которые также решались синхронными доработками в СУБД и конвертере прикладного кода.
Приведем примеры.
В результате доработок мы добились целевых показателей производительности прикладного ПО на СУБД Digital Q.DataBase, соответствующих уровням нагрузки средних и крупных банков. Около 90% общего количества тестовых сценариев работают на СУБД Digital Q.DataBase быстрее, чем на MS SQL Server, или с незначительным отличием в скорости.
Сравнение основных характеристик первого и второго этапов нагрузочного тестирования
Показатель |
Первый этап (октябрь 2023 года) |
Второй этап (декабрь 2024 года) |
Число задействованных программных продуктов |
4 |
10 |
Количество тест-кейсов модели |
35 |
193 |
Число одновременно работающих пользователей |
80 |
600 |
Объем базы |
600 Гб |
10 Тб |
Общее число бизнес-объектов на начало тестирования |
41,8 млн |
405,6 млн |
Сформировано документов за время тестирования, шт. |
160 тыс. |
400 тыс. |
Продолжительность тестирования, часов |
4 |
9 |
Кроме того, в ходе второго этапа тестирования выполнялись следующие операции:
По итогам проведенной оптимизации и тестирования видно, что разница по времени работы тестовых операций на Digital Q.DataBase и PostgreSQL очень значительна: для отдельных операций она составляет до 15–20 раз.
Из 193 тестовых сценариев 173 (89,6% общего количества) работают на СУБД Digital Q.DataBase быстрее, чем на исходной СУБД MS SQL Server, или с незначительным отличием в скорости, в том числе:
Для всех массовых длительных операций, продолжительность которых более 10 минут (например, обработка загрузок и начисления по большим объемам данных), время работы на Digital Q.DataBase соответствует или лучше, чем на MS SQL Server. Скорость выполнения некоторых длительных операций в два и более раза выше на Digital Q.DataBase, чем на MS SQL Server.
Сравнение времени выполнения некоторых операций на разных СУБД
Наименование операции |
Время выполнения на PosgtreSQL, секунд |
Время выполнения на Digital Q.Database, секунд |
Время выполнения на MS SQL Server, секунд |
Выполнение действия «Оформить вклад» |
76,94 |
3,93 |
7,29 |
Выполнение действия «Пополнить вклад наличными» |
62,10 |
4,67 |
6,41 |
Добавление биржевой сделки Today |
6,52 |
0,49 |
1,33 |
Добавление внебиржевой сделки Today |
7,36 |
0,26 |
2,19 |
Начисление по загрузке биржевых сделок с ценными бумагами из отчета Московской биржи |
774,79 |
50,65 |
74,17 |
Загрузка конверсионных сделок (на условиях SPOT), заключенных на валютной секции Московской биржи |
316,03 |
31,85 |
37,89 |
На основе нашего опыта — синхронных доработок СУБД и прикладного ПО класса АБС для их корректной работы, проведения нагрузочных испытаний, выявления и решения возникающих проблем — можно убедиться в сложности задачи импортозамещения. Это характерно не только для продуктов «Диасофт», но и для большинства программных продуктов на российском рынке.
Для высоконагруженных систем не получится использовать большинство стандартных форков PostgreSQL без значительных доработок в части СУБД и прикладного софта. В проекты импортозамещения также входят замена операционной системы и оборудования, последующая поддержка и сопровождение новой IT-инфраструктуры. У «Диасофт» есть соответствующий опыт, который компания использует в планировании и реализации таких проектов. Специалисты компании готовы делиться экспертизой с другими участниками рынка и клиентами, оказывать необходимую поддержку в процессах планирования и реализации проектов импортозамещения.
Геймификация сейчас — это уже не маркетинговая прихоть, а стратегический инструмент. Банки используют игровые механики для повышения вовлеченности клиентов, формирования новых финансовых привычек и роста маржинальности своих продуктов. Разбираемся, что уже работает на российском рынке и какие тренды ждут его дальше