Майкл Видениус (Michael Widenius), основатель MySQL, сообщил о выходе версии СУБД MariaDB 5.1.41, имеющей отныне статус кандидата в релизы. СУБД MariaDB является ответвлением от MySQL и развивается компанией Monty Program Ab,
созданной Майклом Видениусом после его ухода из Sun Microsystems. Серия
MariaDB 5.1.x по функциональности совместима с MySQL 5.1.x и основана
на той же кодовой базе, что позволяет осуществить миграцию с MySQL на
MariaDB без возникновения проблем с совместимостью.
Несмотря на то, что выпуск MariaDB 5.1.41 имеет статус
кандидата в релизы, заявлено о достаточно высокой стабильности СУБД,
так как с одной стороны в качестве основы выступает стабильный код
ветки MySQL 5.1, а с другой все дополнительные возможности уже давно
активно используются в промышленной эксплуатации и в достаточно крупных
проектах.
Из особенностей MariaDB, по сравнению с MySQL, можно отметить включение в состав следующих хранилищ:
- Maria
- основанное на MyISAM высоконадежное хранилище, отличающиеся
повышенной устойчивостью и сохранению целостности данных после краха,
при полной совместимости с MyISAM. Благодаря ведению лога операций, в
случае краха производится откат результатов выполнения текущей
операции. Также поддерживается возможность восстановления состояния из
любой точки в логе операций (включая поддержку
CREATE/DROP/RENAME/TRUNCATE).
- В качестве замены InnoDB используется движок XtraDB,
основанный на коде InnoDB-plugin и полностью совместимый с ним, но
отличающийся заметно более высокой производительностью, благодаря
интеграции патчей от компаний Google и Percona. В частности, в XtraDB
улучшен механизм работы с памятью, улучшена работа подсистемы
ввода/вывода InnoDB, добавлена поддержка нескольких потоков чтения и
записи, поддержка управления пропускной способностью, реализация
упреждающей выборкой данных (read-ahead), адаптивная установка
контрольных точек (adaptive checkpointing), расширены возможности по
масштабированию для больших проектов, система организации блокировок
адаптирована для работы на системах с большим числом CPU, добавлены
дополнительные возможности для накопления и анализа статистики.
- В состав включено хранилище PBXT
(PrimeBase XT), разработанное с нуля и поддерживающее мультиверсионный
метод организации хранения данных MVCC (multi-version concurrency
control), позволяющий избавиться от блокировок при выполнении операций
чтения. PBXT поддерживает ACID-совместимые транзакции, быстрый откат
транзакций и восстановление после некорректного завершения работы
сервера. Имеются средства для обеспечения ссылочной целостности данных,
поддержка определения внешних ключей (foreign key), каскадных
обновлений и удалений данных. Поддерживается возможность прямого
потокового ввода и вывода бинарных данных (BLOB) в БД.
- В качестве замены разработанного в Sun Microsystems и уже не поддерживаемого хранилища Federated задействован проект FederatedX.
FederatedX позволяет организовать обращение к удаленным таблицам как к
локальным. Имеется поддержка транзакций, одновременной установки
нескольких соединений к удаленной СУБД, использования операций "LIMIT".
Другие улучшения MariaDB:
- Реализована возможность создания пула потоков,
позволяющего использовать заданное число mysql-нитей для обработки всех
запросов, вместо механизма "одна нить на одно соединение". В итоге
можно значительно увеличить производительность БД, обрабатывающих
большое число соединений или имеющих большое число длительно
выполняющихся запросов;
- Ликвидация таблиц
- новый вид оптимизации операций по объединению таблиц (JOIN),
позволяющий исключить обращения к некоторым таблицам, на которые
ссылается запрос пользователя;
- Добавлено множество патчей, созданных компанией
Percona и сообществом независимых разработчиков. Например, добавлен
патч для выявления узких мест при работе с базой. Кроме отслеживания
запросов выполняющихся более заданного времени, поддерживается
занесение в лог информации о запросах приводящих к перебору большого
числа строк, сложным сортировкам, задействованию временного файла на
диске или удовлетворяющих параметрам заданного фильтра (qc_miss,
full_scan, full_join, tmp_table, tmp_table_on_disk, filesort,
filesort_on_disk). В отличии от стандартного механизма ведения лога
медленных запросов, msl оперирует не секундами, с округлением в большую
сторону, а отрезками 0.005 сек.
Источник: http://www.opennet.ru/opennews/art.shtml?num=25050
|