Аналитика

Свой Oracle: российская СУБД с открытым кодом бросила вызов монополии Запада

Программное обеспечение Импортозамещение

Российский разработчик объявил о создании национальной СУБД с открытым исходным кодом

Процесс импортозамещения в сфере баз данных сопряжён с серьёзными трудностями. Прикладные программные продукты, функционирующие на базе СУБД Oracle и Microsoft SQL Server, невозможно просто взять и перенести на импортонезависимые решения, основанные на PostgreSQL. Из-за фундаментальных отличий в архитектуре этих систем управления базами данных весь код приложений, накопленный за десятилетия, пришлось бы полностью переписывать. Это слишком затратно и требует слишком много времени. Однако именно эта сложность подтолкнула рынок не искать обходные пути, а разрабатывать собственные решения — вплоть до создания национальной СУБД. Один из таких масштабных проектов обсуждался на Дне СУБД, организованном компанией «Диасофт».

Почему возникла необходимость в собственной СУБД

В интервью ведущему РБК ТВ Сергею Краснову генеральный директор «Диасофт» Александр Глазков рассказал о СУБД Digital Q.DataBase с функцией «Полиглот» и о том, как она была создана.

Решения компании, предназначенные для автоматизации банковского сектора и работы в высоконагруженных системах, содержат миллионы и десятки миллионов строк кода. Вся эта инфраструктура исторически была привязана к СУБД Oracle и Microsoft. В некоторых проектах до 90% логики было реализовано с использованием их уникальных возможностей. Простой «переезд» был невозможен: переписывание всех приложений заняло бы годы и потребовало огромных финансовых вложений.

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

Так возникло собственное решение — Digital Q.DataBase.

Функционал банковских систем «Диасофт» на первой версии Digital Q.DataBase начал работать оперативно. Однако впоследствии обнаружились трудности с производительностью: на начальном этапе разработки она была значительно ниже, чем в СУБД Oracle и Microsoft. Последующие годы были посвящены тщательной оптимизации: заказчики не желали менять платформу, существенно увеличивая ресурсы. Итоги этой оптимизации заметны уже сейчас: по многим операциям Digital Q.DataBase от «Диасофт» достигла сопоставимого уровня производительности, а в некоторых сценариях — даже превзошла его.

Первоначально акцент делался на конвертации хранимой бизнес-логики, но со временем стало очевидно: можно обеспечить синтаксическую совместимость с зарубежными СУБД и тем самым устранить необходимость в каких-либо изменениях существующих приложений. Сегодня совместимость Digital Q.DataBase с Microsoft SQL Server составляет около 98% — большинство систем переносится без корректировок. С Oracle ситуация сложнее: текущий уровень совместимости равен 76%. В целом этого недостаточно для того, чтобы проект обошёлся совсем без доработок со стороны СУБД, но они обычно выполняются за несколько месяцев в рамках проекта. Отсутствие потребности переписывать прикладной код многократно компенсирует затраты на эти доработки.

«Если говорить о бизнес-эффекте, то основная ценность — это экономия ресурсов. Переписывание крупных систем, которые создавались десятилетиями и содержат миллионы строк кода, — это проекты на годы с высокими рисками. Наш подход позволяет снизить стоимость в разы, а иногда и в десятки раз. По срокам проекты у крупных заказчиков всё равно требуют времени (обычно около года), так как речь идёт о критической инфраструктуре, которая нуждается в тщательном тестировании, но это несравнимо быстрее и безопаснее, чем полная переработка», — отмечает Александр Глазков.

Доверие к замене формируется через реальные внедрения. Такие проекты у «Диасофт» уже существуют — в банковской и финансовой сферах.

Как Digital Q.DataBase решает задачу переписывания кода

Большинство решений на рынке вынуждают переписывать прикладной код под диалект PostgreSQL. «Диасофт» предлагает «полиглотную» СУБД: Digital Q.DataBase «понимает» несколько наиболее востребованных диалектов SQL и воспроизводит функциональность Oracle DataBase и Microsoft SQL Server. При этом сохраняется 100% совместимость с диалектом PostgreSQL, но теперь он — лишь один из трёх поддерживаемых SQL-диалектов.

Аналогичные подходы существуют и за рубежом — например, у южнокорейской TmaxData, американского Amazon, китайской Alibaba Cloud — каждый из них поддерживает один из востребованных SQL-диалектов. В СУБД от «Диасофт» подход более универсален: поддержка T-SQL и PL/SQL, совместимость с пакетами Oracle, протокол TDS для приложений Microsoft SQL Server, собственные драйверы и API.

Процесс миграции отличается максимальной простотой. Достаточно установить систему, активировать мастер переноса, соединиться с исходной базой данных, отметить нужные объекты — и вы получаете почти полную копию базы в новой среде. При наличии достаточных ресурсов скорость переноса может доходить до терабайта в час. Дорабатывать клиентские приложения не придётся: благодаря совместимости на уровне библиотек и драйверов они продолжают функционировать без каких-либо изменений. Ни серверная, ни клиентская логика не требуют переписывания. Экономия получается колоссальной.

Для крупных организаций сроки внедрения составляют от полутора до двух лет, для более простых случаев — значительно короче, примерно 4-6 месяцев. Каждый последующий переход ускоряет процесс: СУБД становится более зрелой, а методики внедрения — всё более отлаженными.

Компания «Диасофт» также выпустила бесплатную версию Digital Q.DataBase — она обладает полным функционалом, однако ограничена использованием 8 ядер. Для современных микросервисных и распределённых архитектур этого вполне достаточно. Продукт набирает обороты: если в первый месяц было зафиксировано 20–30 загрузок, то сейчас их число превышает 500 ежемесячно. География охватывает территорию от Дальнего Востока до Калининграда.

Объявление о национальной СУБД с открытым исходным кодом

Кроме того, в рамках конференции «Диасофт» совместно с НППКТ (разработчиком СУБД «Лира-Р» и ОС «Основа») анонсировали создание Ассоциации разработчиков СУБД и выпуск первой версии бесплатной национальной СУБД с открытым кодом — RuDB, основанной на PostgreSQL 18.2. Она предназначена для замещения «ванильного» PostgreSQL в задачах российского бизнеса.

На первый взгляд, можно было бы обойтись стандартной версией PostgreSQL — международным продуктом с активным сообществом, регулярными обновлениями и участием российских разработчиков. Однако при детальном рассмотрении для многих сценариев этого оказывается недостаточно.

За рубежом PostgreSQL чаще всего служит дополнением к Oracle и Microsoft или заменяет их в некритичных случаях. В России же его применяют как полноценную замену — в крупном и среднем бизнесе, в критически важной инфраструктуре, где от системы зависит работа целых компаний.

В таких условиях возникают новые требования. Код, создаваемый сообществом, по своей природе содержит уязвимости — их необходимо систематически устранять. Важна совместимость с российскими системами, такими как 1С. И, безусловно, требуется поддержка: при возникновении инцидентов нужны специалисты, способные вносить изменения в код. Рынку нужна не просто технология, а полноценная инфраструктура компетенций и ответственности.

«Ключевой момент — это контроль над технологией. Использование чужих решений, даже успешных, сохраняет зависимость, поэтому важно развивать собственную экосистему. При этом значительная часть доработок представляет собой общую ценность для рынка благодаря повышению безопасности, совместимости и созданию инструментов миграции. Мы уже передали в этот открытый проект значительную часть своих наработок по Digital Q.DataBase — более миллиона строк исходного кода», — подчёркивает Глазков.

После того как Oracle и Microsoft покинули российский рынок СУБД, образовалась значительная пустота. В реестре отечественного программного насчитывается более 60 систем управления базами данных, однако практически отсутствуют решения, которые одновременно являются бесплатными, надёжными, пригодными для КИИ, имеют сертификацию ФСТЭК, выдерживают высокие нагрузки и совместимы с уже развёрнутыми системами.

Ключевая проблема сектора — избыточное дублирование труда разработчиков СУБД. Согласно оценкам «Диасофт», около 45% ресурсов вендоров тратится на выполнение обязательных требований российского законодательства. Ещё 30–35% уходит на воспроизведение уже существующих решений. И лишь примерно 20% направляется на подлинные инновации.

На сегодняшний день 18 из 60 СУБД, включённых в реестр российского ПО, основаны на PostgreSQL. Иными словами, 18 компаний повторяют работу друг друга. Для создания полноценной национальной СУБД необходимо объединить эти усилия. Желательно также участие государства в данной инициативе. «Диасофт» выбрал стратегию: «сначала реализовать, затем масштабировать через сообщество и государство» — и уже приступил к её воплощению.

Члены Ассоциации могут вносить свой вклад в объединённую СУБД и применять общие наработки в собственных коммерческих продуктах.

Обычной транзакционной СУБД уже недостаточно для растущих требований к производительности. Поэтому в национальную платформу был добавлен компонент для обработки данных в памяти. Причём таким образом, что разработчики могут обращаться к данным, хранящимся в оперативной памяти, используя привычный язык SQL. Во многих сценариях — особенно в банковской сфере — существуют «горячие» данные, которые нельзя обрабатывать исключительно через классическую базу. Их необходимо держать в памяти. Это ускоряет вычисления, уменьшает нагрузку и позволяет создавать современные приложения. Гибридность — не опция, а обязательное условие.

В RuDB также устранены уязвимости оригинального PostgreSQL, реализован векторный поиск и поддерживаются глобальные временные таблицы. Система соответствует требованиям ФСТЭК и готова к работе с КИИ и персональными данными. Объём кода RuDB составляет около 3,1 миллиона строк. Уже сейчас она удовлетворяет потребности подавляющего большинства организаций.

Ключевое преимущество — открытый исходный код. Ассоциация предоставляет свободный доступ к RuDB: скачивай и используй. Бесплатная модель — это осознанный выбор компании, её вклад в развитие рынка СУБД в России. Однако Ассоциация не замыкается на себе и приглашает других вендоров к сотрудничеству — чтобы повысить зрелость рынка и более эффективно отвечать на запросы клиентов.

Такой подход уже доказал свою эффективность за рубежом. В Китае крупные банки и технологические компании совместно развивают открытые решения, например, открытую СУБД openGauss. Ассоциация разработчиков СУБД не копирует этот путь, но исходит из той же логики: совместная работа — самый естественный и рациональный способ развития отрасли.

Поделиться:

0 Комментариев

Оставить комментарий

Обязательные поля помечены *
Ваш комментарий *
Категории
Популярные новости