<?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>Xaprb &#187; replication</title>
	<atom:link href="http://www.xaprb.com/blog/tag/replication/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.xaprb.com/blog</link>
	<description>Stay curious!</description>
	<lastBuildDate>Thu, 09 Feb 2012 03:58:56 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Blackhole tables and auto-increment keys</title>
		<link>http://www.xaprb.com/blog/2011/10/19/blackhole-tables-and-auto-increment-keys/</link>
		<comments>http://www.xaprb.com/blog/2011/10/19/blackhole-tables-and-auto-increment-keys/#comments</comments>
		<pubDate>Wed, 19 Oct 2011 21:41:32 +0000</pubDate>
		<dc:creator>Xaprb</dc:creator>
				<category><![CDATA[SQL]]></category>
		<category><![CDATA[Blackhole]]></category>
		<category><![CDATA[Galera]]></category>
		<category><![CDATA[replication]]></category>

		<guid isPermaLink="false">http://www.xaprb.com/blog/?p=2516</guid>
		<description><![CDATA[Blackhole tables are often used on a so-called &#8220;relay slave&#8221; where some operation needs to happen but no data needs to exist. This used to have a bug that prevented AUTO_INCREMENT columns from propagating the right values through replication, but that was fixed. It turns out there&#8217;s another bug, though, that has the same effect. [...]


<strong>Further Reading:</strong><ul><li><a href='http://www.xaprb.com/blog/2006/05/10/when-to-avoid-and-when-to-use-surrogate-keys-in-innodb-tables/' rel='bookmark' title='Permanent Link: When to use surrogate keys in InnoDB tables'>When to use surrogate keys in InnoDB tables</a></li>
<li><a href='http://www.xaprb.com/blog/2006/04/20/sequences-and-surrogate-keys-in-generic-sql/' rel='bookmark' title='Permanent Link: How to generate sequences and surrogate keys in generic SQL'>How to generate sequences and surrogate keys in generic SQL</a></li>
<li><a href='http://www.xaprb.com/blog/2007/05/11/how-to-eliminate-temporary-tables-in-mysql/' rel='bookmark' title='Permanent Link: How to eliminate temporary tables in MySQL'>How to eliminate temporary tables in MySQL</a></li>
<li><a href='http://www.xaprb.com/blog/2007/03/05/an-algorithm-to-find-and-resolve-data-differences-between-mysql-tables/' rel='bookmark' title='Permanent Link: An algorithm to find and resolve data differences between MySQL tables'>An algorithm to find and resolve data differences between MySQL tables</a></li>
<li><a href='http://www.xaprb.com/blog/2009/10/29/making-changes-to-many-tables-at-once/' rel='bookmark' title='Permanent Link: Making changes to many tables at once'>Making changes to many tables at once</a></li>
</ul>]]></description>
			<content:encoded><![CDATA[<p>Blackhole tables are often used on a so-called &#8220;relay slave&#8221; where some operation needs to happen but no data needs to exist. This used to have <a href="http://bugs.mysql.com/bug.php?id=35178">a bug</a> that prevented AUTO_INCREMENT columns from propagating the right values through replication, but that was fixed. It turns out there&#8217;s <a href="http://bugs.mysql.com/bug.php?id=62829">another bug</a>, though, that has the same effect. This one is caused when there is an INSERT into a Blackhole table, where the source data is SELECT-ed from another Blackhole table.</p>

<p>I think it&#8217;s wise to keep it simple. MySQL has tons of cool little features that theoretically suit edge-case uses and make ninja tricks possible, but I really trust the core plain-Jane functionality so much more than these edge-case features. That&#8217;s precisely because they often have some edge-case bugs, especially with replication.</p>

<p>Something that&#8217;s new to MySQL recently is Galera replication. The more I think about it, the more I think it&#8217;s fundamentally the right way to replicate. Statement-based replication was brittle; row-based is less so, but still has all kinds of gotchas. The real problem with both is that they are built into the server, not the storage engine. Engine-level replication is the way to go. PBXT has had engine-level replication for a while, although I&#8217;ve never used PBXT in production (and kudos to PostgreSQL for adding built-in replication, too). I used to want InnoDB to do replication via streaming the redo logs and applying them, but that actually has a lot of limitations.  Galera is InnoDB&#8217;s answer to engine-level replication. I think Galera holds a lot of promise for the future.</p>

<p><strong>Further Reading:</strong><ul><li><a href='http://www.xaprb.com/blog/2006/05/10/when-to-avoid-and-when-to-use-surrogate-keys-in-innodb-tables/' rel='bookmark' title='Permanent Link: When to use surrogate keys in InnoDB tables'>When to use surrogate keys in InnoDB tables</a></li>
<li><a href='http://www.xaprb.com/blog/2006/04/20/sequences-and-surrogate-keys-in-generic-sql/' rel='bookmark' title='Permanent Link: How to generate sequences and surrogate keys in generic SQL'>How to generate sequences and surrogate keys in generic SQL</a></li>
<li><a href='http://www.xaprb.com/blog/2007/05/11/how-to-eliminate-temporary-tables-in-mysql/' rel='bookmark' title='Permanent Link: How to eliminate temporary tables in MySQL'>How to eliminate temporary tables in MySQL</a></li>
<li><a href='http://www.xaprb.com/blog/2007/03/05/an-algorithm-to-find-and-resolve-data-differences-between-mysql-tables/' rel='bookmark' title='Permanent Link: An algorithm to find and resolve data differences between MySQL tables'>An algorithm to find and resolve data differences between MySQL tables</a></li>
<li><a href='http://www.xaprb.com/blog/2009/10/29/making-changes-to-many-tables-at-once/' rel='bookmark' title='Permanent Link: Making changes to many tables at once'>Making changes to many tables at once</a></li>
</ul>]]></content:encoded>
			<wfw:commentRss>http://www.xaprb.com/blog/2011/10/19/blackhole-tables-and-auto-increment-keys/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Observations on key-value databases</title>
		<link>http://www.xaprb.com/blog/2009/09/20/observations-on-key-value-databases/</link>
		<comments>http://www.xaprb.com/blog/2009/09/20/observations-on-key-value-databases/#comments</comments>
		<pubDate>Sun, 20 Sep 2009 18:57:01 +0000</pubDate>
		<dc:creator>Xaprb</dc:creator>
				<category><![CDATA[SQL]]></category>
		<category><![CDATA[cassandra]]></category>
		<category><![CDATA[distributed]]></category>
		<category><![CDATA[key value]]></category>
		<category><![CDATA[Keyspace]]></category>
		<category><![CDATA[memcached]]></category>
		<category><![CDATA[NoSQL]]></category>
		<category><![CDATA[redis]]></category>
		<category><![CDATA[replication]]></category>
		<category><![CDATA[synchronous]]></category>
		<category><![CDATA[Tokyo Cabinet]]></category>
		<category><![CDATA[Tokyo Tyrant]]></category>

		<guid isPermaLink="false">http://www.xaprb.com/blog/?p=1292</guid>
		<description><![CDATA[Key-value databases are catching fire these days. Memcached, Redis, Cassandra, Keyspace, Tokyo Tyrant, and a handful of others are surging in popularity, judging by the contents of my feed reader. I find a number of things interesting about these tools. There are many more of them than open-source traditional relational databases. (edit: I mean that [...]


<strong>Further Reading:</strong><ul><li><a href='http://www.xaprb.com/blog/2010/06/12/postmodern-databases/' rel='bookmark' title='Permanent Link: Postmodern databases'>Postmodern databases</a></li>
<li><a href='http://www.xaprb.com/blog/2010/04/26/why-high-availability-is-hard-with-databases/' rel='bookmark' title='Permanent Link: Why high-availability is hard with databases'>Why high-availability is hard with databases</a></li>
<li><a href='http://www.xaprb.com/blog/2009/07/25/analyze-and-optimize-memcached-usage-with-maatkit/' rel='bookmark' title='Permanent Link: Analyze and optimize memcached usage with Maatkit'>Analyze and optimize memcached usage with Maatkit</a></li>
<li><a href='http://www.xaprb.com/blog/2010/03/08/nosql-doesnt-mean-non-relational/' rel='bookmark' title='Permanent Link: NoSQL doesn&#8217;t mean non-relational'>NoSQL doesn&#8217;t mean non-relational</a></li>
<li><a href='http://www.xaprb.com/blog/2008/04/19/mysql-conference-and-expo-2008-day-three/' rel='bookmark' title='Permanent Link: MySQL Conference and Expo 2008, Day Three'>MySQL Conference and Expo 2008, Day Three</a></li>
</ul>]]></description>
			<content:encoded><![CDATA[<p>Key-value databases are catching fire these days.  Memcached, Redis, Cassandra, Keyspace, Tokyo Tyrant, and a handful of others are surging in popularity, judging by the contents of my feed reader.</p>

<p>I find a number of things interesting about these tools.</p>

<ul>
<li>There are many more of them than open-source traditional relational databases. (edit: I mean that there are many options that all seem similar to each other, instead of 3 or 4 standing out as the giants.)</li>
<li>It seems that a lot of people are simultaneously inventing solutions to their problems in private without being aware of each other, then open-sourcing the results.  That points to a sudden sea change in architectures.  Tipping points tend to be abrupt, which would explain isolated redundant development.</li>
<li>Many of the products are feature-rich with things programmers need: diverse language bindings, APIs, embeddability, and the ability to speak familiar protocols such as memcached protocol.</li>
<li>I think there are more solutions here than the ecosystem will support, and in five years a few will stand out as the most popular.</li>
<li>This process of paring down the gene pool is win-win because they&#8217;re open-source, and nothing will be lost.</li>
<li>Choosing which one to use is no easy task even for a highly skilled, technical, up-to-date person.  Perhaps the decision-makers will choose on the availability of commercial support and consulting.</li>
<li>Many of them offer built-in, dead-simple, distributed, synchronous replication.  This is very difficult to achieve with traditional relational databases.  What makes key-value databases different? They don&#8217;t have MVCC, for one thing; but I&#8217;m not sure of the complete answer to that question, to tell the truth.</li>
</ul>

<p>We live in interesting times.</p>

<p><strong>Further Reading:</strong><ul><li><a href='http://www.xaprb.com/blog/2010/06/12/postmodern-databases/' rel='bookmark' title='Permanent Link: Postmodern databases'>Postmodern databases</a></li>
<li><a href='http://www.xaprb.com/blog/2010/04/26/why-high-availability-is-hard-with-databases/' rel='bookmark' title='Permanent Link: Why high-availability is hard with databases'>Why high-availability is hard with databases</a></li>
<li><a href='http://www.xaprb.com/blog/2009/07/25/analyze-and-optimize-memcached-usage-with-maatkit/' rel='bookmark' title='Permanent Link: Analyze and optimize memcached usage with Maatkit'>Analyze and optimize memcached usage with Maatkit</a></li>
<li><a href='http://www.xaprb.com/blog/2010/03/08/nosql-doesnt-mean-non-relational/' rel='bookmark' title='Permanent Link: NoSQL doesn&#8217;t mean non-relational'>NoSQL doesn&#8217;t mean non-relational</a></li>
<li><a href='http://www.xaprb.com/blog/2008/04/19/mysql-conference-and-expo-2008-day-three/' rel='bookmark' title='Permanent Link: MySQL Conference and Expo 2008, Day Three'>MySQL Conference and Expo 2008, Day Three</a></li>
</ul>]]></content:encoded>
			<wfw:commentRss>http://www.xaprb.com/blog/2009/09/20/observations-on-key-value-databases/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Failure scenarios and solutions in master-master replication</title>
		<link>http://www.xaprb.com/blog/2009/08/30/failure-scenarios-and-solutions-in-master-master-replication/</link>
		<comments>http://www.xaprb.com/blog/2009/08/30/failure-scenarios-and-solutions-in-master-master-replication/#comments</comments>
		<pubDate>Sun, 30 Aug 2009 19:08:20 +0000</pubDate>
		<dc:creator>Xaprb</dc:creator>
				<category><![CDATA[SQL]]></category>
		<category><![CDATA[clustering]]></category>
		<category><![CDATA[failover]]></category>
		<category><![CDATA[fencing]]></category>
		<category><![CDATA[MMM]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[replication]]></category>
		<category><![CDATA[STONITH]]></category>

		<guid isPermaLink="false">http://www.xaprb.com/blog/?p=1263</guid>
		<description><![CDATA[I&#8217;ve been thinking recently about the failure scenarios of MySQL replication clusters, such as master-master pairs or master-master-with-slaves. There are a few tools that are designed to help manage failover and load balancing in such clusters, by moving virtual IP addresses around. The ones I&#8217;m familiar with don&#8217;t always do the right thing when an [...]


<strong>Further Reading:</strong><ul><li><a href='http://www.xaprb.com/blog/2008/02/29/how-to-sync-tables-in-master-master-mysql-replication/' rel='bookmark' title='Permanent Link: How to sync tables in master-master MySQL replication'>How to sync tables in master-master MySQL replication</a></li>
<li><a href='http://www.xaprb.com/blog/2008/08/06/how-to-scale-writes-with-master-master-replication-in-mysql/' rel='bookmark' title='Permanent Link: How to scale writes with master-master replication in MySQL'>How to scale writes with master-master replication in MySQL</a></li>
<li><a href='http://www.xaprb.com/blog/2007/04/07/how-to-know-if-a-mysql-slave-is-identical-to-its-master/' rel='bookmark' title='Permanent Link: How to know if a MySQL slave is identical to its master'>How to know if a MySQL slave is identical to its master</a></li>
<li><a href='http://www.xaprb.com/blog/2009/12/13/review-pentaho-solutions-bouman-dongen/' rel='bookmark' title='Permanent Link: A review of Pentaho Solutions by Roland Bouman and Jos van Dongen'>A review of Pentaho Solutions by Roland Bouman and Jos van Dongen</a></li>
<li><a href='http://www.xaprb.com/blog/2007/11/08/how-mysql-replication-got-out-of-sync/' rel='bookmark' title='Permanent Link: How MySQL replication got out of sync'>How MySQL replication got out of sync</a></li>
</ul>]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been thinking recently about the failure scenarios of MySQL replication clusters, such as master-master pairs or master-master-with-slaves.  There are a few tools that are designed to help manage failover and load balancing in such clusters, by moving virtual IP addresses around.  The ones I&#8217;m familiar with don&#8217;t always do the right thing when an irregularity is detected.  I&#8217;ve been debating what the best way to do replication clustering with automatic failover really is.</p>

<p>I&#8217;d like to hear your thoughts on the following question: what types of scenarios require what kind of response from such a tool?</p>

<p>I can think of a number of failures.  Let me give just a few simple examples in a master-master pair:</p>

<dl>
<dt>Problem: Query overload on the writable master makes mysqld unresponsive</dt>
<dd>Do nothing.  Moving the queries to another server will cause cascading failures.</dd>
<dt>Problem: The writable master is completely unreachable</dt>
<dd>Fence the writable master and promote the standby master.</dd>
<dt>Problem: The writable master is reachable but unresponsive due to overload-induced swapping</dt>
<dd>Do nothing.  Moving the load to another server will cause cascading failures.</dd>
</dl>

<p>I don&#8217;t want to bias the jury, so I&#8217;ll stop there and ask you to contribute your failure scenarios and what you think the correct action should be.</p>

<p><strong>Further Reading:</strong><ul><li><a href='http://www.xaprb.com/blog/2008/02/29/how-to-sync-tables-in-master-master-mysql-replication/' rel='bookmark' title='Permanent Link: How to sync tables in master-master MySQL replication'>How to sync tables in master-master MySQL replication</a></li>
<li><a href='http://www.xaprb.com/blog/2008/08/06/how-to-scale-writes-with-master-master-replication-in-mysql/' rel='bookmark' title='Permanent Link: How to scale writes with master-master replication in MySQL'>How to scale writes with master-master replication in MySQL</a></li>
<li><a href='http://www.xaprb.com/blog/2007/04/07/how-to-know-if-a-mysql-slave-is-identical-to-its-master/' rel='bookmark' title='Permanent Link: How to know if a MySQL slave is identical to its master'>How to know if a MySQL slave is identical to its master</a></li>
<li><a href='http://www.xaprb.com/blog/2009/12/13/review-pentaho-solutions-bouman-dongen/' rel='bookmark' title='Permanent Link: A review of Pentaho Solutions by Roland Bouman and Jos van Dongen'>A review of Pentaho Solutions by Roland Bouman and Jos van Dongen</a></li>
<li><a href='http://www.xaprb.com/blog/2007/11/08/how-mysql-replication-got-out-of-sync/' rel='bookmark' title='Permanent Link: How MySQL replication got out of sync'>How MySQL replication got out of sync</a></li>
</ul>]]></content:encoded>
			<wfw:commentRss>http://www.xaprb.com/blog/2009/08/30/failure-scenarios-and-solutions-in-master-master-replication/feed/</wfw:commentRss>
		<slash:comments>27</slash:comments>
		</item>
		<item>
		<title>Don&#8217;t forget about SHOW PROFILES</title>
		<link>http://www.xaprb.com/blog/2009/05/31/dont-forget-about-show-profiles/</link>
		<comments>http://www.xaprb.com/blog/2009/05/31/dont-forget-about-show-profiles/#comments</comments>
		<pubDate>Sun, 31 May 2009 19:24:54 +0000</pubDate>
		<dc:creator>Xaprb</dc:creator>
				<category><![CDATA[SQL]]></category>
		<category><![CDATA[Jeremy Cole]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[replication]]></category>

		<guid isPermaLink="false">http://www.xaprb.com/blog/?p=1012</guid>
		<description><![CDATA[It seems that a lot of people want to try to improve MySQL performance by focusing on server status counters and configuration variables. Looking at counters, and &#8220;tuning the server,&#8221; is better than nothing, but only barely. You care first and foremost about how long it takes to execute a query, not about how many [...]


<strong>Further Reading:</strong><ul><li><a href='http://www.xaprb.com/blog/2007/12/21/how-i-patched-innodb-to-show-locks-held/' rel='bookmark' title='Permanent Link: How I patched InnoDB to show locks held'>How I patched InnoDB to show locks held</a></li>
<li><a href='http://www.xaprb.com/blog/2006/09/19/show-column-types-a-hidden-mysql-treat/' rel='bookmark' title='Permanent Link: SHOW COLUMN TYPES: A hidden MySQL treat?'>SHOW COLUMN TYPES: A hidden MySQL treat?</a></li>
<li><a href='http://www.xaprb.com/blog/2007/03/19/mysql-toolkits-show-grants-tool-091-released/' rel='bookmark' title='Permanent Link: MySQL Toolkit&#8217;s Show Grants tool 0.9.1 released'>MySQL Toolkit&#8217;s Show Grants tool 0.9.1 released</a></li>
<li><a href='http://www.xaprb.com/blog/2007/03/17/introducing-mysql-show-grants/' rel='bookmark' title='Permanent Link: Introducing MySQL Toolkit&#8217;s Show Grants tool'>Introducing MySQL Toolkit&#8217;s Show Grants tool</a></li>
<li><a href='http://www.xaprb.com/blog/2010/04/20/breaking-news-show-innodb-status-ported-to-xml/' rel='bookmark' title='Permanent Link: Breaking news: SHOW INNODB STATUS ported to XML'>Breaking news: SHOW INNODB STATUS ported to XML</a></li>
</ul>]]></description>
			<content:encoded><![CDATA[<p>It seems that a lot of people want to try to improve MySQL performance by focusing on server status counters and configuration variables.  Looking at counters, and &#8220;tuning the server,&#8221; is better than nothing, but only barely.  You care first and foremost about <strong>how long it takes to execute a query</strong>, not about how many of this-and-that the server performs or about how big or small this-and-that buffer is.  What you really need is timing information.</p>

<p>You can use the slow query log to find timing information about queries, and then you can examine those queries with SHOW PROFILES to see the timing information about the query&#8217;s execution itself.</p>

<p>This concept is very simple and absolutely fundamental: if you care about time (and you do!), then measure and optimize time.  But it&#8217;s so often overlooked or misunderstood.</p>

<p>The addition of SHOW PROFILES was a major step forward in the ability to optimize server and application performance.  (Thanks Jeremy Cole!) As time passes and people upgrade their servers, it&#8217;s becoming more common to see it in production, which is an enormous help.  Now that the differences between the Community and Enterprise versions of the server have been erased, it will be available in all future server versions, which is great news.</p>

<p><strong>Further Reading:</strong><ul><li><a href='http://www.xaprb.com/blog/2007/12/21/how-i-patched-innodb-to-show-locks-held/' rel='bookmark' title='Permanent Link: How I patched InnoDB to show locks held'>How I patched InnoDB to show locks held</a></li>
<li><a href='http://www.xaprb.com/blog/2006/09/19/show-column-types-a-hidden-mysql-treat/' rel='bookmark' title='Permanent Link: SHOW COLUMN TYPES: A hidden MySQL treat?'>SHOW COLUMN TYPES: A hidden MySQL treat?</a></li>
<li><a href='http://www.xaprb.com/blog/2007/03/19/mysql-toolkits-show-grants-tool-091-released/' rel='bookmark' title='Permanent Link: MySQL Toolkit&#8217;s Show Grants tool 0.9.1 released'>MySQL Toolkit&#8217;s Show Grants tool 0.9.1 released</a></li>
<li><a href='http://www.xaprb.com/blog/2007/03/17/introducing-mysql-show-grants/' rel='bookmark' title='Permanent Link: Introducing MySQL Toolkit&#8217;s Show Grants tool'>Introducing MySQL Toolkit&#8217;s Show Grants tool</a></li>
<li><a href='http://www.xaprb.com/blog/2010/04/20/breaking-news-show-innodb-status-ported-to-xml/' rel='bookmark' title='Permanent Link: Breaking news: SHOW INNODB STATUS ported to XML'>Breaking news: SHOW INNODB STATUS ported to XML</a></li>
</ul>]]></content:encoded>
			<wfw:commentRss>http://www.xaprb.com/blog/2009/05/31/dont-forget-about-show-profiles/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>MySQL replication breaks single-threaded limitation?</title>
		<link>http://www.xaprb.com/blog/2009/04/17/mysql-replication-breaks-single-threaded-limitation/</link>
		<comments>http://www.xaprb.com/blog/2009/04/17/mysql-replication-breaks-single-threaded-limitation/#comments</comments>
		<pubDate>Fri, 17 Apr 2009 16:59:59 +0000</pubDate>
		<dc:creator>Xaprb</dc:creator>
				<category><![CDATA[SQL]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[replication]]></category>

		<guid isPermaLink="false">http://www.xaprb.com/blog/?p=1003</guid>
		<description><![CDATA[It&#8217;s a feature preview with many limitations, but this is still good news. This has been a pretty severe performance limitation for replication in MySQL, which has prompted many a workaround. Interestingly, the feature preview is based on MySQL 5.1, which has recently seemed to be getting some significant changes even though it&#8217;s a GA [...]


<strong>Further Reading:</strong><ul><li><a href='http://www.xaprb.com/blog/2010/04/10/brian-aker-20gb-doesnt-fit-on-a-single-server/' rel='bookmark' title='Permanent Link: Brian Aker: 20GB doesn&#8217;t fit on a single server'>Brian Aker: 20GB doesn&#8217;t fit on a single server</a></li>
<li><a href='http://www.xaprb.com/blog/2007/11/08/how-mysql-replication-got-out-of-sync/' rel='bookmark' title='Permanent Link: How MySQL replication got out of sync'>How MySQL replication got out of sync</a></li>
<li><a href='http://www.xaprb.com/blog/2008/10/04/how-to-check-mysql-replication-integrity-continually/' rel='bookmark' title='Permanent Link: How to check MySQL replication integrity continually'>How to check MySQL replication integrity continually</a></li>
<li><a href='http://www.xaprb.com/blog/2008/01/13/speed-up-your-mysql-replication-slaves/' rel='bookmark' title='Permanent Link: Speed up your MySQL replication slaves'>Speed up your MySQL replication slaves</a></li>
<li><a href='http://www.xaprb.com/blog/2010/09/04/why-mysql-replication-is-better-than-mysqlbinlog-for-recovery/' rel='bookmark' title='Permanent Link: Why MySQL replication is better than mysqlbinlog for recovery'>Why MySQL replication is better than mysqlbinlog for recovery</a></li>
</ul>]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s a feature preview with many limitations, but <a href="http://larsthalmann.blogspot.com/2009/04/feature-preview-multi-threaded-slave.html">this is still good news</a>.  This has been a pretty severe performance limitation for replication in MySQL, which has prompted many a <a href="http://www.maatkit.org/doc/mk-slave-prefetch.html">workaround</a>.</p>

<p>Interestingly, the feature preview is based on MySQL 5.1, which has recently seemed to be getting some <a href="http://www.mysqlperformanceblog.com/2009/04/06/mysql-and-ibm/">significant</a> <a href="http://s.petrunia.net/blog/?p=52">changes</a> even though it&#8217;s a GA release.  Does this signal a change to MySQL&#8217;s release cycle, which has sometimes been characterized as too long?  More good news?</p>

<p><strong>Further Reading:</strong><ul><li><a href='http://www.xaprb.com/blog/2010/04/10/brian-aker-20gb-doesnt-fit-on-a-single-server/' rel='bookmark' title='Permanent Link: Brian Aker: 20GB doesn&#8217;t fit on a single server'>Brian Aker: 20GB doesn&#8217;t fit on a single server</a></li>
<li><a href='http://www.xaprb.com/blog/2007/11/08/how-mysql-replication-got-out-of-sync/' rel='bookmark' title='Permanent Link: How MySQL replication got out of sync'>How MySQL replication got out of sync</a></li>
<li><a href='http://www.xaprb.com/blog/2008/10/04/how-to-check-mysql-replication-integrity-continually/' rel='bookmark' title='Permanent Link: How to check MySQL replication integrity continually'>How to check MySQL replication integrity continually</a></li>
<li><a href='http://www.xaprb.com/blog/2008/01/13/speed-up-your-mysql-replication-slaves/' rel='bookmark' title='Permanent Link: Speed up your MySQL replication slaves'>Speed up your MySQL replication slaves</a></li>
<li><a href='http://www.xaprb.com/blog/2010/09/04/why-mysql-replication-is-better-than-mysqlbinlog-for-recovery/' rel='bookmark' title='Permanent Link: Why MySQL replication is better than mysqlbinlog for recovery'>Why MySQL replication is better than mysqlbinlog for recovery</a></li>
</ul>]]></content:encoded>
			<wfw:commentRss>http://www.xaprb.com/blog/2009/04/17/mysql-replication-breaks-single-threaded-limitation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

