Привет, Хабр! Сегодня хочу коснуться наболевшей для многих российских компаний темы — замена зарубежного софта на доступное альтернативное. Так как я специализируюсь на системном ПО, все чаще я сталкиваюсь с подобными запросами по части СУБД.
Эта статья — мой обзор 6 СУБД из реестра отечественного ПО, которые можно использовать вместо MS SQL, Oracle и других. Каждую из них мы с командой К2Тех устанавливали и настраивали ручками. И в итоге убедились, что все они представляют собой действительно качественные продукты, на которых можно работать с большими объемами данных. Итак, представляем вам альтернативную «шестерку» СУБД под катом!
Задача импортозамещения СУБД универсальна и стоит сегодня перед многими. Более того, менять СУБД (на взрослеющие Open Source решения и решения на их базе) компании начали задолго до 2022 года. Однако тогда эти действия объяснялись скорее попыткой сэкономить. Ведь если у организации есть крепкий ИТ-отдел или надежный партнер-интегратор, то выстроить заказную ИТ-экосистему можно на базе открытого ПО и не платить за лицензии. Некоторые такие проекты полностью себя оправдывали просто за счет сокращения затрат, особенно если речь шла о переходе с Oracle или других дорогостоящих СУБД.
Сейчас ситуация в корне поменялась. Компании оказались в различных ситуациях:
Все плохо. Не удается купить (продлить) лицензии на нужную СУБД. Приходится срочно куда-то мигрировать/внедрять новую систему, потому что через какое-то время данными просто не получится управлять.
Все не так уж плохо. Когда срок действия лицензий фактически не ограничен. Это могут быть локальные версии Microsoft SQL Server, Oracle Database и других СУБД, которые установлены и работают в автономном режиме. Однако возможность обновления, равно как и поддержки, для них отсутствует.
Все неплохо, но… Использование открытых СУБД, например, таких как PostgreSQL, не исключает возможности санкционных рисков, а также влияния на работу инфраструктуры зарубежных компаний. Кому-то это не важно, а ряд крупнейших организаций стремятся избавиться и от этих рисков.
Все хорошо. Потому что переезд на российское ПО произошел заранее, и теперь уже не нужно запускать срочные проекты миграции. Тем не менее, даже у тех, кому «хорошо», встречаются небольшие вкрапления импортных СУБД, оставшихся с различными системами. И об их замене тоже приходится задумываться.
На что можно менять?
Мы в К2Тех специализируемся на комплексных проектах полного цикла. В том числе для наших заказчиков разбираем по косточкам, анализируем и тестим на совместимость доступные сейчас на рынке решения. И вот основываясь на своем опыте, я отобрал (для начала) 6 СУБД из реестра ОПО, которые могут выступать в качестве замены для попсовых западных СУБД.
Postgres Pro
Эта СУБД базируется на открытом проекте PostgreSQL, в том числе поставляет исходные коды для PostgreSQL (фактически является контрибьютором для PostgreSQL). Команда разработчиков продукта демонстрирует высокий уровень компетенции. В сравнении с «ванильным» PostgreSQL, у Postgres Pro — больше всего доработок, направленных на повышение производительности СУБД и на обработку большого количества транзакций. Что также выделяет продукт среди конкурентов. В версии Enterprise есть возможность создать отказоустойчивый кластер, причем даже Active-Active, НО! по запросу заказчика и за отдельную плату.
В комплекте с СУБД уже есть средства резервного копирования. Для Postgres Pro доступна богатая документация на русском, а также имеется схема лицензирования по ядрам сервера виртуализации без ограничения по количеству виртуальных машин с СУБД.
Отмечу, что штрафных санкций за просрочку продления технической поддержки нет. При этом ТП на среды тестирований и разработки оказывается с более низким SLA при наличии поддержки на продуктивную среду. Система имеет сертификат ФСТЭК, который среди прочего обеспечивает применение СУБД в значимых объектах критической информационной инфраструктуры (ЗОКИИ) 1 категории. Postgres Pro уже доказала совместимость со всеми ключевыми ОС на базе Linux из реестра отечественного ПО. Плюс у нее самая широкая поддержка и российского железа, включая отечественные процессорные платформы.
Но, конечно, у платформы есть свои нюансы. Например, в Postgres Pro отсутствует собственный графический интерфейс администрирования. К тому же по уровню стоимости цена лицензий в версии Enterprise соизмерима с коммерческими решениями СУБД, ушедшими с российского рынка
Jatoba
Jatoba разрабатывается компанией Газинформсервис и тоже базируется на PostgreSQL. Эта СУБД отличается доработками для хранения геометрических и гео данных, а также в части информационной безопасности. Как пример, ограничение суперпользователя в его правах и распределение его функционала по другим ролям (сотрудникам ИБ). Jatoba протоколирует команды манипулирования данными. Кроме того, она имеет улучшенную совместимость с синтаксисом процедурного языка СУБД Oracle, а также дополнительные решения и модули для построения и обслуживания кластера высокой доступности. А еще у этой СУБД есть собственная реализация кластера в конфигурации Master-Slave с автоматическим переключением.
Jatoba совместима с отдельными прикладными продуктами, большим списком систем ИБ, а также ОС на базе Linux из реестра отечественного ПО. СУБД сертифицирована ФСТЭК по 4-му уровню доверия. И ровно так же, как и Postgres Pro, она может применяться в ЗОКИИ 1 категории.
Но вот что еще нужно знать про эту СУБД. В Jatoba нет инструментов управления планами выполнения запросов (хотя план реализовать этот функционал имеется в дорожной карте развития на 2023 год). Зато у СУБД есть свой веб-интерфейс управления! Ну и, конечно же, стоимость лицензий привлекает внимание… Но есть нюанс! При продлении техподдержки после пропуска периода потребуется перерасчет ее стоимости с учетом пропущенного времени. При этом необходимую ТП на среды тестирований и разработки потребуется приобрести дополнительно.
Квант-Гибрид
Продукт компании Квантом изначально развивался из PostgreSQL, но на сегодня фактически является форком от PostgreSQL и не зависит напрямую от обновлений последнего. То есть исходные коды ведутся и обслуживаются вендором самостоятельно. Продукт обеспечивает реализацию повышенных требований к производительности, надежности и безопасности хранения информации. Здесь стоит отметить, что некоторые стандартные компоненты написаны и переработаны на RUST. Кроме того, в Квант-Гибрид встроено шифрование по ГОСТу. Также СУБД имеет дополнительные модули мониторинга и аудита.
Любопытно, однако, что Квант-Гибрид позиционируется вендором как защищенная СУБД. То есть как СУБД для высоконагруженных платформ с требованиями быстрых массовых операций с данными, нацеленная на нужды промышленных предприятий или гос/федеральных органов. Но! При всем при этом найти исчерпывающую информацию о наличии у продукта сертификата ФСТЭК, кроме того, что он когда-то был, нам не удалось.
Ред БД
РЕД СОФТ успешно разрабатывает СУБД на базе Interbase/Firebird. Вообще РЕД СОФТ имеет собственную экосистему продуктов — ОС, виртуализация, другие компоненты. Соответственно, если компания уже внедряет Ред Виртуализацию или использует Ред ОС, то и Ред БД здесь встроится легко.
Ред БД имеет сертификат ФСТЭК, на сайте разработчика доступна очень подробная документация. Поставщик имеет хороший опыт построения сложных систем, но при этом на рынке решения на базе Ред БД представлены пока не так широко. Тем не менее, совместимость с большинством ОС из реестра российского ПО уже гарантирована.
На РЕД БД часто реализуют специальные отраслевые решения, которые требуют переносимости СУБД. Эта база спокойно запускается после копирования, работая в режиме Portable, — запустить так многие другие СУБД будет крайне сложно, например, в «полях» на ноутбуке. Однако при работе с Ред БД есть свои нюансы. Например, для восстановления данных на произвольный момент времени в Ред БД требуется дополнительная настройка.
ProximaDB
СУБД от Orion soft целиком базируется на PostgreSQL. Продукт успешно получает обновления PostgreSQL, а, значит, и все последние оптимизации движка СУБД. При этом ProximaDB отличают широкие доработки в части преднастроенного мониторинга и аудита данных, а также возможности по встраиванию в системы CI/CD для автоматизированного развертывания по запросу фактически в любой конфигурации.
Эту СУБД отличает высокая скорость развертывания и переразвертывания готового к эксплуатации решения. ProximaDB полностью совместима с российскими ОС и с необходимой для 99% наших компаний 1С. В общем, СУБД соответствует требованиям импортозамещения.
Это достаточно свежий продукт, у которого пока нет опыта крупных внедрений. Соответственно, поддержка ОС из реестра отечественного ПО оказывается у́же, чем у более устоявшихся решений.
Arenadata PG
Разработка компании Arenadata тоже базируется на PostgreSQL. СУБД имеет значительные доработки для того, чтобы справляться с нагрузками различных профилей (в первую очередь OLTP). Решение предоставляет различные средства автоматизации управления продуктом. Как пример, автоматизация Online и Offline установки, а также управление несколькими средами. Arenadata PG имеет базовые графические инструменты для мониторинга СУБД.
Вендором решение позиционируется в том числе как Enterprise, есть отдельная лицензия Enterprise Edition и техподдержка корпоративного уровня. В 2023 году появилась возможность развертывать HA-кластер.
Для Arenadata PG, безусловно, есть документация, но я не сказал бы, что она исчерпывающая. Кроме этого, решение поддерживает пока не все ОС из реестра отечественного ПО.
Какие требования стоит предъявлять?
Если вы выбираете СУБД на замену существующей, необходимо сначала составить перечень требований, которым должна соответствовать ваша новая платформа для работы с данными. И для этого списка требований некоторые СУБД могут лучше подойти, чем другие… А иногда одно требование отсекает сразу целый спектр СУБД.
Из нашего опыта, в числе наиболее популярных требований к кандидатам на замещение СУБД могут встречаться:
Поддержка ключевых ОС из реестра российского ПО
Максимальная совместимость с исходной ("родительской”) СУБД
Расширенные требования к информационной безопасности
Наличие необходимых сертификатов ФСТЭК
Поддержка масштабируемых кластерных инсталляций
Наличие дополнительных инструментов/утилит для обслуживания (в том числе резервного копирования) и мониторинга СУБД
(все-таки эксплуатация БД для 1С — это одно, а ведение и поддержка БД для собственного динамически развиваемого продукта — совсем другое)
Как выбирать?
При выборе конкретной СУБД мы рекомендуем проводить скоринг. На опыте нескольких проектов была выработана следующая схема:
Определяем ключевые требования, без которых СУБД вам не подойдет
Определяем функциональные требования. В них могут входить: базовые требования, совместимость, высокая доступность, управляемость, резервное копирование, расширенные функции (например, менеджер (“пулер”) подключений), безопасность. Каждому из критериев необходимо дать комплексную оценку.
Определяем нефункциональные требования. В их числе могут быть: удобство эксплуатации, мониторинг, архитектура и возможности кастомизации, опции масштабирования и т.д.
Определяем соответствие политики лицензирования и технической поддержки ожиданиям и требованиям заказчика.
И так далее…
Финальный выбор
Впрочем, бывает так, что для замещения иностранных коммерческих СУБД лучше использовать даже несколько платформ. Иногда для замещения одних СУБД подходит, скажем, Postgres Pro, а для других — ProximaDB. В средах с Ред ОС или в случаях, когда данные целиком вместе с СУБД нужно часто переносить, лучше ложится Ред БД. Arenadata PG может быть использована для крупных проектов создания заказных КХД. Например, вместе с BI-платформой Visiology — ведь между решениями уже предусмотрена интеграция. При наличии специфических требований, например, по сквозному шифрованию, достаточно уникальные решения, реализованные в Квант-Гибрид, могут стать аргументами в пользу этой системы.
Конечно, эти 6 СУБД не единственные на российском рынке. Просто они подходили в качестве альтернатив в ряде наших недавних проектов. Но! Опыта и контента у меня много, и я бы с удовольствием рассказал и про другие отечественные СУБД.
Пишите в комментариях, если вам зашла эта тема! И если вы хотите увидеть во второй части обзора какую-то конкретную СУБД, тоже пишите!
Новые вершины технологий ждут тебя в Telegram-канале К2Тех
Комментарии (41)
twid
15.06.2023 13:10+12Из предложенного надо брать Postgres имхо.
- разумно выстроена. приятно удивляешься что оно действительно способно выполнять озвученный функционал без того чтобы упасть замертво.
- умеет в большие данные
- у вас будет кого нанять\спросить, немало людей с ней работает.
- давно есть фирмы, что предоставляют поддержку\сертификацию
Может быть принижаю остальные альтернативы, но ненамеренно.
nagumanov174
15.06.2023 13:10+23Все что вы описали, мало имеет отношения к российским СУБД. За основу взят продукт с открытым кодом и допилен функционал. Нужно еще вопрос задать, насколько этот функционал нужен.
myc
15.06.2023 13:10+1Немного не так. Взят отрытый продукт и получен «сертификат», организована поддержка, etc…
Soupbreak
15.06.2023 13:10+6Если PostgresPro это компания, которая вносит свои патчи в сам Postgres, то есть действительно делает продукт, то что делают остальные?
Могут они предоставить ссылки на пр, апдейты документации и тд? Или только измененный логотип?
sintech
15.06.2023 13:10+26Богатый выбор между шестью базами: пять PostgreSQL и одна Firebird. Не упомянуто ни одного исконно российского решения.
HunterXXI
15.06.2023 13:10+3а что значит исконно российская? вот например Oracle это исконно американская СУБД? если да то по какому признаку определяется - место регистрации компании или нахождение головного офиса или все сотрудники должны иметь гражданство этой страны?
dreesh
15.06.2023 13:10-6Это как с айфоном) Собран в китае, но он американский! А если брать аналогию с Россией то значит китайское, а не российское! Пора уже давно выучить желчную пропоганду либерастов и не использовать ее если сам не либераст)
Зы: в случае с Америкой мы даже не можем приплести национальность, ее у них тупо нет.
sintech
15.06.2023 13:10+6Я бы определил это по признаку географической принадлежности компании разработчика основной части кода продукта. Например PostgreSQL - американская (институт Беркли), Oracle - американская, СУБД Линтер, tarantool, clickhouse - российские (на что наткнулся в гугле) и т.д.
dreesh
15.06.2023 13:10+1Значит если "понауехавшие" русские разработчики соберутся толпой в казахстане и напишут прогу то она Казахстанская?
А ядро linux американское? Как бы в него уже не одно 10-ти летие строки кода летят со всего мира)
sintech
15.06.2023 13:10+9Если они зарегистрируют компанию в Казахстане и напишут код на основе своих разработок а не форка опенсорса то да.
Где собрано не важно, главное кто придумал и спроектировал.
Можно еще задать вопрос, смогли бы китайцы сделать айфон без эпл? Нет не смогли бы. А смогли бы в Эпл без помощи китайцев? Да смогли бы, но очень дорого бы получилось. Могут ли российские поставщики современных серверов сделать их без помощи китайцев? Нет не смогут, но те компании что проектируют собственные корпуса, систему охлаждения, мат-платы и управляющее ПО можно с чистой совестью считать российскими и их продукт созданным в России. К сожалению, в большинстве случаев разработка заканчивается переклейкой наклеек.
dreesh
15.06.2023 13:10-3Ну например процессор в айфоне arm, а это Великобритания (китайское независимое представительство мы не берем в расчет), произведен он на оборудывании из Голандии, а оно сделанно с использованием сырья и разработок со всего мира.
Код в айфоне написан индусами, японцами, китайцами, неграми, корейцами, русскими, украинцами и т.п. еще куча кода это openSource.
Давно уже все в мире интернациональное и построенно гражданами мира...
sintech
15.06.2023 13:10+2Давайте без космополитизма ;)
Весь код в айфоне написан сотрудниками Apple (Cupertino, CA) за исключением того, что честно указан в разделе Настройки -> Основные -> Правовая информация -> Правовые уведомления (там длинный список).
HunterXXI
15.06.2023 13:10-1это тоже лукавство. возможно все сейчас и переписано, но потрачено 15 лет самых дорогих в мире кодеров. а изначально брали готовые компоненты и из них делали iOS. работали в основном над ui. никто не начинает с чистого листа, всегда используются чьи-то наработки
JustForFun88
15.06.2023 13:10Вы путаете постиндустриальные государства с развивающимися. Да США и Великобритания практически ничего не производят на сегодняшний момент, но это не значит что они это НЕ могут сделать или производить.
Они отдали материальное производство на outsource, а сами руководят мировой финансовой системой. То есть руководят распределением денег.
Могут ли США сделать IPhone у себя на родине? Конечно могут, ведь все компании и патенты в цепочке так или иначе принадлежат США или его союзникам (Великобритании). Они спокойно могут достроить нежные заводы в США. Станут ли они это делать? Как припрет, так сделают. Даже более того, уже начали.
Это как с историей с "батутом" Рогозина. Захотели США собственные космические челноки - сделали.
Может ли Россия или даже Китай, сам произвести IPhone? Нет не сможет. Китаю еще с 10 лет надо, а Россия похоже уже накрепко осталась на обочине истории. Изменить это сможет разве что война. Но тут такое дело... Еще неизвестно кто в этой войне победит.
sintech
15.06.2023 13:10+1А ядро linux американское? Как бы в него уже не одно 10-ти летие строки кода летят со всего мира)
Изначально финское, но это как раз отличный пример свободного ПО созданного в результате коллаборации разработчиков и компаний из разных стран.
Z55
15.06.2023 13:10+3Не очень понимаю, в чём смысл использования форков постгреса для внешних (относительно разработчиков этих форков) компаний?
dreesh
15.06.2023 13:10-2смысл в том, что есть платная (возможно круглосуточная ) поддержка и сопровождение.
Kuznetsov_pa
15.06.2023 13:10+4И получаешь опять vendor lock
dreesh
15.06.2023 13:10-1Это ваш выбор или я не прав? Те кому нужна система не дураки и могут риски просчитать.
slonopotamus
15.06.2023 13:10+3Не вижу причинно-следственной связи между "хотим чтобы была поддержка" -> "берём форк".
Hokum
15.06.2023 13:10+4Сейчас можно присмотреться к YDB - распределённая реляционная СУБД. Вполне себе российская. В опенсорс вышла в прошлом году. К тому же, по мимо таблиц предлагает ещё и топики. Потенциально, одним решением можно заменить и БД и лог брокер.
Не хватает возможности в рамках одной транзакции писать/читать таблицы и топики, но, думаю, что это вопрос времени и такая возможность появится.
Самому ещё пока попробовать поработать с YDB не довелось, но выглядит интересно.
Их сайт: https://ydb.tech/ru/docs/concepts/
oragraf
15.06.2023 13:10+3Была в свое время идея миграции чиновников с мерседесов на волги. И даже такая простая миграция не взлетела. Мигрировать большую легаси систему с хранимой логикой с oracle на pg очень сложно, проще переписать заново. А это гигантские затраты прежде всего - времени, не говоря уже о деньгах. Любая миграция упирается в двойной объем работы - разобраться в старом и написать ТЗ + поддерживать старое + написать новое и самое сложное - сравнить и убедиться в эквивалентности.
GospodinKolhoznik
15.06.2023 13:10Уж сколько десятилетий назад учёные мужи твердили миру - отделяйте слой бизнес логики от слоя организации данных. Задолго даже до дядюшки Боба. Ещё в 1985 году авторы SICP на это напирали, как на основную концепцию всего курса. Но нет же. На дворе 2023, а бизнес логика намертво вплетена в СУБД, как грибок, проявляющийся только на ногте на самом деле живёт во всем теле человека.
timsiling
15.06.2023 13:10+2К вопоосу выбора коммерческой СУБД я бы ещё обязательно добавил:
Год основания компании
Списочная численность сотрудников (чтобы кто-то поддерживал продукт)
Финансовые показатели
Риски по СПАРК
Квантом - в глубоком минусе по прибыли.
Orion soft - 28 сотрудников.
Singaporian
15.06.2023 13:10+1Могу я внятно услышать, чем опасны в санкционном смысле open-source продукты типа Postgres и MariaDB?
Ritan
15.06.2023 13:10+2Ну навскидку приходит на ум разве что что-то вроде https://www.linux.org.ru/forum/security/16819987
Но на ситуацию с бд это, понятное дело, не натягивается так просто. Явно не уровень безымянного js куска кода
Singaporian
15.06.2023 13:10+3Понял, спасибо.
Согласен, в популярной БД это, конечно, не пройдет. Впрочем, это прекрасно прошло в terraform модулях AWS, где всем рулят украинцы. А это продукт, сравнимый по популярности с PostgreSQL. Причем, один мексиканец сделал PR на удаление ключа putinhuylo, уповав на то, что для политики там не место, но украинцы его отклонили и он до сихпор там: https://registry.terraform.io/modules/terraform-aws-modules/vpc/aws/latest?tab=inputs
piratarusso
15.06.2023 13:10Отличный вопрос. Ответить на него однозначно трудно. Что мы должны всегда учитывать . PostgreSQL разрабатывается глобальным сообществом(в которое входят и специалисты из разных стран мира), MariaDB разрабатывается MariaDB Corporation Ab. Свободные продукты менее подвержены рискам чем закрытые. В частности возможность сделать fork продукта можно рассматривать как страховку. Но в любом случае, желание делать всё самим и изолироваться от остального мира выглядит довольно глупо.
Singaporian
15.06.2023 13:10Да. И если мелкое вредительство, упомянутое @Ritan действительно может принести неприятности, то в санкционном плане я так и не понял, чего они боятся. Звучит как попытка обосновать распил. Но для распила обосновывать надо несведующему начальству наверху, а не на Хабре. То есть я именно вот этот момент пытаюсь понять.
timsiling
15.06.2023 13:10Логика для корпоративного сектора тут есть. Вам нужна DB, кто-то ее должен поддерживать (обладать экспертизой, чинить, отвечать на вопросы, обновлять). Продать чистую поддержку opensource - сложно с точки зрения обоснования руководству. Поэтому логика проста - берем форк, делаем новые функции, упаковываем вместе с платной поддержкой и продаем единым продуктом.
С точки зрения санкций тоже тогда понятно - предыдущие подрядчики, оказывавшие платную поддержку становятся недоступны.
Singaporian
15.06.2023 13:10Да. Вот это уже логичнее звучит в контексте именно санкций. Впрочем, в статье 90% продуктов, как раз, - форки постгресса.
begemot_sun
БД Енисей забыли.