Стабильный релиз СУБД MariaDB 5.3 и тестовая версия MariaDB 5.5

confguru

ExAdmin
Команда форума
Представлен релиз MariaDB 5.3.5, первый стабильный релиз ветки 5.3.x, основанной на MySQL 5.1 и содержащей портирование некоторых возможностей из ветки MySQL 6. Проект развивается компанией Monty Program Ab, созданной Майклом Видениусом, основателем MySQL, после его ухода из Sun Microsystems. Код MariaDB синхронизирован с кодовой базой MySQL, полностью совместим с данной СУБД и может выступать в качестве прозрачной замены MySQL 5.1, дополненной рядом расширенных функций (например, виртуальные столбцы, сегментированный кэш, пул потоков, подключаемые модули аутентификации), оптимизациями производительности, новыми движками хранилищ (FederatedX, PBXT, XtraDB, Aria, OQGRAPH, Sphinx) и патчами от сообщества независимых разработчиков.

C особенностями MariaDB и ветки 5.2 можно познакомиться в тексте прошлого анонса. Среди новшеств MariaDB 5.3, расширяющих возможности MariaDB 5.2, отмечается:

Значительные оптимизации выполнения подзапросов. Реализована поддержка использования 5 различных стратегий оптимизации для Semi-join запросов, при которых используются вложенные запросы вида "SELECT ... FROM outer_tables WHERE expr IN (SELECT ... FROM inner_tables ...))". Для ускорения выполнения подзапросов, добавлен новый тип оптимизации Table Pullout, который позволяет заменить подзапрос на операцию JOIN, где это возможно. Дополнительно представлен кэш подзапросов, позволяющий избежать повторного выполнения уже оптимизированных подзапросов;
Многочисленные изменения в оптимизаторе запросов, включая поддержку объединения индексов на основе хэшей (Classic Hash Join), доступ к группе ключей (Batched Key Access), новые оптимизации чтения с учётом диапазонов при сканировании большого числа столбцов (Multi-Range-Read) и оптимизацию доступа к таблице через индексы (Index Condition Pushdown);
Интеграция плагина HandlerSocket с реализацией интерфейса прямого доступа к таблицам InnoDB/XtraDB в стиле NoSQL-систем. Поддерживаются такие операции, как добавление, обновление, чтение и удаление ключа;
Поддержка динамических столбцов, позволяющих получить различный набор "виртуальных столбцов" для каждой строки в таблице;
Поддержка групповых коммитов в хранилище XtraDB, при включении ведения бинарного лога;
Интеграция серии патчей для увеличения производительности при работе на платформе Microsoft Windows. Добавление нового MSI-инсталлятора. Включение GUI-интерфейса HeidiSQL в состав сборки для платформы Windows, позволяющего просматривать, создавать и редактировать содержимое таблиц, а также управлять СУБД и изменять структуру БД;
Улучшение в системе репликации. Поддержка репликации на уровне строк для таблиц без первичных ключей. Добавление контрольных сумм для отражаемых в бинарном логе событий. Поддержка работы "START TRANSACTION WITH CONSISTENT SNAPSHOT" с бинарным логом, что позволяет определить позицию заданного снапшота БД в бинарном логе без блокирования запросов;
Поддержка микросекунд в функции NOW() и столбцах с типами timestamp, time и datetime.

Кроме того, можно отметить выпуск MariaDB 5.5.20, первой альфа-версии ветки MariaDB 5.5.x. Новая версия пока не содержит всех запланированных новшеств, а является результатом слияния наработок MariaDB 5.3 c кодовой базой MySQL 5.5. Интеграция новшеств ожидается в бета-версии, которая будет представлена в ближайшие дни. В частности, ожидается появление аналога коммерческого дополнения "Thread Pool", представляемого в продукте MySQL Enterprise. Thread Pool представляет собой реализацию новой высокомасштабируемой модели многопоточной обработки, нацеленной на сокращение издержек при обслуживании соединений клиентов и при ответвлении выполняющих запросы потоков. Наиболее заметное повышение производительности демонстрируется при выполнении высоконагруженных web-приложений, обслуживающих большое число параллельных запросов, в сочетании с работой на серверах, имеющих 16 и более процессорных ядер. Из других новшеств отмечается реализация неблокирующего клиенского API (использование libevent в libmysqlclient) и поддержка опции skip_replication.
 
Сверху