На протяжении многих лет технология СУБД (система управления базами данных) MySQL имела основополагающее значение для многих серверных приложений, особенно тех, которые используют программный стек LAMP (Linux, Apache, MySQL, Perl/PHP/ Python), но вскоре это может измениться, так как крупнейшие Linux-сообщества Fedora (Red Hat-сообщество Linux) и OpenSUSE (SUSE-сообщество Linux) объявили о том, что их дистрибутивы будут по умолчанию использовать вместо MySQL технологию MariaDB. Этот сервер баз данных фактически является клоном MySQL, но независим от продукта, подконтрольного Oracle.
Разработку и поддержку MySQL осуществляет корпорация Oracle, получившая права на торговую марку вместе с поглощенной Sun Microsystems, которая, в свою очередь, еще до поглощения корпорацией Oracle купила шведскую компанию MySQL AB. Вероятно, решение разработчиков Fedora и OpenSUSE о переходе на MariaDB вызвано тем обстоятельством, что последние изменения в MySQL могут указывать на то, что проект излишне зависим от Oracle.
В то же время MariaDB сохраняет API-совместимость с MySQL и добавляет новые функции. К примеру, некоторые функции MariaDB повторяют возможности, реализованные в коммерческих релизах Oracle MySQL Enterprise. Так, версия MariaDB 5.5 содержит плагин для авторизации клиентов через специальные модули PAM (Pluggable Authentication Modules) — так заказчики могут авторизовать приложения и пользователей с помощью каталога LDAP или иного источника данных для проверки подлинности вместо паролей, сохраняемых в БД. Кроме того, в новой версии реализован производительный пул потоков исполнения для поддержания высокой скорости работы при большом числе подключенных клиентов.
Среди новых функций, в частности, реализована неблокирующая клиентская библиотека, которая позволяет приложениям запускать множество параллельных подключений к одной или нескольким БД — это полезно в таких задачах, как слияние данных между распределенными БД в очень больших системах. Кроме того, представлены функции для разработки геоинформационных приложений на базе стандартов OpenGIS.
MariaDB позиционируется как свободный проект, “создаваемый сообществом для сообщества”. В декабре прошлого года для развития и продвижения MariaDB была создана некоммерческая организация MariaDB Foundation.
Михал Грушецки, разработчик OpenSUSE, в своем блоге написал, что MariaDB будет поддерживать не только стандартный API, но и те же файлы данных, протокол и даже утилиты, которые используются MySQL, что с точки зрения пользователя не потребует излишней оптимизации библиотек для работы с MariaDB. Он также напомнил, что MariaDB распространяется с openSUSE в течение более чем трех лет. Однако это не означает невозможности переключиться на MySQL в случае необходимости. Пакеты с этим сервером баз данных останутся в дистрибутиве. Грушецки отметил, что лично ему в MariaDB нравится поддержка дополнительных механизмов хранения, таких как Aria, OQGRAPH и SphinxSE. Но главным достоинством MariaDB, полагает разработчик, является то, что “у нее по-настоящему открытый код, который выпущен под лицензиями GPL, LPGL или BSD”.
Именно последнее обстоятельство стало основным для принятия решения о прекращении использовать MySQL разработчиками еще одного известного Linux-дистрибутива — Fedora. Ожидается, что Fedora 19 станет первой версией дистрибутива, в которой вместо MySQL будет использоваться MariaDB.
Ярослав Резник из компании Red Hat по этому поводу в почтовой рассылке Linux-разработчикам заявил: “Мы собираемся заменить MySQL на MariaDB уже на ранних стадиях подготовки релиза Fedora 19. MySQL по-прежнему будет доступна, по меньшей мере, еще в одном релизе [Fedora], но MariaDB станет решением по умолчанию. Кроме того, мы не намерены поддерживать одновременную инсталляцию обоих пакетов на одной машине: пользователям надо будет выбрать один конкретный продукт”. Он также пояснил причины отказа использовать MySQL в новой версии Fedora: “Последние изменения, внесенные Oracle, указывают, что проект MySQL движется навстречу закрытости — Oracle больше не публикует информацию по вопросам безопасности (CVEs) и отслеживании ошибок и уязвимостей в этой СУБД”.
Как оказалось, намерения разработчиков этих Linux-дистрибутивов не остались в стороне от внимания Oracle. Андрей Рист, архитектор Oracle по взаимодействию со сторонними разработчиками, в своей письменной рассылке призвал программистов Fedora отказаться от перехода на MariaDB, мотивируя это тем, что релизы этой СУБД обычно на полгода отстают от MySQL. Он также отметил, что в разработке MySQL “принимали участие сотни специалистов, в том числе MySQL-ветераны и молодые таланты, а MySQL 5.6 — самый стабильный, безопасный и масштабируемый релиз из когда-либо созданных Oracle”. Он также напомнил о 15-летнем вкладе Oracle в разработку Linux-ядра, а также о том, что, несмотря на то, что Red Hat и Oracle — конкуренты на рынке бизнес-поддержки корпоративных клиентов, это не умаляет достоинств MySQL, на что следует обратить внимание в первую очередь”.
В своем ответе Ристу программист Fedora Иоганн Гудмундссон написал, что с большим уважением относится к заслугам Oracle, но при этом заявил, что “прежде всего Fedora ценит открытость и свободу”.
Таким образом, начиная с версии дистрибутива OpenSUSE 12.3, который недавно вышел в бета-версии (релизная версия появится в марте), MariaDB станет СУБД по умолчанию. Немногим позже это изменение коснется и серверной версии дистрибутива — SUSE Linux Enterprise Server.
В случае Fedora, начиная с версии 19 (ожидается в мае) MariaDB также станет СУБД по умолчанию, но MySQL по-прежнему будет доступна по выбору. Вероятно, это же изменение затронет и серверный дистрибутив Fedora — Red Hat Enterprise Linux.