2024/09/06 14:24:43

Команда Proxima DB: Мы фокусируемся на устранении архитектурных ограничений PostgreSQL

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

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

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

Содержание

Одним из таких решений является Proxima DB — промышленная СУБД российского разработчика инфраструктурного ПО Orion soft. Но вендор не называет свой продукт «форком».

«
Мы не разрабатываем свой форк PostgreSQL — одна команда не может сделать лучше, чем целое сообщество. Мы фокусируемся на устранении архитектурных ограничений PostgreSQL — на решении задач отказоустойчивости и высокой доступности, на работе с большим количеством подключений, управлении множеством инстансов СУБД, совместимости с отечественными ОС, — говорит Сергей Гонцов, архитектор продукта Proxima DB Orion soft.
»

Proxima DB разрабатывается с 2019 года, в начале августа 2024 года вышла ее версия 3.0.1. Ключевая функция продукта, которая пока не представлена в других коммерческих СУБД — возможность автоматически развертывать кластеры «из коробки», группировать их, гибко планировать полное и инкрементальное резервное копирование и управлять расширениями для PostgreSQL через единый модуль управления с графическим интерфейсом.

Image:Proxima_DB.png

Автоматическое развертывание и группировка кластеров через UI

Многие разработчики коммерческих PostgreSQL-совместимых СУБД предлагают собственные средства администрирования с графическим интерфейсом. Некоторые включают всего один шаблон авторазвертывания кластера. Другие подразумевают отдельное развертывание кластера с последующим его подключением к GUI-модулю или платформе управления для администрирования и мониторинга.

Особенность модуля управления Proxima DB — быстрое авторазвертывание и автонастройка кластеров в любых конфигурациях по шаблонам непосредственно через графический веб-интерфейс. Эта функция ориентирована, в первую очередь, на крупные предприятия, которым требуется управлять десятками и сотнями БД в кластерных и некластерных конфигурациях из единого окна. Без централизованных инструментов настройки и администрирования в подобной ситуации могут возникнуть ошибки в конфигурации отдельных инстансов СУБД. Чем больше экземпляров, тем вероятнее ошибка. Здесь нет ничего удивительного, просто человеческий фактор никто не отменял. Еще одна проблема таких компаний — нехватка и дороговизна услуг администраторов баз данных и Linux-инженеров. Наличие централизованных инструментов управления позволит значительно снизить нагрузку на персонал.

Каждая инсталляция СУБД (юнит) в Proxima DB может быть развернута по отдельному шаблону. Например, в классической для Patroni 3-х узловой конфигурации, в 2-х узловой с выделенным арбитром, в одноузловой конфигурации. Вариант с 2-х узловой конфигурацией и арбитром позволяет заказчику сэкономить на лицензии и аппаратной конфигурации, поскольку арбитр — это специальный сервер, который не содержит СУБД и при этом работает на достаточно скромных вычислительных ресурсах.

Развертывание происходит с помощью пошагового мастера, созданного по принципу Microsoft SQL Server, поэтому «собрать» кластер может даже junior Linux-специалист.

Такой уровень автоматизации позволяет минимизировать ошибки конфигурации и обеспечить ее повторяемость во всех средах. Это важно для заказчиков, ведущих собственную разработку: нередко при запуске инстанса в тестовой среде возникают ошибки, которых на DEV-стенде не было, и связаны они, как правило, с различием конфигураций.

Кроме того, модуль управления включает в себя графические инструменты мониторинга и аудита кластеров, а также возможность их группировки по средам и логическим проектам. Это может сократить время на обслуживание кластеров, а также обеспечить необходимое разграничение доступа к группируемым кластерам.

Управление резервным копированием

Единый модуль управления Proxima DB позволяет управлять полным и инкрементальным бэкапом — создавать его гибкие планы и полные резервные копии по требованию.

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

Разработчики также заявляют о совместимости с системой «Кибер Бэкап».

Управление расширениями PostgreSQL

С PostgreSQL в составе модуля contrib поставляется около 40 наиболее популярных и востребованных расширений, которые регулярно используют пользователи и компании. Но процесс их подключения или удаления зачастую вызывает затруднения у новичков. Модуль управления Proxima DB облегчает эту задачу: он содержит отдельный дашборд, в котором можно в несколько кликов добавлять и отменять такие расширения.

«
Благодаря простому UI с системой подсказок задачи по автоматическому развертыванию кластеров, управлению планами резервного копирования и расширениями для PostgreSQL можно будет выполнить даже силами начинающего Linux-специалиста. Это позволит заказчикам в условиях дефицита кадров значительно сократить время и трудозатраты на управление СУБД, — добавляет Любовь Родионова, лидер продукта Proxima DB, Orion soft.
»

Необходимая функциональность

Если говорить об остальных функциях продукта — все редакции Proxima DB соответствуют тем стандартам работы с высоконагруженными системами, которым отвечают и Enterprise-редакции СУБД других разработчиков.

Так, в Proxima DB реализовано построение отказоустойчивых кластеров высокой доступности. Кластер состоит из трех узлов, каждый из которых содержит полную копию всех баз данных. На каждом узле имеется многопоточный пулер подключений, который поддерживает работу свыше 10 тыс. пользователей. Нагрузка между пулерами балансируется, за это отвечает роутинг запросов HAproxy, который также присутствует на каждом узле. При этом прикладное ПО «не знает» о конфигурации из трех узлов, и подключается к единому виртуальному адресу.

Proxima DB поддерживает как синхронную, так и асинхронную потоковой репликацию данных, автономных транзакций и инструментария для быстрого траблшутинга (поиска и устранения неполадок).

Наконец, в систему включены инструменты для быстрой миграции с Oracle и реализована поддержка работы с платформой «: Предприятие». У конкурентов же для «1С» часто используется отдельный самостоятельный продукт.

Лицензионная политика

Лицензии на Proxima DB бывают двух видов — бессрочные и временные, рассчитанные на срок от 1 года до 5 лет. Заказчик платит только за количество ядер, необходимых для СУБД в PROD сегменте, где идет «боевая» эксплуатация. При этом клиенты могут использовать Proxima DB с технической поддержкой на таком же количестве ядер в TEST и в DEV сегментах.

Планы на развитие продукта

Несколько слов о планах разработчиков Proxima DB на ближайшее будущее. В бэклоге, прежде всего, автоматическое шардирование — разделение крупной базы данных на более мелкие для улучшения производительности и управления. Его можно будет добавлять и для уже имеющихся баз данных.

Следующее направление — географически распределенные и катастрофоустойчивые кластеры. Также важным вектором будущего развития должен стать модуль управления и аудита производительности Proxima AWR, аналог Oracle AWR: заказчикам интересно развитие DBaaS с повторяемостью конфигураций. Это особенно актуально тем, кто использует микросервисную архитектуру с отдельными базами данных для каждого сервиса. Наконец, в планах автоматизация миграции с «ванильной» PostgreSQL, которая особенно актуальна для заказчиков, «застрявших» на устаревших версиях СУБД PostgreSQL.

В заключение можно добавить, что Proxima DB подойдет и для компаний, которым не нужно большое количество экземпляров баз данных. Разработчики предлагают редакцию Proxima DB Advanced, которая содержит все описанные выше возможности, и редакцию Proxima DB Core, которая не включает единый модуль управления с графическим интерфейсом. Те, кто может обойтись без централизованного управления или использует для него сторонние инструменты, например, утилиту pgAdmin, могут рассматривать редакцию Core в качестве отказоустойчивой и производительной замены «ванильной» PostgreSQL или зарубежных решений.