<?xml version="1.0" encoding="utf-8" ?>
<rss version="2.0"
     xmlns:dc="http://purl.org/dc/elements/1.1/"
     xmlns:content="http://purl.org/rss/1.0/modules/content/">

<channel>
  <title>Planet MySQL</title>
  <link>http://www.planetmysql.org/</link>
  <pubDate>Tue, 24 Nov 2009 22:45:06 +0000</pubDate>
  <language>ru</language>
  <description>Planet MySQL - http://www.planetmysql.org/</description>

  <item>
    <title>Методы выявления ошибок в SQL приложении</title>
    <guid isPermaLink="false">http://svetasmirnova.livejournal.com/38554.html</guid>
    <link>http://svetasmirnova.livejournal.com/38554.html</link>
    <description>Во время отпуска и по мотивам своего мастер-класса на PHPConf 2009 (http://phpconf.ru) я написала гид для тех, кому нужно поймать ошибку в SQL приложении. Правильнее было бы назвать в MySQL приложении, но я всё-таки думаю, что общие принципы едины для всех. В идеале мне бы хотелось, чтобы текст охватывал основные случаи неправильного поведения. Оговорюсь, что под неправильным поведением я понимаю логические ошибки, а не проблемы производительности. Проблемы производительности - это отдельная тема, кстати, достаточно хорошо представленная в сети.Книжка состоит из 4 частей, ниже можно посмотреть краткое содержание:Часть 1. Одиночные запросы.Рассмотрены случаи, когда ошибка повторяется для одного клиента-потока.Часть 2. Конкурентные запросы.Случаи, когда ошибка повторяется только в случаях, когда несколько клиентов работают с базой одновременно.Часть 3. Другие случаи.Случаи, не подходящие под предыдущие определения.Часть 4. Техники, применяющиеся для отладки Production приложений.Краткий перечень того, что нужно делать, если приходится тестировать на рабочем сервере. Пожалуйста, почитайте и покритикуйте. Ваше мнение очень интересно. Комментарии оставляйте здесь.Почитать можно здесь: http://sql-error.microbecal.com/</description>
    <content:encoded><![CDATA[Во время отпуска и по мотивам своего мастер-класса на PHPConf 2009 (<a href="http://phpconf.ru">http://phpconf.ru</a>) я написала гид для тех, кому нужно поймать ошибку в SQL приложении. Правильнее было бы назвать в MySQL приложении, но я всё-таки думаю, что общие принципы едины для всех. В идеале мне бы хотелось, чтобы текст охватывал основные случаи неправильного поведения. Оговорюсь, что под неправильным поведением я понимаю логические ошибки, а не проблемы производительности. Проблемы производительности - это отдельная тема, кстати, достаточно хорошо представленная в сети.<br /><br />Книжка состоит из 4 частей, ниже можно посмотреть краткое содержание:<br /><br /><strong>Часть 1. Одиночные запросы.</strong><div>Рассмотрены случаи, когда ошибка повторяется для одного клиента-потока.</div><strong>Часть 2. Конкурентные запросы.</strong><div>Случаи, когда ошибка повторяется только в случаях, когда несколько клиентов работают с базой одновременно.</div><strong>Часть 3. Другие случаи.</strong><div>Случаи, не подходящие под предыдущие определения.</div><strong>Часть 4. Техники, применяющиеся для отладки Production приложений.</strong><div>Краткий перечень того, что нужно делать, если приходится тестировать на рабочем сервере.</div><div> </div><br />Пожалуйста, почитайте и покритикуйте. Ваше мнение очень интересно. Комментарии оставляйте здесь.<br /><br />Почитать можно здесь: <a href="http://sql-error.microbecal.com/">http://sql-error.microbecal.com/</a><br/>PlanetMySQL Voting:
	 <a href="http://planet.mysql.com/entry/vote/?entry_id=22367&vote=1&apivote=1">Vote UP</a> /
	 <a href="http://planet.mysql.com/entry/vote/?entry_id=22367&vote=-1&apivote=1">Vote DOWN</a>]]></content:encoded>
    <pubDate>Tue, 24 Nov 2009 09:13:54 +0000</pubDate>
    <dc:creator>Sveta Smirnova</dc:creator>
    <category>mysql</category>
    <category>programming</category>
    <category>book</category>
  </item>

  <item>
    <title>Вышла MariaDB 5.1.38 Beta</title>
    <guid isPermaLink="false">http://s.petrunia.net/blog-ru/?p=80</guid>
    <link>http://s.petrunia.net/blog-ru/?p=80</link>
    <description>Вышла MariaDB 5.1.38 Beta. Формально, это уже второй релиз MariaDB, но по сути - это первая выпущенная нами бета, в которой есть все фичи, которые были запланированы на релиз и которая близка к RC. 
Полный список изменений со всеми подробностями и ссылками можно посмотреть здесь, а я тут попробую сделать небольшой обзор. Итак, у нас есть все, что есть в MySQL, но кроме этого:
Табличные движки
* InnoDB и InnoDB Plugin заменены на XtraDB - версия InnoDB plugin&amp;#8217;a от компании Percona с дополнительными патчами повышения производительности. XTraDB полностью совместима с InnoDB (до такой степени, что везде так и используется имя INNODB - по-прежнему надо писать SHOW INNODB STATUS, CREATE TABLE ... ENGINE=INNODB и так далее. 
* Включена Maria. Maria позиционируется как дальнейшее развитие и замена MyISAM. В частности, Maria уже используется вместо MyISAM для внутренних временных таблиц (которые используются при вычислении GROUP BY, DISTINCT, UNION и т.д.), и в некоторых случаях это дает ускорение. Таблицы в Maria имеют опцию TRANSACTIONAL=1, но на сегодняшний день это дает не полную транзакционность, а только устойчивость к сбоям (crash safety). Производительность в crash-safe режиме может обмануть ожидания из-за нескольких нерешенных проблем, в частности из-за отсутствия group commit&amp;#8217;а.
* Включен PBXT  - это  полностью транзакционный, удовлетворяющий критериям ACID табличный движок от компании PrimeBase. Больше написать про него ничего не могу, потому что самому поработать с ним мне пока не довелось, а конспектировать сайт PrimeBase не хочется.
Популярные патчи
Интегрированы два популярных патча от Percona:
* Расширенная статистика в Slow Query Log (microslow patch)
* SHOW FULL PROCESSLIST показывает время выполнения с точностью до микросекунды (microsec_process patch)
Родные фичи
Это то, что нами было написано (ну или дописано) и выпускается впервые:
* Поддержка Pool of Threads. Вместо традиционной модели одно соединение - один thread, сервер может обслуживать клиентов пулом рабочих thread&amp;#8217;ов фиксированного размера. Разработка этого патча была начата еще в Sun/MySQL, но выпустить мы пытаемся первые.
* Table elimination - фича оптимизатора, имеющаяся в &amp;#8220;больших&amp;#8221; СУБД. Для OUTER JOIN&amp;#8217;ов некоторых видов можно оптимизатор может догадаться, что внутренние таблицы могут быть отброшены. Более подробно я описал ее тут.
* MariaDB поддерживает до 32 компонент в индексе (в MySQL максимум - 16)
* У &amp;#8220;mysql&amp;#8221; клиента появилась опция &amp;#8211;abort-source-on-error.
* &amp;#8230; ну и куча более мелких изменений.
Поддерживаемые платформы
На текущий момент можно скачать бинарники под x86 и x64, tar-архивы и репозитарии для нескольких последних версий Ubuntu и Debian, а так же .zip для Windows, 32-битный. 
Мы сейчас работаем над сборкой для .rpm дистрибутивов - СеntOS и SuSE, и над 64-битной сборкой для Windows, а вот инсталлятор для Windows будет не скоро, так как в MySQL инсталлятор не open source и его надо заново переписывать.
 И последнее
MariaDB позиционируется как &amp;#8220;Drop-in replacement for MySQL&amp;#8221;, то есть нужно просто подсунуть ей my.ini и каталог с базой от MySQL - и все должно заработать. Пробуйте  </description>
    <content:encoded><![CDATA[<p>Вышла MariaDB 5.1.38 Beta. Формально, это уже второй релиз MariaDB, но по сути - это первая выпущенная нами бета, в которой есть все фичи, которые были запланированы на релиз и которая близка к RC. </p>
<p>Полный список изменений со всеми подробностями и ссылками можно посмотреть <a href="http://askmonty.org/wiki/index.php/Manual%3AMariaDB_5.1_Release_Notes">здесь</a>, а я тут попробую сделать небольшой обзор. Итак, у нас есть все, что есть в MySQL, но кроме этого:</p>
<h3>Табличные движки</h3>
<p>* InnoDB и InnoDB Plugin заменены на <a href="http://www.percona.com/docs/wiki/percona-xtradb%3Astart">XtraDB</a> - версия InnoDB plugin&#8217;a от компании Percona с дополнительными патчами повышения производительности. XTraDB полностью совместима с InnoDB (до такой степени, что везде так и используется имя INNODB - по-прежнему надо писать <code>SHOW INNODB STATUS</code>, <code>CREATE TABLE ... ENGINE=INNODB</code> и так далее. </p>
<p>* Включена Maria. Maria позиционируется как дальнейшее развитие и замена MyISAM. В частности, Maria уже используется вместо MyISAM для внутренних временных таблиц (которые используются при вычислении GROUP BY, DISTINCT, UNION и т.д.), и в некоторых случаях это дает ускорение. Таблицы в Maria имеют опцию TRANSACTIONAL=1, но на сегодняшний день это дает не полную транзакционность, а только устойчивость к сбоям (crash safety). Производительность в crash-safe режиме может обмануть ожидания из-за нескольких нерешенных проблем, в частности из-за отсутствия group commit&#8217;а.</p>
<p>* Включен <a href="http://askmonty.org/wiki/index.php/Manual%3APBXT_storage_engine">PBXT</a>  - это  полностью транзакционный, удовлетворяющий критериям ACID табличный движок от компании PrimeBase. Больше написать про него ничего не могу, потому что самому поработать с ним мне пока не довелось, а конспектировать сайт PrimeBase не хочется.</p>
<h3>Популярные патчи</h3>
<p>Интегрированы два популярных патча от Percona:<br />
* Расширенная статистика в Slow Query Log (microslow patch)<br />
* SHOW FULL PROCESSLIST показывает время выполнения с точностью до микросекунды (microsec_process patch)</p>
<h3>Родные фичи</h3>
<p>Это то, что нами было написано (ну или дописано) и выпускается впервые:</p>
<p>* Поддержка Pool of Threads. Вместо традиционной модели одно соединение - один thread, сервер может обслуживать клиентов пулом рабочих thread&#8217;ов фиксированного размера. Разработка этого патча была начата еще в Sun/MySQL, но выпустить мы пытаемся первые.<br />
* Table elimination - фича оптимизатора, имеющаяся в &#8220;больших&#8221; СУБД. Для OUTER JOIN&#8217;ов некоторых видов можно оптимизатор может догадаться, что внутренние таблицы могут быть отброшены. Более подробно я описал ее <a href="http://s.petrunia.net/blog/?p=58">тут</a>.<br />
* MariaDB поддерживает до 32 компонент в индексе (в MySQL максимум - 16)<br />
* У &#8220;mysql&#8221; клиента появилась опция &#8211;abort-source-on-error.<br />
* &#8230; ну и куча более мелких изменений.</p>
<h3>Поддерживаемые платформы</h3>
<p>На текущий момент можно <a href="http://askmonty.org/wiki/index.php/MariaDB%3ADownload">скачать</a> бинарники под x86 и x64, tar-архивы и репозитарии для нескольких последних версий Ubuntu и Debian, а так же .zip для Windows, 32-битный. </p>
<p>Мы сейчас работаем над сборкой для .rpm дистрибутивов - СеntOS и SuSE, и над 64-битной сборкой для Windows, а вот инсталлятор для Windows будет не скоро, так как в MySQL инсталлятор не open source и его надо заново переписывать.</p>
<h3> И последнее</h3>
<p>MariaDB позиционируется как &#8220;Drop-in replacement for MySQL&#8221;, то есть нужно просто подсунуть ей my.ini и каталог с базой от MySQL - и все должно заработать. Пробуйте <img src="http://s.petrunia.net/blog-ru/wp-includes/images/smilies/icon_smile.gif" alt=":-)" class="wp-smiley" /> </p><br/>PlanetMySQL Voting:
	 <a href="http://planet.mysql.com/entry/vote/?entry_id=22064&vote=1&apivote=1">Vote UP</a> /
	 <a href="http://planet.mysql.com/entry/vote/?entry_id=22064&vote=-1&apivote=1">Vote DOWN</a>]]></content:encoded>
    <pubDate>Tue, 03 Nov 2009 22:48:50 +0000</pubDate>
    <dc:creator>Sergey Petrunia</dc:creator>
    <category>Uncategorized</category>
  </item>

</channel>
</rss>
