<?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; clustering</title>
	<atom:link href="http://www.xaprb.com/blog/tag/clustering/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>Josh Berkus helps clarify clustering</title>
		<link>http://www.xaprb.com/blog/2009/11/21/josh-berkus-helps-clarify-clustering/</link>
		<comments>http://www.xaprb.com/blog/2009/11/21/josh-berkus-helps-clarify-clustering/#comments</comments>
		<pubDate>Sat, 21 Nov 2009 13:57:51 +0000</pubDate>
		<dc:creator>Xaprb</dc:creator>
				<category><![CDATA[PostgreSQL]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[clustering]]></category>
		<category><![CDATA[Josh Berkus]]></category>
		<category><![CDATA[MySQL Cluster]]></category>

		<guid isPermaLink="false">http://www.xaprb.com/blog/?p=1449</guid>
		<description><![CDATA[If you haven&#8217;t seen it, Josh Berkus has a very concise way to look at the confusing mess that is database &#8220;clustering&#8221; from the point of view of three distinct types of users: transactional, analytic, and online. I think that using this kind of distinction could help keep discussions clear &#8212; I&#8217;ve seen a lot [...]


<strong>Further Reading:</strong><ul><li><a href='http://www.xaprb.com/blog/2011/05/15/what-kind-of-high-availability-do-you-need/' rel='bookmark' title='Permanent Link: What kind of High Availability do you need?'>What kind of High Availability do you need?</a></li>
<li><a href='http://www.xaprb.com/blog/2009/04/17/sessions-of-interest-at-the-percona-performance-conference/' rel='bookmark' title='Permanent Link: Sessions of interest at the Percona Performance Conference'>Sessions of interest at the Percona Performance Conference</a></li>
<li><a href='http://www.xaprb.com/blog/2007/10/18/high-performance-mysql-second-edition-replication-scaling-and-high-availability/' rel='bookmark' title='Permanent Link: High Performance MySQL, Second Edition: Replication, Scaling and High Availability'>High Performance MySQL, Second Edition: Replication, Scaling and High Availability</a></li>
<li><a href='http://www.xaprb.com/blog/2009/03/13/50-things-to-know-before-migrating-oracle-to-mysql/' rel='bookmark' title='Permanent Link: 50 things to know before migrating Oracle to MySQL'>50 things to know before migrating Oracle to MySQL</a></li>
<li><a href='http://www.xaprb.com/blog/2010/08/16/speaking-at-novarug-on-thursday/' rel='bookmark' title='Permanent Link: Speaking at NovaRUG on Thursday'>Speaking at NovaRUG on Thursday</a></li>
</ul>]]></description>
			<content:encoded><![CDATA[<p>If you haven&#8217;t seen it, <a href="http://it.toolbox.com/blogs/database-soup/the-three-database-clustering-users-35473">Josh Berkus has a very concise way</a> to look at the confusing mess that is database &#8220;clustering&#8221; from the point of view of three distinct types of users: transactional, analytic, and online. I think that using this kind of distinction could help keep discussions clear &#8212; I&#8217;ve seen a lot of conversations around clustering run off the rails due to disagreements about what clustering means.  MySQL Cluster, for example, is a huge red herring for a lot of people, but it seems to be a difficult process to learn it well enough to decide.  If we called it a clustering solution for transactional users, but not for analytic or online users, it might help a lot.</p>

<p><strong>Further Reading:</strong><ul><li><a href='http://www.xaprb.com/blog/2011/05/15/what-kind-of-high-availability-do-you-need/' rel='bookmark' title='Permanent Link: What kind of High Availability do you need?'>What kind of High Availability do you need?</a></li>
<li><a href='http://www.xaprb.com/blog/2009/04/17/sessions-of-interest-at-the-percona-performance-conference/' rel='bookmark' title='Permanent Link: Sessions of interest at the Percona Performance Conference'>Sessions of interest at the Percona Performance Conference</a></li>
<li><a href='http://www.xaprb.com/blog/2007/10/18/high-performance-mysql-second-edition-replication-scaling-and-high-availability/' rel='bookmark' title='Permanent Link: High Performance MySQL, Second Edition: Replication, Scaling and High Availability'>High Performance MySQL, Second Edition: Replication, Scaling and High Availability</a></li>
<li><a href='http://www.xaprb.com/blog/2009/03/13/50-things-to-know-before-migrating-oracle-to-mysql/' rel='bookmark' title='Permanent Link: 50 things to know before migrating Oracle to MySQL'>50 things to know before migrating Oracle to MySQL</a></li>
<li><a href='http://www.xaprb.com/blog/2010/08/16/speaking-at-novarug-on-thursday/' rel='bookmark' title='Permanent Link: Speaking at NovaRUG on Thursday'>Speaking at NovaRUG on Thursday</a></li>
</ul>]]></content:encoded>
			<wfw:commentRss>http://www.xaprb.com/blog/2009/11/21/josh-berkus-helps-clarify-clustering/feed/</wfw:commentRss>
		<slash:comments>0</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>High Performance MySQL, Second Edition: Replication, Scaling and High Availability</title>
		<link>http://www.xaprb.com/blog/2007/10/18/high-performance-mysql-second-edition-replication-scaling-and-high-availability/</link>
		<comments>http://www.xaprb.com/blog/2007/10/18/high-performance-mysql-second-edition-replication-scaling-and-high-availability/#comments</comments>
		<pubDate>Fri, 19 Oct 2007 01:59:57 +0000</pubDate>
		<dc:creator>Xaprb</dc:creator>
				<category><![CDATA[clustering]]></category>
		<category><![CDATA[failover]]></category>
		<category><![CDATA[High Availability]]></category>
		<category><![CDATA[load balancing]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[replication]]></category>
		<category><![CDATA[scaling]]></category>
		<category><![CDATA[SQL]]></category>

		<guid isPermaLink="false">http://www.xaprb.com/blog/2007/10/18/high-performance-mysql-second-edition-replication-scaling-and-high-availability/</guid>
		<description><![CDATA[<p>Continuing in the tradition, which I hope has been as helpful to you as it has been to me, I'm opening the floor for suggestions on chapter 9 of the upcoming High Performance MySQL, Second Edition.  Unlike the other chapters for which I've listed outlines, this one isn't substantially written yet.  It's in detailed outline form at this point (a tactic that has worked very well for us so far -- I'll write about that someday).</p>

<p>I'm trying to get feedback much earlier in this chapter's lifecycle, for several reasons.  Two of the most important are that this is one of the first chapters I've had a chance to really take from scratch, and the chapters I haven't written from scratch have been harder to organize, as you've probably seen from the last few outlines I posted.  There's a lot of value in working top-down on this deep encyclopedia-style material.</p>

<p>Read on for the outline and more thoughts I just can't keep to myself.</p>


<strong>Further Reading:</strong><ul><li><a href='http://www.xaprb.com/blog/2008/01/12/more-progress-on-high-performance-mysql-second-edition/' rel='bookmark' title='Permanent Link: More progress on High Performance MySQL, Second Edition'>More progress on High Performance MySQL, Second Edition</a></li>
<li><a href='http://www.xaprb.com/blog/2007/10/07/high-performance-mysql-second-edition-query-performance-optimization/' rel='bookmark' title='Permanent Link: High Performance MySQL, Second Edition: Query Performance Optimization'>High Performance MySQL, Second Edition: Query Performance Optimization</a></li>
<li><a href='http://www.xaprb.com/blog/2007/09/19/high-performance-mysql-second-edition-backup-and-recovery/' rel='bookmark' title='Permanent Link: High Performance MySQL, Second Edition: Backup and Recovery'>High Performance MySQL, Second Edition: Backup and Recovery</a></li>
<li><a href='http://www.xaprb.com/blog/2007/11/29/progress-on-high-performance-mysql-second-edition/' rel='bookmark' title='Permanent Link: Progress on High Performance MySQL, Second Edition'>Progress on High Performance MySQL, Second Edition</a></li>
<li><a href='http://www.xaprb.com/blog/2011/05/15/what-kind-of-high-availability-do-you-need/' rel='bookmark' title='Permanent Link: What kind of High Availability do you need?'>What kind of High Availability do you need?</a></li>
</ul>]]></description>
			<content:encoded><![CDATA[<p>Continuing in the tradition, which I hope has been as helpful to you as it has been to me, I&#8217;m opening the floor for suggestions on chapter 9 of the upcoming High Performance MySQL, Second Edition.  Unlike the other chapters for which I&#8217;ve listed outlines, this one isn&#8217;t substantially written yet.  It&#8217;s in detailed outline form at this point (a tactic that has worked very well for us so far &#8212; I&#8217;ll write about that someday).</p>

<p>I&#8217;m trying to get feedback much earlier in this chapter&#8217;s lifecycle, for several reasons.  Two of the most important are that this is one of the first chapters I&#8217;ve had a chance to really take from scratch, and the chapters I haven&#8217;t written from scratch have been harder to organize, as you&#8217;ve probably seen from the last few outlines I posted.  There&#8217;s a lot of value in working top-down on this deep encyclopedia-style material.</p>

<p>The outline, as it stands now, is basically headings with bulleted lists of important details.  Here are the top-level headings:</p>

<pre>[Intro]
Scaling and High Availability Requirements
Replication Overview
Configuring Replication
Under the Hood of Replication
Replication Topologies
Replication Administration and Maintenance
Replication Problems and Solutions
The Future of MySQL Replication
Scaling MySQL Horizontally
Clustering with MySQL
   MySQL Cluster
   Other Clustering Solutions
Load Balancing</pre>

<p>Just a few notes.  These sections are top-level, and will likely be split into many sub-sections like other chapter outlines I&#8217;ve posted.  A typical section has a couple dozen bullet-points in it, at a high level of granularity, such as &#8220;Using DRBD for log replication only.&#8221;  I think we&#8217;ll also add in a separate section on fail-over and fail-back, but that&#8217;s not in the outline as of right now (what do you think belongs in it?).</p>

<p>I don&#8217;t know what it&#8217;s like for you to read outlines and see little bits of the book being assembled, but the process of writing this book is just fascinating to me.  It&#8217;s endlessly interesting and educational &#8212; just the process of writing, let alone the subject matter!  This is a really fun project.  A heck of a lot of work, but fun nonetheless, and the openness of the project makes it even more fun for me.  I&#8217;ve learned a lot of surprising and interesting things about writing.  I keep wishing I had time to write about this process, but I really need to keep my eye on the deadlines and put that off for later.</p>

<p>Anyway, the usual requests apply: what&#8217;s missing, what do you think is cool and should be included, etc etc?  Thanks, as usual, for your time and feedback.</p>

<p><strong>Further Reading:</strong><ul><li><a href='http://www.xaprb.com/blog/2008/01/12/more-progress-on-high-performance-mysql-second-edition/' rel='bookmark' title='Permanent Link: More progress on High Performance MySQL, Second Edition'>More progress on High Performance MySQL, Second Edition</a></li>
<li><a href='http://www.xaprb.com/blog/2007/10/07/high-performance-mysql-second-edition-query-performance-optimization/' rel='bookmark' title='Permanent Link: High Performance MySQL, Second Edition: Query Performance Optimization'>High Performance MySQL, Second Edition: Query Performance Optimization</a></li>
<li><a href='http://www.xaprb.com/blog/2007/09/19/high-performance-mysql-second-edition-backup-and-recovery/' rel='bookmark' title='Permanent Link: High Performance MySQL, Second Edition: Backup and Recovery'>High Performance MySQL, Second Edition: Backup and Recovery</a></li>
<li><a href='http://www.xaprb.com/blog/2007/11/29/progress-on-high-performance-mysql-second-edition/' rel='bookmark' title='Permanent Link: Progress on High Performance MySQL, Second Edition'>Progress on High Performance MySQL, Second Edition</a></li>
<li><a href='http://www.xaprb.com/blog/2011/05/15/what-kind-of-high-availability-do-you-need/' rel='bookmark' title='Permanent Link: What kind of High Availability do you need?'>What kind of High Availability do you need?</a></li>
</ul>]]></content:encoded>
			<wfw:commentRss>http://www.xaprb.com/blog/2007/10/18/high-performance-mysql-second-edition-replication-scaling-and-high-availability/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>

