<?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>Un bout de DBA &#187; Maatkit</title>
	<atom:link href="http://www.noidea.ca/tag/maatkit/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.noidea.ca</link>
	<description>MySQL, En long et en large</description>
	<lastBuildDate>Tue, 09 Feb 2010 13:54:47 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>L&#8217;importance des clés primaires avec mk-table-sync</title>
		<link>http://www.noidea.ca/2010/01/26/limportance-des-cles-primaires-avec-mk-table-sync/</link>
		<comments>http://www.noidea.ca/2010/01/26/limportance-des-cles-primaires-avec-mk-table-sync/#comments</comments>
		<pubDate>Wed, 27 Jan 2010 01:59:11 +0000</pubDate>
		<dc:creator>PaT</dc:creator>
				<category><![CDATA[Outils]]></category>
		<category><![CDATA[Réplication]]></category>
		<category><![CDATA[Tranche de vie]]></category>
		<category><![CDATA[Maatkit]]></category>

		<guid isPermaLink="false">http://www.noidea.ca/?p=404</guid>
		<description><![CDATA[J&#8217;adore Maatkit. Je m&#8217;en sers régulièrement dans toutes sortes d&#8217;occasions. Pour tous les Slaves que je configure, j&#8217;ajoute un petit script maison qui utilise mk-table-sync afin valider l&#8217;intégrité des données sur le Slave avec le Master. Ce petit script envoie un email avec les différences et les requêtes à exécuter le cas échéant.
J&#8217;ai remarqué que [...]]]></description>
			<content:encoded><![CDATA[<p>J&#8217;adore <a title="Maatkit" href="http://www.maatkit.org/">Maatkit</a>. Je m&#8217;en sers régulièrement dans toutes sortes d&#8217;occasions. Pour tous les Slaves que je configure, j&#8217;ajoute un petit script maison qui utilise mk-table-sync afin valider l&#8217;intégrité des données sur le Slave avec le Master. Ce petit script envoie un email avec les différences et les requêtes à exécuter le cas échéant.</p>
<p>J&#8217;ai remarqué que mk-table-sync possède certaines limitations, c&#8217;est-à-dire que le format de la table et l&#8217;encoding joue un rôle important sur la manière dont l&#8217;outil effectue ses comparaisons. Les tables sans clé primaire ou d&#8217;identifiant unique sont particulièrement problématiques, et c&#8217;est tout à fait compréhensible. Par définition, s&#8217;il n&#8217;y a pas d&#8217;identifiant unique, il est impossible d&#8217;être 100% sur que l&#8217;enregistrement #1 sur le Master correspond à l&#8217;enregistrement #1 sur le Slave. En étant limité à ce niveau, mk-table-sync  préfère &#8220;croire&#8221; que l&#8217;ensemble des données sur le Slave sont erronés et propose des requêtes pour supprimer et réinsérer tous les enregistrements de la table.</p>
<p>Bien que je m&#8217;assure que toutes les tables possèdent des clés primaires lors de leur création, il m&#8217;est arrivé de me faire avoir. Le statement CREATE TABLE tableName SELECT * FROM tableName2 WHERE &#8230;. ; crée une table SANS index! Du coup, mon petit script s&#8217;est mis à envoyer des emails de 17Mo de requêtes SQL, ce que Thunderbird digère très mal <img src='http://www.noidea.ca/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>La leçon est: si vous utilisez mk-table-sync, assurez-vous de TOUJOURS avoir un identifiant unique sur vos tables!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.noidea.ca/2010/01/26/limportance-des-cles-primaires-avec-mk-table-sync/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
