<?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; MySQL Cluster</title>
	<atom:link href="http://www.xaprb.com/blog/tag/mysql-cluster/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>What kind of High Availability do you need?</title>
		<link>http://www.xaprb.com/blog/2011/05/15/what-kind-of-high-availability-do-you-need/</link>
		<comments>http://www.xaprb.com/blog/2011/05/15/what-kind-of-high-availability-do-you-need/#comments</comments>
		<pubDate>Mon, 16 May 2011 02:37:26 +0000</pubDate>
		<dc:creator>Xaprb</dc:creator>
				<category><![CDATA[SQL]]></category>
		<category><![CDATA[Henrik Ingo]]></category>
		<category><![CDATA[MMM]]></category>
		<category><![CDATA[MySQL Cluster]]></category>

		<guid isPermaLink="false">http://www.xaprb.com/blog/?p=2327</guid>
		<description><![CDATA[Henrik just wrote a good article on different ways of achieving high availability with MySQL. I was going to respond in the comments, but decided it is better not to post such a long comment there. One of the questions I think is useful to ask is what kind of high availability is desired. It [...]


<strong>Further Reading:</strong><ul><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/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/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/2011/02/13/a-review-of-postgresql-9-0-high-performance-by-gregory-smith/' rel='bookmark' title='Permanent Link: A review of PostgreSQL 9.0 High Performance by Gregory Smith'>A review of PostgreSQL 9.0 High Performance by Gregory Smith</a></li>
<li><a href='http://www.xaprb.com/blog/2007/10/02/progress-on-high-performance-mysql-backup-and-recovery-chapter/' rel='bookmark' title='Permanent Link: Progress on High Performance MySQL Backup and Recovery chapter'>Progress on High Performance MySQL Backup and Recovery chapter</a></li>
</ul>]]></description>
			<content:encoded><![CDATA[<p>Henrik just wrote a good article on <a href="http://openlife.cc/blogs/2011/may/different-ways-doing-ha-mysql">different ways of achieving high availability with MySQL</a>.  I was going to respond in the comments, but decided it is better not to post such a long comment there.</p>

<p>One of the questions I think is useful to ask is what kind of high availability is desired.  It is quite possible for a group of several people to stand in a hallway and talk about high availability, all of them apparently discussing the same thing but really talking about very different things.</p>

<p>Henrik says &#8220;At MySQL/Sun we recommended against asynchronous replication as a HA solution so that was the end of it as far as MMM was concerned. Instead we recommended DRBD, shared disk or MySQL Cluster based solutions.&#8221;  Notice that all of those are synchronous technologies (at least, the way MySQL recommended them to be configured), generally employed to ensure a specific desirable property &#8212; no loss of data.  But &#8220;I must not lose any committed transaction&#8221; and &#8220;my database must be available&#8221; are actually orthogonal requirements.  One is about availability, the other is durability.</p>

<p>A lot of people who say they want High Availability actually want High Durability.</p>

<p>There are a great many MySQL users for whom writes are much less valuable than reads.  I would point to an advertising-supported website as a canonical example.  If the system isn&#8217;t available &#8212; that is, available to serve read queries &#8212; then a lot of money is lost.  If someone&#8217;s latest comment on a blog post is lost &#8212; who cares?  Money continues to flow.</p>

<p>This is why a lot of people want a system that keeps the database online, even if some writes are lost.  Note that loss of writes is not the same thing as consistency &#8212; consistency and durability are also orthogonal for most users&#8217; purposes.  So we aren&#8217;t talking about eventual consistency or any of the other buzzwords, but simply &#8220;the system must respond to read queries.&#8221;</p>

<p>Asynchronous replication is well suited to many such users&#8217; availability requirements, as long as replication does not fail (halt) through a write conflict or some other failure mode.  (It is often perfectly acceptable for it to fail in other ways, as long as it does not halt.)  That&#8217;s why a lot of users are interested in the specific type of &#8220;high availability&#8221; that a system such as MMM is intended to provide (but, as I mentioned, <a href="http://www.xaprb.com/blog/2011/05/04/whats-wrong-with-mmm/">actually doesn&#8217;t provide</a>).  In other words, MMM would be great for a lot of people, if it worked correctly.</p>

<p>I have also been exposed to applications for which this kind of availability-trumps-durability paradigm is absolutely unacceptable.  The advertising system upon which the advertising-supported website relies for its income is a good example.  Users know they can build sites that only need to be available for reads, precisely because they are trusting that Google AdSense is highly available for writes!  Delegating writes to someone else is the easiest way to build systems.</p>

<p>There is a place for DRBD and MySQL Cluster, and there are also many situations that are served by neither the DRBD nor the MMM type of solution.</p>

<p>Josh Berkus wrote a while back about <a href="http://it.toolbox.com/blogs/database-soup/the-three-database-clustering-users-35473">three types of cluster users</a>, as opposed to three types of clusters.  I think it&#8217;s helpful to approach the conversation from that angle sometimes too.  As a consultant, I almost always do that when I enter a discussion with a customer who wants a &#8220;cluster&#8221; or &#8220;high availability.&#8221;  Those are basically code phrases that tell me I need to start at the beginning and ensure we are all talking about the same requirements!</p>

<p>I also agree with Henrik about the need to turn off automatic failover.  In many, many situations this is by far the best approach.  Sometimes people state requirements that, if one steps back and looks at them afresh, quite obviously indicate that an automatic failover is the last thing that&#8217;s desirable.  For example, if someone tells me that he expects failover to be required less than once a year, this is almost guaranteed not to be a good case for automatic failover.  A system that&#8217;s tested so infrequently is almost certainly not going to work right when it&#8217;s needed.  In such cases, it&#8217;s far better to leave everything alone until an expert human can resolve the problem, rather than have a stupid machine destroy what would otherwise be a fixable system.</p>

<p><strong>Further Reading:</strong><ul><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/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/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/2011/02/13/a-review-of-postgresql-9-0-high-performance-by-gregory-smith/' rel='bookmark' title='Permanent Link: A review of PostgreSQL 9.0 High Performance by Gregory Smith'>A review of PostgreSQL 9.0 High Performance by Gregory Smith</a></li>
<li><a href='http://www.xaprb.com/blog/2007/10/02/progress-on-high-performance-mysql-backup-and-recovery-chapter/' rel='bookmark' title='Permanent Link: Progress on High Performance MySQL Backup and Recovery chapter'>Progress on High Performance MySQL Backup and Recovery chapter</a></li>
</ul>]]></content:encoded>
			<wfw:commentRss>http://www.xaprb.com/blog/2011/05/15/what-kind-of-high-availability-do-you-need/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<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>MySQL 6.2 is GA, but 5.1 is RC and 6.0 is alpha</title>
		<link>http://www.xaprb.com/blog/2008/05/23/mysql-62-is-ga-but-51-is-rc-and-60-is-alpha/</link>
		<comments>http://www.xaprb.com/blog/2008/05/23/mysql-62-is-ga-but-51-is-rc-and-60-is-alpha/#comments</comments>
		<pubDate>Sat, 24 May 2008 02:26:20 +0000</pubDate>
		<dc:creator>Xaprb</dc:creator>
				<category><![CDATA[Commentary]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[humor]]></category>
		<category><![CDATA[Kaj Arno]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[MySQL Cluster]]></category>

		<guid isPermaLink="false">http://www.xaprb.com/blog/2008/05/23/mysql-62-is-ga-but-51-is-rc-and-60-is-alpha/</guid>
		<description><![CDATA[MySQL&#8217;s version numbering is getting harder and harder to understand. In fact, it&#8217;s getting surreal. Let me state up front that there&#8217;s probably a lot I don&#8217;t know here. But if I don&#8217;t know, how on earth can the general public figure it out? Before we begin, let&#8217;s define terms: GA is completely done, ready [...]


<strong>Further Reading:</strong><ul><li><a href='http://www.xaprb.com/blog/2009/01/26/idea-a-reverse-changelog-for-mysql/' rel='bookmark' title='Permanent Link: Idea: a reverse changelog for MySQL'>Idea: a reverse changelog for MySQL</a></li>
<li><a href='http://www.xaprb.com/blog/2008/06/01/mysql-cacti-templates-100-released/' rel='bookmark' title='Permanent Link: MySQL Cacti templates 1.0.0 released'>MySQL Cacti templates 1.0.0 released</a></li>
<li><a href='http://www.xaprb.com/blog/2009/12/14/mysql-enterprisecommunity-split-could-be-renewed-under-oracle/' rel='bookmark' title='Permanent Link: MySQL Enterprise/Community split could be renewed under Oracle'>MySQL Enterprise/Community split could be renewed under Oracle</a></li>
<li><a href='http://www.xaprb.com/blog/2008/12/11/is-mysql-51-really-a-better-50/' rel='bookmark' title='Permanent Link: Is MySQL 5.1 really a better 5.0?'>Is MySQL 5.1 really a better 5.0?</a></li>
<li><a href='http://www.xaprb.com/blog/2008/05/02/news-flash-mysql-51-has-zero-bugs/' rel='bookmark' title='Permanent Link: News flash: MySQL 5.1 has zero bugs'>News flash: MySQL 5.1 has zero bugs</a></li>
</ul>]]></description>
			<content:encoded><![CDATA[<p>MySQL&#8217;s version numbering is getting harder and harder to understand.  In fact, it&#8217;s getting surreal.</p>

<p>Let me state up front that there&#8217;s probably a lot I don&#8217;t know here.  But if I don&#8217;t know, how on earth can the general public figure it out?</p>

<p>Before we begin, let&#8217;s define terms: GA is completely done, ready for use.  RC is a release candidate: don&#8217;t change anything, just fix bugs because we&#8217;re charging towards a release here.  Beta is possibly unsafe code, use at your own risk.  Alpha is known to have significant bugs, but if you&#8217;re curious please play with it.</p>

<p>Now for the releases/versions game.  Let&#8217;s recap:</p>

<ul>
<li>5.0 has version numbers that leapfrog each other in features and functionality. SHOW PROFILES &#8212; now you see it, now you don&#8217;t.</li>
<li>5.1 has been &#8220;&#8230; <a href="http://www.eweek.com/c/a/Database/CEO-Calls-MySQLs-the-Ferrari-of-Databases/">released to general availability [as] a near-final release candidate</a>,&#8221; whatever that means.</li>
<li>5.1 has just had drastic changes in the RC stage.  (<a href="http://dev.mysql.com/doc/refman/5.1/en/news-5-1-24.html">Remove Federated in 5.1.24</a>, <a href="http://www.mysqlperformanceblog.com/2008/05/20/too-dangerous-command/">remove RENAME DATABASE</a>, <a href="http://blogs.mysql.com/kaj/2008/05/23/mysql-clusters-improved-release-model/">remove Cluster</a>.)  And it&#8217;s going to have more changes before it&#8217;s released, too: <a href="http://dev.mysql.com/doc/refman/5.1/en/news-5-1-24.html">Federated will be added back in 5.1.25</a>.</li>
<li>5.2 doesn&#8217;t exist.  Last year at the MySQL conference, someone made an abrupt decision to skip 5.2 and inflate the version numbers to 6.0, which has big changes in the query optimizer and other areas.</li>
<li><a href="http://blogs.sun.com/theaquarium/entry/mysql_6_0_is_alpha">6.0 is alpha, but it includes Falcon, which is beta</a> even though <a href="http://bugs.mysql.com/bug.php?id=36296">Falcon has extremely bad bugs that its developers claim are not bugs</a>.</li>
<li>6.1 doesn&#8217;t exist as far as I know.</li>
<li>6.2 not only exists, but it is GA.  Not only that, but it just&#8230; appeared as GA, as far as I know.  No RC stage, no nothing &#8212; at least, nothing on the MySQL website that I see (certainly no manual version).  It went from nonexistent to GA instantaneously as far as I know.  It was created by <a href="http://johanandersson.blogspot.com/2008/05/mysql-cluster-62-officially-released.html">extracting the Cluster code from 5.1</a>.</li>
<li>6.2 is GA, but 5.1 is RC.</li>
<li>6.2 is GA, but 6.1 doesn&#8217;t exist as far as I know.</li>
<li>6.2 is GA, but 6.0 is alpha.  (Hopefully you see the pattern here.)</li>
<li>6.2 is GA, but presumably does not include the changes made in 6.0, since it was derived from 5.1&#8242;s code.</li>
</ul>

<p>What is going on here?</p>

<p>How is this an <a href="http://blogs.mysql.com/kaj/2008/05/23/mysql-clusters-improved-release-model/">improved release model</a>?  What is improved about this?</p>

<p>How in the world can anyone figure out what versions of the software have what features?  Who can make an educated decision about what product to use in this situation?  Are people supposed to just rely on the sales people to help them figure out what to use?  Boy, is that trusting the fox to guard the henhouse.</p>

<p>Why didn&#8217;t they just release 5.1 Cluster as GA separately, if that reflected the reality in the code?  They certainly missed an opportunity to show some progress on 5.1.  As it is, 5.1 got robbed of its chance to have at least some of its code go GA after more than 2.5 years in development.  Now 5.1 looks like even more of an embarrassment &#8212; hey 5.1 team, how come you can&#8217;t get anything out the door when these 6.2 people are releasing GA products?  Not to mention 6.0 &#8212; you guys look bad now too! (Just kidding.)</p>

<p>I tried to draw a timeline of MySQL&#8217;s release history, in some detail in the 5.0 history and in very basic detail in the 5.1 and 6.0 and 6.2 trees.  You can take a look at that.  It&#8217;s worth studying for 5 minutes or so, even though it&#8217;s kind of ugly.  There are lots of oddities to notice about it.  Enjoy:</p>

<p>
<a href='http://www.xaprb.com/blog/wp-content/uploads/2008/05/mysql-timeline.png' title='MySQL release timeline'><img src='http://www.xaprb.com/blog/wp-content/uploads/2008/05/mysql-timeline.thumbnail.png' alt='MySQL release timeline' /></a>
</p>

<p>The <a href="http://www.mysql.com/about/contact/sales.html">inmates</a> are running the <a href="http://www.mysql.com/">asylum</a>.  This gets more and more amusing as time goes on.</p>

<p><strong>Further Reading:</strong><ul><li><a href='http://www.xaprb.com/blog/2009/01/26/idea-a-reverse-changelog-for-mysql/' rel='bookmark' title='Permanent Link: Idea: a reverse changelog for MySQL'>Idea: a reverse changelog for MySQL</a></li>
<li><a href='http://www.xaprb.com/blog/2008/06/01/mysql-cacti-templates-100-released/' rel='bookmark' title='Permanent Link: MySQL Cacti templates 1.0.0 released'>MySQL Cacti templates 1.0.0 released</a></li>
<li><a href='http://www.xaprb.com/blog/2009/12/14/mysql-enterprisecommunity-split-could-be-renewed-under-oracle/' rel='bookmark' title='Permanent Link: MySQL Enterprise/Community split could be renewed under Oracle'>MySQL Enterprise/Community split could be renewed under Oracle</a></li>
<li><a href='http://www.xaprb.com/blog/2008/12/11/is-mysql-51-really-a-better-50/' rel='bookmark' title='Permanent Link: Is MySQL 5.1 really a better 5.0?'>Is MySQL 5.1 really a better 5.0?</a></li>
<li><a href='http://www.xaprb.com/blog/2008/05/02/news-flash-mysql-51-has-zero-bugs/' rel='bookmark' title='Permanent Link: News flash: MySQL 5.1 has zero bugs'>News flash: MySQL 5.1 has zero bugs</a></li>
</ul>]]></content:encoded>
			<wfw:commentRss>http://www.xaprb.com/blog/2008/05/23/mysql-62-is-ga-but-51-is-rc-and-60-is-alpha/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>Stock images are too popular</title>
		<link>http://www.xaprb.com/blog/2008/03/27/stock-images-are-too-popular/</link>
		<comments>http://www.xaprb.com/blog/2008/03/27/stock-images-are-too-popular/#comments</comments>
		<pubDate>Fri, 28 Mar 2008 03:07:16 +0000</pubDate>
		<dc:creator>Xaprb</dc:creator>
				<category><![CDATA[Head First Design Patterns]]></category>
		<category><![CDATA[images]]></category>
		<category><![CDATA[LSI Megaraid]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[MySQL Certification]]></category>
		<category><![CDATA[MySQL Cluster]]></category>
		<category><![CDATA[OReilly]]></category>
		<category><![CDATA[stock]]></category>
		<category><![CDATA[stock photos]]></category>
		<category><![CDATA[Title Nine]]></category>
		<category><![CDATA[Vagisil]]></category>
		<category><![CDATA[xTuple]]></category>

		<guid isPermaLink="false">http://www.xaprb.com/blog/2008/03/27/stock-images-are-too-popular/</guid>
		<description><![CDATA[<p>I have an ingrained (possibly even genetic) aversion to stock images.  Actually, not all stock: just the vacuous kind.  You know what I mean: like  the  politically-correct, gender-balanced, racially-balanced, age-diverse ones where people are all smiling and pointing at a computer screen you can't see.  Ugh!</p>

<p><img src='http://www.xaprb.com/blog/wp-content/uploads/2008/03/business_group_meeting.jpg' alt='Business Group Meeting' /></p>

<p>(Photo credit: istockphoto.com)</p>


<strong>Further Reading:</strong><ul><li><a href='http://www.xaprb.com/blog/2008/05/18/why-is-mysql-more-popular-than-postgresql/' rel='bookmark' title='Permanent Link: Why is MySQL more popular than PostgreSQL?'>Why is MySQL more popular than PostgreSQL?</a></li>
<li><a href='http://www.xaprb.com/blog/2006/05/29/captchas-without-images-part-2/' rel='bookmark' title='Permanent Link: CAPTCHAs without images, part 2'>CAPTCHAs without images, part 2</a></li>
<li><a href='http://www.xaprb.com/blog/2006/01/28/captchas-done-better/' rel='bookmark' title='Permanent Link: How to implement CAPTCHAs without images'>How to implement CAPTCHAs without images</a></li>
<li><a href='http://www.xaprb.com/blog/2008/03/06/send-your-employees-to-the-mysql-conference/' rel='bookmark' title='Permanent Link: Send your employees to the MySQL Conference'>Send your employees to the MySQL Conference</a></li>
</ul>]]></description>
			<content:encoded><![CDATA[<p>I have an ingrained (possibly even genetic) aversion to stock images.  Actually, not all stock: just the vacuous kind.  You know what I mean: like  the  politically-correct, gender-balanced, racially-balanced, age-diverse ones where people are all smiling and pointing at a computer screen you can&#8217;t see.  Ugh!</p>

<p><img src='http://www.xaprb.com/blog/wp-content/uploads/2008/03/business_group_meeting.jpg' alt='Business Group Meeting' /></p>

<p>(Photo credit: istockphoto.com)</p>

<p>There are many reasons not to use images like this.  I guess it&#8217;s okay in some situations &#8212; for example when you just want a smiling, attractive woman with a customer-service headset to reinforce that you&#8217;ve come to the right place for support.  However, even these really don&#8217;t have to be stock images.  One of my former employers used their own employees for such photos, almost exclusively, and it made the site much more real.  And there are plenty of examples of companies that use photos of their own employees and get &#8220;realness&#8221; as a result.  If I&#8217;m not mistaken, <a href="http://www.titlenine.com/">Title Nine</a> does so except for certain things, such as underwear models  (for obvious reasons).</p>

<p>However, one great reason to eschew stock: other people will re-use the same image.  A famous example from a few years ago: the cover image of <a href="http://www.oreilly.com/catalog/hfdesignpat/">Head First Design Patterns</a> was a stock photo that <a href="http://fishbowl.pastiche.org/2005/08/12/the_head_first_girls_double_life">also appeared in a commercial for a feminine hygiene product</a>.</p>

<p>This incident was actually pretty widely linked on the Internet at that time.  So no one will ever make <strong>that</strong> mistake again!</p>

<p>Or will they?  Witness: the cover of the <a href="http://www.lulu.com/content/1297960">MySQL 5.1 Cluster DBA Certification Guide</a>, the <a href="http://www.xtuple.com/">xTuple Home Page</a>, and the cover of the <a href="http://www.lsi.com/storage_home/products_home/internal_raid/megaraid_sas/megaraid_sas_8408e/index.html?remote=1">MegaRAID Management Suite</a> documentation.</p>

<p><a href='http://www.xaprb.com/blog/wp-content/uploads/2008/03/stock_images_ad_nauseum.jpg' title='Stock images ad nauseum'><img src='http://www.xaprb.com/blog/wp-content/uploads/2008/03/stock_images_ad_nauseum.thumbnail.jpg' alt='Stock images ad nauseum' /></a></p>

<p>Interestingly, I ran across all three over-usages of this image in one day, completely by accident.  Are there other places this image is used?  I&#8217;d bet there are.</p>

<p>Who cares?  Well, the images that go on the cover of your book, your brochure, or your website become part of your image.  If someone else then uses the same image, they can (accidentally or otherwise) exert some control over what people think of your product or company.</p>

<p>If this matters &#8212; and it almost certainly does &#8212; you should just get some of your own employees, hire a good photographer, and go into your own server room (or beg a friend to let you into theirs) for a photo.</p>

<p>On the subject of image, I&#8217;ve just gone to a photographer for some new portraits of myself, and I&#8217;m also hiring someone to design a logo for Maatkit (for a new website, and for t-shirts to give away at the upcoming <a href="http://www.mysqlconf.com/">conference</a>).  I&#8217;ll post more about that later.</p>

<p><strong>Further Reading:</strong><ul><li><a href='http://www.xaprb.com/blog/2008/05/18/why-is-mysql-more-popular-than-postgresql/' rel='bookmark' title='Permanent Link: Why is MySQL more popular than PostgreSQL?'>Why is MySQL more popular than PostgreSQL?</a></li>
<li><a href='http://www.xaprb.com/blog/2006/05/29/captchas-without-images-part-2/' rel='bookmark' title='Permanent Link: CAPTCHAs without images, part 2'>CAPTCHAs without images, part 2</a></li>
<li><a href='http://www.xaprb.com/blog/2006/01/28/captchas-done-better/' rel='bookmark' title='Permanent Link: How to implement CAPTCHAs without images'>How to implement CAPTCHAs without images</a></li>
<li><a href='http://www.xaprb.com/blog/2008/03/06/send-your-employees-to-the-mysql-conference/' rel='bookmark' title='Permanent Link: Send your employees to the MySQL Conference'>Send your employees to the MySQL Conference</a></li>
</ul>]]></content:encoded>
			<wfw:commentRss>http://www.xaprb.com/blog/2008/03/27/stock-images-are-too-popular/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>

