Компания Percona, основанная отечественными разработчиками MySQL Петром Зайцевым и Вадимом Ткаченко, представила (http://www.percona.com/doc/percona-server/5.6/release-notes/...) релиз СУБД Percona Server 5.6.13-61.0, первый стабильный выпуск продукта, основанный на кодовой базе MySQL 5.6 (http://www.opennet.me/opennews/art.shtml?num=36031) и дополненный патчами, направленными на добавление новой функциональности, повышения стабильности, удобства администрирования и производительности. Готовые пакеты доступны (http://www.percona.com/downloads/Percona-Server-5.6/LATEST/) для Debian, RHEL, Ubuntu и в виде универсальной бинарной сборки. Код всех дополнений Percona Server открыт (https://launchpad.net/percona-server/+milestone/5.6.13-61.0) под лицензией GPL.
Новый выпуск поставляется с обновлённой версией развиваемого компанией Percona хранилища XtraDB, позиционируемого в качестве замены InnoDB. Хранилище XtraDB основано на коде InnoDB-plugin, полностью совместимо с ним, но отличающийся заметно более высокой производительностью. В частности, в XtraDB улучшен механизм работы с памятью, улучшена работа подсистемы ввода/вывода InnoDB, добавлена поддержка нескольких потоков чтения и записи, поддержка управления пропускной способностью, реализация упреждающей выборкой данных (read-ahead), адаптивная установка контрольных точек (adaptive checkpointing), расширены возможности по масштабированию для больших проектов, система организации блокировок адаптирована для работы на системах с большим числом CPU, добавлены дополнительные возможности для накопления и анализа статистики.
Среди других улучшений отмечается:
- В XtraDB включены наработки по оптимизации производительности в ситуации высокого параллелизма запросов. Улучшена масштабируемость при выполнении большого числа конкурирующих запросов, как только на чтение, таки в комбинированных схемах (чтение и запись);
- Из ветки Percona Server 5.5 портирован метод ALL_O_DIRECT для использования через innodb_flush_method (http://www.percona.com/doc/percona-server/5.6/scalability/in...);
- Из поддерживаемого компанией Twitter варианта MySQL портирована поддержка таймаута для выражений (http://www.percona.com/doc/percona-server/5.6/management/sta...), позволяющего ограничить время выполнения запроса через переменную max_statement_time;
- В выражениях "SELECT INTO ... OUTFILE" и "SELECT INTO DUMPFILE" обеспечена (http://www.percona.com/doc/percona-server/5.6/flexibility/ex...) возможность указания именованных каналов и unix-сокетов;- Проведена работа по улучшению производительности потока для чистки страниц памяти. Закрыты три отчёта об ошибках, связанные с чисткой памяти, остающихся неисправленными в MySQL. Внесённые изменения позволили увеличить производительность при использовании Flash-накопителей, за счёт использования более эффективных схем кэширования и замещения страниц;
- Устранено около 20 проблем, проявляющихся в кодовой базе MySQL. Пять из проблем могли привести к краху серверного процесса.
URL: http://www.percona.com/doc/percona-server/5.6/release-notes/...
Новость: http://www.opennet.me/opennews/art.shtml?num=38103
вот теперь бы еще пошаговую инструкцию по "переезду" и можно ставить
1. На сайте у них всё есть.
2. По сути просто поставить пакеты перконы вместо мускуля и всё. Но в идеале надо ещё с конфигами поколдовать.
а запросы переделывать под особенности форка дядя Вася будет?
Можно пример особенности форка, под которую необходимо запросы переделывать?
Легко. Придумываете запрос и смотрите, как о выполняется с теми же индексами. Сравниваете. При всей схожести синтаксиса, планировщики и исполнители у них могут вести себя по-разному, товарищ боец :)
Пост не читай, сразу пиши. Русским языком написано, Percona обратно совместимая и никакие запросы переписывать не надо. Поставь и проверь хотя бы....
пля, а XtraDB движок, такой же, как InnoDB, ага. Хороший у вас барабан. А вообще - стоит и проверяем.
Ну вы удивили конечно своим ответом!
То что разные движки БД работают на одних и тех же запросах с одними и теми же данными по разному (а если учесть еще и настройки!), это, я думаю, всем и так понятно. Иначе зачем они были бы нужны? Вот если бы при переходе с одного движка на другой вдруг перестали работать запросы, ввиду того что что-то не поддерживается или поддерживается по другому. То это да, действительно нужно переписывать (ну или незначительно модифицировать) запрос. И совсем другое дело, когда ваш запрос использует СУБД специфичную "фичу", которая не поддерживается другой СУБД или она реализована по другому. Например, из моего опыта в запросе я использовал функцию TIMESTAMPDIFF (БД IBM DB2), вроде бы и работает и ладно. Однако, ведущий программист сказал переписать без использования СУБД специфичных функций, поскольку в firebird, такой функции вообще нет (он тоже у нас используется) ну а в mysql (для примера), она реализована по другому (другие входные параметры).
Вот вам и разница между разной работой движков, проявляющейся в разной производительности, и поддержкой всяких "фич" из-за которых действительно нужно переписывать (немного модифицировать) запрос.P.S. Кто осилил поток сознания молодец :)
Ну а насчет взаимозаменяемости DB2 и firebird, разводить священные войны не стоит, акцент примера именно выполнение одного и того же запроса на разных СУБД.
ABI разные
Да, но как быть с XtraDB? Как сконвертировать/переписать InnoDB в XtraDB ?
Что конвертировать? Это 1 и тот же движок, xtradb - тот же Innodb с патчами от перконы и не только. Для переезда требуется только поменять бинарник mysqld.
вот теперь бы еще пошаговую стратегию и можно ставить
> вот теперь бы еще пошаговую инструкцию по "переезду" и можно ставитьА зачем оно нужно, если есть MariaDB?
Был зоопарк дистрибутивов Linux, появляется зоопарк форков MySQL
и это хорошо
Percona Server это не форк, это Oracle mysql + патчи, если программисты mysql реализуют такие же или подобные функции, то патчей становится меньше.Про форк говорят, когда проекты начинают развиваться независимо.
молодцы - успехов Вам!почему-то название ассоциируется с dcvs из прошлого...
На сайте не нашел кнопки donate и ссылки на github
где ebuild ?
Налабай, ты ж гентушнег.
> Налабай, ты ж гентушнег.я в общем-то отношусь просто к обычным пользователям с уклоном в разработку, но если нужно сделаю, т.к. есть более приоритетные вещи. Просто, многие продукты у меня лежат в списке ожидания когда появится ebuild в официальном дереве портов. Если нет, то ищу решение у которого есть ebuild и официальный статус.
> почему-то название ассоциируется с dcvs из прошлого...Percona = Performance Consulting
> На сайте не нашел кнопки donate
Другая бизнес модель, продают:
востановление данных
администирование mysql (любых версий и OS)
решение текущих проблем (консалтинг)
ответы на любые вопросы по mysql системам (суппорт)> и ссылки на github
потому что код находится в bzr у mysql проектов
https://launchpad.net/percona-server
>[оверквотинг удален]
> Percona = Performance Consulting
>> На сайте не нашел кнопки donate
> Другая бизнес модель, продают:
> востановление данных
> администирование mysql (любых версий и OS)
> решение текущих проблем (консалтинг)
> ответы на любые вопросы по mysql системам (суппорт)
>> и ссылки на github
> потому что код находится в bzr у mysql проектов
> https://launchpad.net/percona-serverблагодарствую за обстоятельные ответы. Что-же, все равно не совсем плохо. Не знаю bzr - и народ предпочитает гит.
>[оверквотинг удален]
>> Другая бизнес модель, продают:
>> востановление данных
>> администирование mysql (любых версий и OS)
>> решение текущих проблем (консалтинг)
>> ответы на любые вопросы по mysql системам (суппорт)
>>> и ссылки на github
>> потому что код находится в bzr у mysql проектов
>> https://launchpad.net/percona-server
> благодарствую за обстоятельные ответы. Что-же, все равно не совсем плохо. Не знаю
> bzr - и народ предпочитает гит.но судя по бизнес-модели это не так важно, хотя было бы приятно - ведь я так понимаю все держится на патчах от мажорной ветви + утилиты. Кстати в генте утилиты перконы есть, правда в тестовой ветке. Но и на этом спасибо. Я бы попробовал, если-бы в генте можно было скомпилять и потестить.
А что мешает в генте скомпилять ?
> А что мешает в генте скомпилять ?а где ebuild, чтобы можно было бы его скомпилять? Ставить из оверлеев? Нет спасибо. Нужно чтобы было доступно в официальном дереве портов и не только в виде замаскированных пакетов.
Я конечно извиняюсь, если кого заденет, но для меня критерий качества по, это наличие в официальном дереве портов генты и не в виде блобов и тестовых веток. Это не так сложно при желании и заодно проверка на прочность решения и доверие к продукту.
> - ведь я так понимаю все держится на патчах от мажорной
> ветви + утилиты.Есть задача решать проблемы InnoDB, быстрее чем закрываются баги на http://dev.mysql.com
С другой стороны демон должен быть максимально похожим на оригинальный mysql, чтобы не создавать проблемы миграции.Утилиты, это bash или perl скрипты: никакой магии, просто автоматизация рутинных действий:
pt-pmp - получить снимок тредов процесса
pt-stalk - получить отчет о производительности (vmstat, iostat, disktats, processlist и т.д.)
pt-query-digest - анализ slow логов
pt-table-checksum/pt-table-sync - проверяем/чиним репликацию
pt-online-schema-change - делаем alter table без блокировки таблицы, на триггерах
Еще очень много разных, то полезность значительно меньше.> Кстати в генте утилиты перконы есть, правда в
> тестовой ветке.дистрибутивщики очень сложные ребята, у них много политики.
Не так просто свой opensource код сделать частью дистрибутива, чтобы это еще и большое количество времени не отнимала.C mysql еще осложняется тем, что мейтейнеры зависают на нестабильных версиях (5.X.Y, где Y<20-30), получается, что код в тестовых репах может быть более стабильным, чем в основной стабильной ветке дистрибутива.
В основном сервера на CentOS/RHEL/Debian/Ubuntu server
> Но и на этом спасибо. Я бы попробовал, если-бы
> в генте можно было скомпилять и потестить.Есть оверлееи:
http://gpo.zugaina.org/dev-db/percona-server
но я сам не пробовал, предпочитаю или бинарные пакеты, или исходники
>[оверквотинг удален]
> и большое количество времени не отнимала.
> C mysql еще осложняется тем, что мейтейнеры зависают на нестабильных версиях (5.X.Y,
> где Y<20-30), получается, что код в тестовых репах может быть более
> стабильным, чем в основной стабильной ветке дистрибутива.
> В основном сервера на CentOS/RHEL/Debian/Ubuntu server
>> Но и на этом спасибо. Я бы попробовал, если-бы
>> в генте можно было скомпилять и потестить.
> Есть оверлееи:
> http://gpo.zugaina.org/dev-db/percona-server
> но я сам не пробовал, предпочитаю или бинарные пакеты, или исходникиспасибо за инфо.
Все вопросы с дистрибутивщиками решаются по IRC или другим подобных способом. Требования дистрибутивщиков законные - поэтому следует внимательно отнестись к этому или поготовить свой проект к возможной интеграции в дистр. Улучшить АПИ, развертывание, документация и прочие вещи облегчающие интеграцию.Бинарщину ставить не хочу - неизвестно что там подсунуто...
Оверлеи вещь хорошая, но есть вероятность напороться на грабли и уровень доверия... Сейчас это самое главное.
> Бинарщину ставить не хочу - неизвестно что там подсунуто...а вот каждый ебилд и каждый патч в нём ты вручную проверяешь каждый раз при сборке? о_О
> а вот каждый ебилд и каждый патч в нём ты вручную проверяешь каждый раз при сборке? о_Онет, достаточно доверия мантейнерам и сообществу дистра - если что-то подкинут, рано или поздно вскроется. Это лучше, чем ничего - у все на виду. В любой момент можно проверить. Тут проблема в том, что сами по себе бинарники безобидно, но под шумок и без контрольных сумм, хэшей легко и незаметно подсунуть в виде обновления нечто (слежка, слив, трафик и т.п.). Более того, под разными предлогами "зажать" исходники т.е. начать проявлять в полный рост виндовые замашки и заниматься откровенным вымогательством. В конце концов посадить клиента на vendor-lock грубо говоря. По сути дела бинарщина это способ уклонения от свободной лицензии и повод зажать исходники, а также по сути потенциальная возможность выполнения "подлога" Если рассматривать такой софт в целом - например винда в масштабах страны, то представьте на какой игле сидит страна и как она уязвима.
это не вымысел, а реальность
А memcache api добавили?
HandlerSocket который? Вроде должен быть
В мускуле писали что появился доступ к индексам через memcache api
> HandlerSocket который? Вроде должен бытьв PS 5.6 пока нет handlersocket (а может и не будет)
Все так же как и в:
http://dev.mysql.com/doc/refman/5.6/en/innodb-memcached-setu...
А где-нибудь на сайте перконы можно это увидеть? Вы не знаете случайно? А то я не нахожу совсем.
> А где-нибудь на сайте перконы можно это увидеть?это фишка MySQL 5.6,
документация на сайте percona покрывает только патчи и софт от самой перконы, что логично:
зачем иметь несколько одинаковых описаний для одного и того же кода
>> А где-нибудь на сайте перконы можно это увидеть?
> это фишка MySQL 5.6,
> документация на сайте percona покрывает только патчи и софт от самой перконы,
> что логично:
> зачем иметь несколько одинаковых описаний для одного и того же кодаСпасибо.
> А memcache api добавили?
>> А memcache api добавили?
> http://www.php.net/manual/ru/intro.mysqlnd-memcache.phpЭто всё ок, а в перконе оно где написано на офф. сайте? :)
http://www.percona.com/software/percona-server/feature-compa...
+
http://www.percona.com/doc/percona-server/5.6/ps-versions-co...
Ненужный форк с отставанием версии от MySQL и велосипедостроительством вроде XtraDB. Зачем все это, если полнотекстовый поиск по InnoDB таблицам так и не реализовали?
Спасибо за пост. Когда я начинал изучать Percona Mysql я юзал этот набор инструкций - http://sysadm.pp.ua/linux/mysql-install.html . Может кому-то пригодиться.