<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Are you agile ? &#187; mysql</title>
	<atom:link href="http://www.areyouagile.com/category/database/mysql-database/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.areyouagile.com</link>
	<description>Nudge, Nudge, wink wink, n&#039;en dites pas plus</description>
	<lastBuildDate>Sun, 29 Jan 2012 10:46:18 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>MariaDB un nouveau MySQL</title>
		<link>http://www.areyouagile.com/2009/11/mariadb-un-nouveau-mysql/</link>
		<comments>http://www.areyouagile.com/2009/11/mariadb-un-nouveau-mysql/#comments</comments>
		<pubDate>Wed, 04 Nov 2009 10:58:46 +0000</pubDate>
		<dc:creator>pablo</dc:creator>
				<category><![CDATA[database]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[innodb]]></category>
		<category><![CDATA[maria]]></category>
		<category><![CDATA[mariadb]]></category>
		<category><![CDATA[monty]]></category>
		<category><![CDATA[myisam]]></category>
		<category><![CDATA[open database alliance]]></category>
		<category><![CDATA[opensource]]></category>

		<guid isPermaLink="false">http://www.areyouagile.com/?p=254</guid>
		<description><![CDATA[MariaDB c&#8217;est le bébé de Monty Widenius : fondateur de MySQL. C&#8217;est aussi un fork 100% compatible de MySQL. &#8220;MariaDB is a drop-in replacement of MySQL, with more features, less bugs and better performance&#8221;, peut-on lire dans le README du dossier MariaDB 5.1.38 que je viens d&#8217;extraire, rien que ça ! MariaDB est un fork [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft" style="margin: 5px;" title="MariaDB" src="http://www.areyouagile.com/media/image/mariadb.png" alt="" width="189" height="183" /></p>
<p>MariaDB c&#8217;est le bébé de <a href="http://monty-says.blogspot.com/" target="_blank">Monty Widenius</a> : fondateur de MySQL. C&#8217;est aussi un <a href="http://fr.wikipedia.org/wiki/Fork" target="_blank">fork</a> 100% compatible de MySQL.</p>
<p>&#8220;MariaDB is a drop-in replacement of MySQL, with more features, less bugs and better performance&#8221;, peut-on lire dans le README du dossier <a href="http://askmonty.org/wiki/index.php/MariaDB" target="_blank">MariaDB</a> 5.1.38 que je viens d&#8217;extraire, rien que ça ! MariaDB est un fork officiel de MySQL par l&#8217;un de ses fondateurs.Les différences entre MariaDB et MySQL sont listées <a href="http://askmonty.org/wiki/index.php/MariaDB_versus_MySQL" target="_blank">ici</a>. MariaDB est entièrement compatible MySQL, d&#8217;ailleurs toutes la documentation d&#8217;installation de MySQL est compatible (pour dire le démon se lance avec libexec/mysqld&#8230;bref C&#8217;EST MySQL). Essayons ! Je télécharge les sources, je compile. je déploie, je copie ma conf mysql, je fais les changements qui vont bien, je lance le mysql_install_db&#8230;</p>
<pre>/opt/mariadb5138$ sudo bin/mysql_install_db --defaults-file=/opt/mariadb5138/my.cnf
Installing MariaDB/MySQL system tables...
OK [...]</pre>
<p>Et je me retrouve avec :</p>
<pre>/opt/mariadb5138$ sudo ls data/
maria_log.00000001  maria_log_control  mysql  test</pre>
<p>J&#8217;ai toute une petite série d&#8217;exécutables MariaDB : maria_chk, maria_dump_log, maria_ftdump, maria_pack, maria_readlog : le moteur de stockage mariadb est sensé être crashproof, contrairement à MyISAM, et à l&#8217;instar de InnoDB. Bref je lance le biniou (c&#8217;est moi qui ai placé le démon sur le port 3308, et changé la socket).</p>
<pre>/opt/mariadb5138$ sudo libexec/mysqld --defaults-file=/opt/mariadb5138/my.cnf --user=mysql
091103 16:23:22 [Note] Event Scheduler: Loaded 0 events
091103 16:23:22 [Note] libexec/mysqld: ready for connections.
Version: '5.1.38-maria-beta'  socket: '/tmp/mariadb.sock'  port: 3308  Source distribution</pre>
<p>J&#8217;ai plus qu&#8217;à dumper mes données mysql vers mariadb(on va essayer une base eZ 4.2.0) (j&#8217;ai pris soin de placer comme moteur de stockage par défaut &#8220;maria&#8221;, sinon je vais devoir faire des <em>alter table</em> en pagaille)</p>
<pre>mysqldump -u*** -p*** ez420 | mysql -u*** -p*** -S/tmp/mariadb.sock ez420

mysql&gt; show table status like "ezcontentobject"\G
*************************** 1. row ***************************
 Name: ezcontentobject
 Engine: MARIA
 Version: 10
 Row_format: Page
 [...]</pre>
<p>Ah je vois que j&#8217;ai un format Page (qui n&#8217;existe pas avec MyISAM).  Je note que l&#8217;on peut dans processlist analyser les temps des requêtes à la milliseconde prêt (ce que l&#8217;on peut faire avec MySQL Proxy, mais pas le mysql &#8220;de base&#8221;), je note que l&#8217;on a une analyse étendue des logs des &#8220;slow query&#8221;. Et pas mal d&#8217;améliorations côté performance. Je vois cela <a href="http://askmonty.org/wiki/index.php/Manual:Contents" target="_blank">là</a>.</p>
<p>Et je vois pas mal de variables associées au moteur de stockage :</p>
<pre>mysql&gt; show variables like "%maria%";
+-------------------------------------------+---------------------+
| Variable_name                             | Value               |
+-------------------------------------------+---------------------+
| maria_block_size                          | 8192                |
| maria_checkpoint_interval                 | 30                  |
| maria_force_start_after_recovery_failures | 0                   |
| maria_log_file_size                       | 1073741824          |
| maria_log_purge_type                      | immediate           |
| maria_max_sort_file_size                  | 9223372036853727232 |
| maria_page_checksum                       | ON                  |
| maria_pagecache_age_threshold             | 300                 |
| maria_pagecache_buffer_size               | 8384512             |
| maria_pagecache_division_limit            | 100                 |
| maria_recover                             | OFF                 |
| maria_repair_threads                      | 1                   |
| maria_sort_buffer_size                    | 8388608             |
| maria_stats_method                        | nulls_unequal       |
| maria_sync_log_dir                        | NEWFILE             |
| maria_used_for_temp_tables                | ON                  |
+-------------------------------------------+---------------------+</pre>
<p>Si je fais un<em> show create</em> sur l&#8217;une de mes tables je vois ce paramètre (nouveau) : PAGE_CHECKSUM=1. Il me dit que cela accroit la sécurité autour de l&#8217;intégrité de mes données. Mais je dois aussi ajouter l&#8217;option TRANSACTIONAL pour rendre la table &#8220;crash safe&#8221; (rien à voir avec les transactions, en fait il <em>journalise</em> dans des logs). donc :</p>
<pre>mysql&gt; alter table ezcontentobject transactional=1;</pre>
<p>Après tout cela mon site test ez420 fonctionne très bien. Le driver php_mysql continue à marcher as usual. Si j&#8217;essaye le module mysqli(mproved) ça marche aussi normalement. Bref je peux effectivement faire le remplacement tel quel de MyISAM par MariaDB (oui je sais des petits malins me diront que eZPublish nécessite un moteur InnoDB pour ses fonctionnalités transactionnels et ils auront raison. C&#8217;est juste un test sur la première base qui me tombe sous la main).</p>
<p>Tout ceci est très prometteur. Attention pour l&#8217;instant mariadb n&#8217;est pas un moteur transactionnel, mais, pas bête, la distribution MariaDB intègre <a href="http://www.percona.com/docs/wiki/percona-xtradb:start" target="_blank">XtraDB</a> : la version Fork de InnoDB proposé par les excellentissimes Percona. <img class="alignright" style="margin: 5px;" title="XtraDB de Percona" src="http://www.areyouagile.com/media/image/percona-xtradb.png" alt="" width="115" height="115" /></p>
<p>l&#8217;<a href="http://odba.org/" target="_blank">Open Database Alliance</a>, qui est saluée par la communauté opensource, oeuvre manifestement pour soutenir MariaDB. C&#8217;est aussi une vraie réponse au risque que fait planer Oracle sur MySQL. La communauté autour de MariaDB semble assez dynamique et surtout grossir. Monty Widenius interviendra ce 12/13 novembre au Forum PHP Paris 2009 (AFUP).</p>
<p>Encore plein de questions, mais je n&#8217;hésiterai pas d&#8217;ores et déjà à recommander son utilisation.</p>
<div class="wp-caption aligncenter" style="width: 506px"><img title="Open Database Alliance" src="http://www.areyouagile.com/media/image/odba_logo.png" alt="Nest ce pas un dauphin qui plonge que je vois là ? " width="496" height="167" /><p class="wp-caption-text">N&#39;est ce pas un dauphin qui plonge que je vois là ? </p></div>
]]></content:encoded>
			<wfw:commentRss>http://www.areyouagile.com/2009/11/mariadb-un-nouveau-mysql/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

