URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 84061
[ Назад ]

Исходное сообщение
"Стабильный релиз СУБД MariaDB 5.5"

Отправлено opennews , 12-Апр-12 19:46 
Увидел свет (http://blog.montyprogram.com/announcing-mariadb-5-5-23-ga/) релиз MariaDB 5.5.23 (http://kb.askmonty.org/en/mariadb-5523-release-notes), первый стабильный релиз ветки 5.5.x, основанной на кодовой базе MySQL 5.5 и содержащей все ранее представленные в ветке MariaDB 5.3 (http://www.opennet.me/opennews/art.shtml?num=33267) улучшения и дополнения. Проект развивается компанией Monty Program Ab, созданной Майклом Видениусом, основателем MySQL, после его ухода из Sun Microsystems. Код MariaDB синхронизирован с кодовой базой MySQL, полностью совместим с данной СУБД и может выступать в качестве прозрачной замены MySQL 5.5, дополненной рядом расширенных функций, оптимизациями производительности, новыми движками хранилищ (FederatedX, PBXT, XtraDB, Aria, OQGRAPH, Sphinx) и патчами от сообщества независимых разработчиков.


Среди улучшений (http://kb.askmonty.org/en/what-is-mariadb-55), добавленных в  MariaDB 5.5, которые отсутствуют в MariaDB 5.3 и MySQL 5.5, можно отметить:

-  Интеграция более эффективного аналога коммерческого дополнения "Thread Pool", представляемого в продукте MySQL Enterprise. Thread Pool (http://kb.askmonty.org/en/thread-pool-in-mariadb-55) представляет собой реализацию новой высокомасштабируемой модели многопоточной обработки, нацеленной на сокращение издержек при обслуживании соединений клиентов и при ответвлении выполняющих запросы потоков. Наиболее заметное повышение производительности демонстрируется при выполнении высоконагруженных web-приложений, обслуживающих большое число параллельных запросов, в сочетании с работой на серверах, имеющих 16 и более процессорных ядер;

-  Включение в состав библиотеки (http://kb.askmonty.org/en/non-blocking-client-library) с реализацией неблокирующего клиенского API. Неблокирующий API позволяет отправить запрос к СУБД и не дожидаясь его завершения сразу перейти к дальнейшим действиям. После того как будет готов результат запроса, приложение будет информировано через callback-вызов. Подобный подход оправдан когда нужно выполнить одновременно несколько независимых запросов к базе, когда нужно обратиться к нескольким СУБД или при формировании запросов из приложений, изначально написанных в соответствии с неблокирующим стилем разработки, например, использующих libevent или event loop. Новый API реализован исключительно на уровне клиентской библиотеки  и не требует от сервера какой-либо дополнительной функциональности, что позволяет использовать неблокирующий API с любыми выпусками MariaDB и MySQL. Библиотека также полностью совместима с уже собранными приложениями на уровне API и ABI;


-  Поддержка опции @@skip_replication (http://kb.askmonty.org/en/selectively-skipping-replication-o...) для выборочного пропуска изменений, которые не нужно реплицировать на другие серверы или помещать в binlog. Когда переменная установлена в значение true - данные реплицируются, а когда в flase - нет;

-  Хранилище Sphinx (http://kb.askmonty.org/en/sphinxse) обновлено до версии 2.0.4 (http://sphinxsearch.com/) (ранее была интегрирована версия 0.9.9);
-  В хранилищах XtraDB и InnoDB  реализована поддержка расширенных ключей ("extended keys");
-  Поддержка выражения INSTALL SONAME (http://kb.askmonty.org/en/install-soname), сходное по своему действию с INSTALL PLUGIN, но выполняющее действие по установке всех плагинов из указанной библиотеки;
-  Новая оптимизация "LIMIT [offset, row_count] ROWS EXAMINED rows_limit" которая позволяет (http://kb.askmonty.org/en/limit-rows-examined) остановить выполнение запроса SELECT после перебора заданного через rows_limit числа столбцов;
-  Возможность динамического использования переменных replicate_do_*, replicate_ignore_* и replicate_wild_*, т.е. их изменение больше не требует перезапуска сервера;
-  Изменение логики работы функции mysql_real_connect(), которая теперь сохраняет в объекте MYSQL значения выставленных до вызова данной функции опций даже если вызов завершился неудачей, т.е. обнуление производится только после выполнения mysql_close().


Дополнительно можно отметить выпуск обновлений для ранее выпущенных и ещё поддерживаемых стабильных веток - MariaDB 5.3.6 (http://blog.montyprogram.com/announcing-mariadb-5-3-6/), 5.1.62 и 5.2.12 (http://blog.montyprogram.com/announcing-mariadb-5-1-62-and-5.../) в которых устранена опасная уязвимость, позволяющая клиенту  при определённых обстоятельствах подсоединиться к БД без ввода корректного пароля. Данная уязвимость также присутствует в MySQL и будет устранена в ближайшем обновлении. Кроме того, выпущенном недавно MySQL 5.5.22 (http://dev.mysql.com/doc/refman/5.5/en/news-5-5-22.html) были исправлены две уязвимости, подробности о которых не приводятся.

Ранее реализованные улучшения (http://kb.askmonty.org/v/mariadb-versus-mysql), отличающие MariaDB от MySQL:

-  Дополнительные движки хранилищ:


- Aria (http://www.opennet.me/opennews/art.shtml?num=13934) (ранее Maria) - основанное на MyISAM высоконадежное хранилище, отличающиеся повышенной устойчивостью и сохранению целостности данных после краха, при полной совместимости с MyISAM. Благодаря ведению лога операций, в случае краха производится откат результатов выполнения текущей операции. Также поддерживается возможность восстановления состояния из любой точки в логе операций (включая поддержку CREATE/DROP/RENAME/TRUNCATE).


- XtraDB (http://www.opennet.me/opennews/art.shtml?num=19449) - движок основанный на коде InnoDB-plugin и полностью совместимый с ним, но отличающийся заметно более высокой производительностью, благодаря интеграции патчей от компаний Google и Percona. В частности, в  XtraDB улучшен механизм работы с памятью, улучшена работа подсистемы ввода/вывода InnoDB, добавлена поддержка нескольких потоков чтения и записи, поддержка управления пропускной способностью, реализация упреждающей выборкой данных (read-ahead), адаптивная установка контрольных точек (adaptive checkpointing), расширены возможности по масштабированию для больших проектов, система организации блокировок адаптирована для работы на системах с большим числом CPU, добавлены дополнительные возможности для накопления и анализа статистики.


- PBXT (http://www.opennet.me/opennews/art.shtml?num=19478) (PrimeBase XT) - хранилище,  разработанное с нуля и поддерживающее мультиверсионный метод организации хранения данных MVCC (multi-version concurrency control), позволяющий избавиться от блокировок при выполнении операций чтения. PBXT поддерживает ACID-совместимые транзакции, быстрый откат транзакций и восстановление после некорректного завершения работы сервера. Имеются средства для обеспечения ссылочной целостности данных, поддержка определения внешних ключей (foreign key), каскадных обновлений и удалений данных. Поддерживается возможность прямого потокового ввода и вывода бинарных данных (BLOB) в БД;

-  FederatedX (https://launchpad.net/federatedx) - позиционируется в качестве замены разработанного в Sun Microsystems и уже не поддерживаемого хранилища Federated. FederatedX позволяет организовать обращение к удаленным таблицам как к локальным. Имеется поддержка транзакций, одновременной установки нескольких соединений к удаленной СУБД, использования операций "LIMIT";

- OQGRAPH (http://kb.askmonty.org/v/oqgraph) - хранилище для организации иерархических (древовидных) структур и сложных графов (узлов, имеющих множество связей);

-  Sphinx (http://kb.askmonty.org/v/sphinxse) - хранилище для построения поисковых движков. Встроенный Sphinx-клиент позволяет  MariaDB обмениваться данными с searchd, выполнять поисковые запросы и получать результаты поиска;


- Виртуальные столбцы (http://kb.askmonty.org/v/virtual-columns), содержимое которых формируется на основе заданного выражения, рассчитываемого во время выполнения;


-  Расширенная статистика (http://kb.askmonty.org/v/user-statistics) об активности клиентов, пользователей, индексов и таблиц;


-  Сегментированный кэш (http://kb.askmonty.org/v/segmented-key-cache) MyISAM-ключей...

URL: http://monty-says.blogspot.com/2012/04/lots-of-mariadb-relea...
Новость: http://www.opennet.me/opennews/art.shtml?num=33589


Содержание

Сообщения в этом обсуждении
"Стабильный релиз СУБД MariaDB 5.5"
Отправлено chemtech , 12-Апр-12 19:46 
Интересно почему нет в пакетной базе Debian...

"Стабильный релиз СУБД MariaDB 5.5"
Отправлено Аноним , 12-Апр-12 21:12 
Потому что никто не запилил пакет.

// КО


"Стабильный релиз СУБД MariaDB 5.5"
Отправлено chemtech , 13-Апр-12 05:38 
> Потому что никто не запилил пакет.
> // КО

Это понятно. Не понятно то почему "Monty Program Ab" не хочет распространить свой продукт в более широкие массы...


P.S. Есть сторонний репозиторий:

# MariaDB repository list - created 2012-04-13 01:39 UTC
# http://downloads.askmonty.org/mariadb/repositories/
deb http://mirror.de.gsnw.de:56431/mariadb/repo/5.5/debian squeeze main
deb-src http://mirror.de.gsnw.de:56431/mariadb/repo/5.5/debian squeeze main


"Стабильный релиз СУБД MariaDB 5.5"
Отправлено Аноним , 12-Апр-12 19:58 
Мощный ченжлог. Старина Видениус впахивает :)

"Стабильный релиз СУБД MariaDB 5.5"
Отправлено fetisheer , 12-Апр-12 21:48 
> Мощный ченжлог. Старина Видениус впахивает :)

На самом деле в данном проекте он выступает скорей спонсором, чем разработчиком.


"Стабильный релиз СУБД MariaDB 5.5"
Отправлено Аноним , 12-Апр-12 23:12 
И на том спасибо. А был бы на его месте Ваня - он бы только заграбастал и отполз в свой уголок. Правда таким в силу общей тупости такое не светит, но все-таки.

"Стабильный релиз СУБД MariaDB 5.5"
Отправлено Аноним , 12-Апр-12 20:37 
Где-нибудь тесты - сравнения MyISAM и Aria можно посмотреть?

"Стабильный релиз СУБД MariaDB 5.5"
Отправлено fetisheer , 12-Апр-12 21:37 
Тестов не видел, но разработчики aria говорят, что пока производительность станет приоритетом только при разработке версии 2.5, до этого планируют чистить код и внедрять транзакционность без оглядки на производительность.

Сам я пробовал парочку таблиц переводить на aria с myisam, таблицы были fixed. По скорости запросов разница на уровне погрешности. При вставке же достаточно значительно увеличилось количество операций io (по графикам очень четко видно).


"Стабильный релиз СУБД MariaDB 5.5"
Отправлено Аноним , 12-Апр-12 21:47 
Спасибо.

"Стабильный релиз СУБД MariaDB 5.5"
Отправлено ананим , 13-Апр-12 01:42 
>При вставке же достаточно значительно увеличилось количество операций io

хм. какбы это:
>Благодаря ведению лога операций, в случае краха производится откат результатов выполнения текущей операции. Также поддерживается возможность восстановления состояния из любой точки в логе операций (включая поддержку CREATE/DROP/RENAME/TRUNCATE).

намекает что чудес не бывает.


"Стабильный релиз СУБД MariaDB 5.5"
Отправлено fetisheer , 13-Апр-12 11:28 
>>При вставке же достаточно значительно увеличилось количество операций io
> хм. какбы это:
>>Благодаря ведению лога операций, в случае краха производится откат результатов выполнения текущей операции. Также поддерживается возможность восстановления состояния из любой точки в логе операций (включая поддержку CREATE/DROP/RENAME/TRUNCATE).
> намекает что чудес не бывает.

Здесь фокус в том, что при переводе этих же таблиц на innodb io возрастает гораздо меньше, а в innodb журнал ведется тоже.


"Стабильный релиз СУБД MariaDB 5.5"
Отправлено Аноним , 12-Апр-12 20:46 
Можете тесты не смотреть поверьте на слово MariaDB намного производительнее обычного MySQL

"Стабильный релиз СУБД MariaDB 5.5"
Отправлено fetisheer , 12-Апр-12 21:42 
> Можете тесты не смотреть поверьте на слово MariaDB намного производительнее обычного MySQL

Во многих случаях это так, но не всегда. Например, у меня есть запрос, который исполняется за тысячные доли секунды и включает в себя подзапрос. Когда поставил MariaDB, то этот запрос "оптимизировался" и стал выполняться так же как если бы был реализован с помощью join, в результате скорость выполнения запроса составила полторы секунды. optimizer_switch = 'semijoin=off' пришлось добавить для выправления ситуации.


"Стабильный релиз СУБД MariaDB 5.5"
Отправлено XPEH , 12-Апр-12 20:55 
> Включение в состав библиотеки с реализацией неблокирующего клиенского API.

Ну наконец-то.


"Стабильный релиз СУБД MariaDB 5.5"
Отправлено пескарь , 13-Апр-12 21:03 
>> Ещё лет 10 и догонят постгрес по функционалу.
> Мля, давайте сразу оракл всем всучивать. Для хранения десятка постов в личном
> бложике, чо.

как будто это что-то плохое.


"Стабильный релиз СУБД MariaDB 5.5"
Отправлено igor_b , 13-Апр-12 14:12 
Кто использовал сабж может подсказать: временные таблицы можно использовать повторно в одном запросе? В mysql для меня это большое неудобство. При запросе выдает ошибку: Can't reopen table ...