<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Comments on: KISS KISS KISS</title>
	<atom:link href="http://www.mysqlperformanceblog.com/2009/03/01/kiss-kiss-kiss/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.mysqlperformanceblog.com/2009/03/01/kiss-kiss-kiss/</link>
	<description>Everything about MySQL Performance</description>
	<lastBuildDate>Sat, 21 Nov 2009 05:23:57 -0800</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Mark Callaghan</title>
		<link>http://www.mysqlperformanceblog.com/2009/03/01/kiss-kiss-kiss/comment-page-1/#comment-495601</link>
		<dc:creator>Mark Callaghan</dc:creator>
		<pubDate>Wed, 04 Mar 2009 00:22:15 +0000</pubDate>
		<guid isPermaLink="false">http://www.mysqlperformanceblog.com/?p=628#comment-495601</guid>
		<description>This is great advice, although perhaps bad for me. Overly complex deployments create more interesting problems to solve. One other point that relates to scalability is that many (most?) systems have a lot of spare capacity waiting to be discovered as soon as they deploy the user_stats patch from Percona/Google. With that in place it is common to find a lot of unexpected load and then query logging or SHOW PROCESSLIST sampling can be used to find the problem queries.</description>
		<content:encoded><![CDATA[<p>This is great advice, although perhaps bad for me. Overly complex deployments create more interesting problems to solve. One other point that relates to scalability is that many (most?) systems have a lot of spare capacity waiting to be discovered as soon as they deploy the user_stats patch from Percona/Google. With that in place it is common to find a lot of unexpected load and then query logging or SHOW PROCESSLIST sampling can be used to find the problem queries.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: benpi</title>
		<link>http://www.mysqlperformanceblog.com/2009/03/01/kiss-kiss-kiss/comment-page-1/#comment-493235</link>
		<dc:creator>benpi</dc:creator>
		<pubDate>Sun, 01 Mar 2009 18:27:14 +0000</pubDate>
		<guid isPermaLink="false">http://www.mysqlperformanceblog.com/?p=628#comment-493235</guid>
		<description>@peter: you made a case for design &quot;robust simplicity&quot; there ;)

@Matthew
I&#039;m not sure to understand the worklog implicit consequences very well, so unsure about the functionality coverage; but it seems to be a very useful proposal even for what it explicitly states.

The worklog&#039;s description wording focuses on addressing serializability and isolation problems with concurrent accesses while performing DDL, through proper locking. Is deferring the release of metadata locks up to an explicit commit/rollback enough to get rid of DDL auto commits (ie. does this implicitly means that the schema changes can actually be rolled back, or is it just a first step)?</description>
		<content:encoded><![CDATA[<p>@peter: you made a case for design &#8220;robust simplicity&#8221; there <img src='http://www.mysqlperformanceblog.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>@Matthew<br />
I&#8217;m not sure to understand the worklog implicit consequences very well, so unsure about the functionality coverage; but it seems to be a very useful proposal even for what it explicitly states.</p>
<p>The worklog&#8217;s description wording focuses on addressing serializability and isolation problems with concurrent accesses while performing DDL, through proper locking. Is deferring the release of metadata locks up to an explicit commit/rollback enough to get rid of DDL auto commits (ie. does this implicitly means that the schema changes can actually be rolled back, or is it just a first step)?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: peter</title>
		<link>http://www.mysqlperformanceblog.com/2009/03/01/kiss-kiss-kiss/comment-page-1/#comment-493222</link>
		<dc:creator>peter</dc:creator>
		<pubDate>Sun, 01 Mar 2009 17:11:14 +0000</pubDate>
		<guid isPermaLink="false">http://www.mysqlperformanceblog.com/?p=628#comment-493222</guid>
		<description>benpi,

Right. You can do MySQL/hardware/OS upgrades this way, schema changes or table maintainance virtually without downtime.   Transactional DDL would be nice though so far it can&#039;t be solved on just storage engine lawyer (hence can&#039;t be added just to XtraDB).</description>
		<content:encoded><![CDATA[<p>benpi,</p>
<p>Right. You can do MySQL/hardware/OS upgrades this way, schema changes or table maintainance virtually without downtime.   Transactional DDL would be nice though so far it can&#8217;t be solved on just storage engine lawyer (hence can&#8217;t be added just to XtraDB).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Matthew Montgomery</title>
		<link>http://www.mysqlperformanceblog.com/2009/03/01/kiss-kiss-kiss/comment-page-1/#comment-493177</link>
		<dc:creator>Matthew Montgomery</dc:creator>
		<pubDate>Sun, 01 Mar 2009 15:07:38 +0000</pubDate>
		<guid isPermaLink="false">http://www.mysqlperformanceblog.com/?p=628#comment-493177</guid>
		<description>@benpi

There is a worklog in progress and targeted at 6.0 covering transactional DDL locking.
http://forge.mysql.com/worklog/task.php?id=4284

High and low level descriptions of this worklog briefly discuss ROLLBACK and SAVEPOINT handling.

Please review this worklog and comment on it if it is missing the sort of functionality you are expecting.</description>
		<content:encoded><![CDATA[<p>@benpi</p>
<p>There is a worklog in progress and targeted at 6.0 covering transactional DDL locking.<br />
<a href="http://forge.mysql.com/worklog/task.php?id=4284" rel="nofollow">http://forge.mysql.com/worklog/task.php?id=4284</a></p>
<p>High and low level descriptions of this worklog briefly discuss ROLLBACK and SAVEPOINT handling.</p>
<p>Please review this worklog and comment on it if it is missing the sort of functionality you are expecting.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Arjen Lentz</title>
		<link>http://www.mysqlperformanceblog.com/2009/03/01/kiss-kiss-kiss/comment-page-1/#comment-493147</link>
		<dc:creator>Arjen Lentz</dc:creator>
		<pubDate>Sun, 01 Mar 2009 13:52:37 +0000</pubDate>
		<guid isPermaLink="false">http://www.mysqlperformanceblog.com/?p=628#comment-493147</guid>
		<description>Complexity often causes trouble. But simplicity should not be confused with &quot;lack of good design&quot; - and I&#039;m not saying &quot;proper design&quot; as dogma rarely helps. It&#039;s very important to learn why some &quot;rules&quot; (guidelines) exist, so you know when to break them! This is what we teach in our classes, and it&#039;s oh so useful.

Another thing to steer clear of is marketing hype... a company plugging the latest and greatest fancy technology or tool.</description>
		<content:encoded><![CDATA[<p>Complexity often causes trouble. But simplicity should not be confused with &#8220;lack of good design&#8221; &#8211; and I&#8217;m not saying &#8220;proper design&#8221; as dogma rarely helps. It&#8217;s very important to learn why some &#8220;rules&#8221; (guidelines) exist, so you know when to break them! This is what we teach in our classes, and it&#8217;s oh so useful.</p>
<p>Another thing to steer clear of is marketing hype&#8230; a company plugging the latest and greatest fancy technology or tool.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: benpi</title>
		<link>http://www.mysqlperformanceblog.com/2009/03/01/kiss-kiss-kiss/comment-page-1/#comment-493087</link>
		<dc:creator>benpi</dc:creator>
		<pubDate>Sun, 01 Mar 2009 12:41:48 +0000</pubDate>
		<guid isPermaLink="false">http://www.mysqlperformanceblog.com/?p=628#comment-493087</guid>
		<description>Thanks for this post; having a top notch expert writing we can point to will help fighting those &quot;overdesigning hubris&quot; moments we all have, for sure :)

&quot;Master-Master which you typically want for high availability and online schema changes.&quot;

Ahh, thanks for this tip, I never thought to address this problem that way. I guess you mean something like, along the lines: remove one master from being accessed by applications, stop slave on the remaining, busy one, make schema change on the non busy server, when everything is done, exchange the roles of the servers (ex. non-busy become worker) and wait for the other server to catch up schema changes. Is it this?

By the way, something that makes planning such a solution very useful with MySQL, despite complexity (and even when the schema change is expected to be fast and resources friendly, without large index creations) is the problem with InnoDB schema changes being not ACID compliant. This dangerous lack of feature is often overlooked in my small experience; I remember a Zarafa (a MySQL based Exchange like) upgrade which, after quite a few schema changes bundled in a theoretical transaction, did failed to had a constraint (because of database content) and desperately tried to rollback the whole changeset (bummer! all corporate emails made inaccessible!). So for now we have to circumvent this problem with some infrastructure complexity. Having rollbackable ALTERs, like PostgreSQL already supports, would be quite an improvement for MySQL/InnoDB. Is this totally impossible? are there plans like this for XtraDB (wouldn&#039;t that be a killer feature)?</description>
		<content:encoded><![CDATA[<p>Thanks for this post; having a top notch expert writing we can point to will help fighting those &#8220;overdesigning hubris&#8221; moments we all have, for sure <img src='http://www.mysqlperformanceblog.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>&#8220;Master-Master which you typically want for high availability and online schema changes.&#8221;</p>
<p>Ahh, thanks for this tip, I never thought to address this problem that way. I guess you mean something like, along the lines: remove one master from being accessed by applications, stop slave on the remaining, busy one, make schema change on the non busy server, when everything is done, exchange the roles of the servers (ex. non-busy become worker) and wait for the other server to catch up schema changes. Is it this?</p>
<p>By the way, something that makes planning such a solution very useful with MySQL, despite complexity (and even when the schema change is expected to be fast and resources friendly, without large index creations) is the problem with InnoDB schema changes being not ACID compliant. This dangerous lack of feature is often overlooked in my small experience; I remember a Zarafa (a MySQL based Exchange like) upgrade which, after quite a few schema changes bundled in a theoretical transaction, did failed to had a constraint (because of database content) and desperately tried to rollback the whole changeset (bummer! all corporate emails made inaccessible!). So for now we have to circumvent this problem with some infrastructure complexity. Having rollbackable ALTERs, like PostgreSQL already supports, would be quite an improvement for MySQL/InnoDB. Is this totally impossible? are there plans like this for XtraDB (wouldn&#8217;t that be a killer feature)?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: James Byers</title>
		<link>http://www.mysqlperformanceblog.com/2009/03/01/kiss-kiss-kiss/comment-page-1/#comment-492978</link>
		<dc:creator>James Byers</dc:creator>
		<pubDate>Sun, 01 Mar 2009 08:33:25 +0000</pubDate>
		<guid isPermaLink="false">http://www.mysqlperformanceblog.com/?p=628#comment-492978</guid>
		<description>This is great advice for startups.  The key is to evolve from simplicity to complexity based on proven rather than imagined needs.  Few startups warrant complex distributed database systems; this engineering time is better spent building something their customers want.

Aside from advice on exotic MySQL configurations, there seems to be a new column-oriented or distributed key-value database project launching every month.  I&#039;m afraid this will be the exotic configuration of the next few years, where startups spend lots of time building systems that will scale to the billions of records they&#039;ll never have to store.</description>
		<content:encoded><![CDATA[<p>This is great advice for startups.  The key is to evolve from simplicity to complexity based on proven rather than imagined needs.  Few startups warrant complex distributed database systems; this engineering time is better spent building something their customers want.</p>
<p>Aside from advice on exotic MySQL configurations, there seems to be a new column-oriented or distributed key-value database project launching every month.  I&#8217;m afraid this will be the exotic configuration of the next few years, where startups spend lots of time building systems that will scale to the billions of records they&#8217;ll never have to store.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
