Хождение по мукам: импортозамещение СУБД в высоконагруженных системах

- КиТ :: Будь в СЕТИ!

«Диасофт» начал работу в области импортозамещения программного обеспечения (ПО) более 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, или с незначительным отличием в скорости.

Сформировано документов за время тестирования, шт.

Результаты второго этапа нагрузочного тестирования

По итогам проведенной оптимизации и тестирования разница по времени работы тестовых операций на Digital Q.Database и PostgreSQL очень значительна: для отдельных операций она составляет до 15–20 раз.

Из 193 тестовых сценариев 173 (89,6% от общего количества) работают на СУБД Digital Q.DataBase быстрее, чем на исходной СУБД MS SQL Server, или с незначительным отличием в скорости. В том числе:

Для всех массовых длительных операций, продолжительность которых более 10 минут (например, обработка загрузок и начисления по большим объемам данных), время работы на Digital Q.DataBase соответствует или лучше, чем на MS SQL Server. Скорость выполнения некоторых длительных операций в 2 и более раза выше на Digital Q.DataBase, чем на MS SQL Server.

Время выполнения на PosgtreSQL, сек. Время выполнения на Digital Q.Database, сек. Время выполнения на MS SQL Server, сек.

Вывод: легко и быстро - не получится

На основе нашего опыта - синхронных доработок СУБД и прикладного ПО класса АБС для их корректной работы, проведения нагрузочных испытаний, выявления и решения возникающих проблем - можно убедиться в сложности задачи импортозамещения. Это характерно не только для продуктов «Диасофт», но и для большинства программных продуктов на российском рынке.

Для высоконагруженных систем не получится использовать большинство стандартных форков PostgreSQL без значительных доработок в части СУБД и прикладного софта. В проекты импортозамещения также входит замена операционной системы и оборудования, последующая поддержка и сопровождение новой IT-инфраструктуры. У «Диасофт» уже есть соответствующий опыт, который компания использует в планировании и реализации таких проектов. Специалисты компании готовы делиться экспертизой с другими участниками рынка и клиентами, оказывать необходимую поддержку в процессах планирования и реализации проектов импортозамещения.

📧ПодпискаБудь в СЕТИ! Новости социальных сетей - всегда актуальное
 
Группы: ВК | OK | Tg