Компания MariaDB представила прокси-сервер MaxScale 2.0

1 год ago admin 0

Компания MariaDB представила релиз прокси-сервера MariaDB MaxScale, работающего между клиентским приложением и СУБД, и способного решать такие задачи, как обеспечение высокой доступности, балансировка нагрузки, шардинг, разделение запросов на запись и чтение, прозрачное масштабирование, сглаживание процесса миграции инфраструктуры на другие СУБД, выявление атак по подстановке SQL-запросов, работа в роли межсетевого экрана для СУБД, прозрачный мониторинг производительности, организация горячего резервного копирования и т.п. Поддерживается работа с СУБД MariaDB, MySQL и через плагины с PostgreSQL, Microsoft SQL Server и Hadoop. Код проекта написан на языке Си.

Кроме функциональных изменений выпуск MaxScale 2.0 примечателен переходом на новую схему лицензирования. Вместо лицензии GPLv2 код теперь поставляется под лицензией BSL. Лицензия BSL позиционируется как альтернатива модели Open Core — при использовании BSL код расширенной функциональности изначально открыт и доступен для внесения изменений, но может применяться бесплатно только при соблюдении дополнительных условий, для обхода которых требуется приобретение коммерческой лицензии. В частности, MaxScale может бесплатно использоваться только для конфигураций, включающих менее трёх серверов. Ограничения действуют только до 1 января 2019 года, после чего они снимаются и код начинает поставляться под лицензией GPLv2+.

Для приложения взаимодействие с MariaDB MaxScale ничем не отличается от привычного обращения к СУБД, при этом, MaxScale может в прозрачном для приложения виде обеспечивать распределение запросов на серию серверов или организовать оперативное переключение на запасной сервер в случае сбоя первичного. MariaDB MaxScale позволяет на основе определения правил задавать достаточно сложные пути перенаправления запросов к СУБД. Правила могут привязываться к отдельным типам SQL-запросов, а также учитывать назначение конкретных серверов. Для обеспечения высокой производительности используются методы асинхронной обработки ввода/вывода и мультиплексирование через epoll.

Основные новшества:

  • Режим захвата изменений данных (CDC — change data capture), позволяющий выявлять и перенаправлять на заданные узлы запросы, приводящие к изменению данных. Например, можно транслировать изменения в отдельные хранилища больших данных, такие как Hadoop, используя системы доставки сообщений, подобные Kafka;
  • Возможность работы в роли межсетевого экрана с end-to-end SSL-шифрованием канала связи для защиты от неавторизированного доступа к данным;
  • Функция MaxAdmin для предотвращения доступа атакующих и блокирования выполнения вредоносных действий;
  • Средства для ограничения интенсивности соединений (rate limit) для блокирования DDoS-атак;
  • Возможность создания отказоустойчивых конфигураций, в которых в случае выявления сбоя в работе узла, запросы на чтение могут автоматически перенаправляться на другие узлы.


Source: pirates.in.ua