<?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 for WhirCat</title>
	<atom:link href="http://whircat.centosprime.com/comments/feed/" rel="self" type="application/rss+xml" />
	<link>http://whircat.centosprime.com</link>
	<description>puttin' on my work hat</description>
	<lastBuildDate>Fri, 08 May 2009 15:46:47 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
	<item>
		<title>Comment on Analysis: SSD performance &#8212; is a slowdown inevitable? by Mind-NOX &#183; WhirCat · Analysis: SSD performance — is a slowdown inevitable?</title>
		<link>http://whircat.centosprime.com/analysis-ssd-performance-is-a-slowdown-inevitable/comment-page-1/#comment-13</link>
		<dc:creator>Mind-NOX &#183; WhirCat · Analysis: SSD performance — is a slowdown inevitable?</dc:creator>
		<pubDate>Fri, 08 May 2009 15:46:47 +0000</pubDate>
		<guid isPermaLink="false">http://whircat.centosprime.com/?p=588#comment-13</guid>
		<description>[...] WhirCat · Analysis: SSD performance — is a slowdown inevitable?. [...]</description>
		<content:encoded><![CDATA[<p>[...] WhirCat · Analysis: SSD performance — is a slowdown inevitable?. [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Open Source Strategies: Enterprise Software Hierarchy of Needs by face</title>
		<link>http://whircat.centosprime.com/open-source-strategies-enterprise-software-hierarchy-of-needs/comment-page-1/#comment-6</link>
		<dc:creator>face</dc:creator>
		<pubDate>Fri, 11 Apr 2008 10:17:51 +0000</pubDate>
		<guid isPermaLink="false">http://face.centosprime.com/udap/?p=346#comment-6</guid>
		<description>There should be at least 1 comment</description>
		<content:encoded><![CDATA[<p>There should be at least 1 comment</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Data Warehousing Tips and Tricks by face</title>
		<link>http://whircat.centosprime.com/data-warehousing-tips-and-tricks/comment-page-1/#comment-10</link>
		<dc:creator>face</dc:creator>
		<pubDate>Fri, 27 Apr 2007 17:08:34 +0000</pubDate>
		<guid isPermaLink="false">http://face.centosprime.com/rdb-w/?p=68#comment-10</guid>
		<description>THANKS!

I can go concentrate on how best to use these.

Especially happy to know about REPLACE INTO. A &quot;nice&quot; way to do an UPSERT for my example cases. Now If I only knew when a source system deleted a row.

Assuming a table with 100 columns, 500,000 rows.
Test REPLACE INTO against INSERT ... ON DUPLICATE UPDATE.

Assume all 500,000 rows get &quot;modified&quot; every time.

compare to TRUNCATE and LOAD DATA which solves the immediate problem of &quot;what got deleted&quot;.</description>
		<content:encoded><![CDATA[<p>THANKS!</p>
<p>I can go concentrate on how best to use these.</p>
<p>Especially happy to know about REPLACE INTO. A &#8220;nice&#8221; way to do an UPSERT for my example cases. Now If I only knew when a source system deleted a row.</p>
<p>Assuming a table with 100 columns, 500,000 rows.<br />
Test REPLACE INTO against INSERT &#8230; ON DUPLICATE UPDATE.</p>
<p>Assume all 500,000 rows get &#8220;modified&#8221; every time.</p>
<p>compare to TRUNCATE and LOAD DATA which solves the immediate problem of &#8220;what got deleted&#8221;.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Data Warehousing Tips and Tricks by Sheeri Kritzer &#187; Blog Archive &#187; Part 2: Data Warehousing Tips and Tricks - The MySQL She-BA</title>
		<link>http://whircat.centosprime.com/data-warehousing-tips-and-tricks/comment-page-1/#comment-9</link>
		<dc:creator>Sheeri Kritzer &#187; Blog Archive &#187; Part 2: Data Warehousing Tips and Tricks - The MySQL She-BA</dc:creator>
		<pubDate>Fri, 27 Apr 2007 16:28:41 +0000</pubDate>
		<guid isPermaLink="false">http://face.centosprime.com/rdb-w/?p=68#comment-9</guid>
		<description>[...] and you shall receive: http://face.centosprime.com/rdb-w/?p=68 linked to my previous post on the Data Warehousing Tips and Tricks session [...]</description>
		<content:encoded><![CDATA[<p>[...] and you shall receive: <a href="http://face.centosprime.com/rdb-w/?p=68" rel="nofollow">http://face.centosprime.com/rdb-w/?p=68</a> linked to my previous post on the Data Warehousing Tips and Tricks session [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Data Warehousing Tips and Tricks by Sheeri Kritzer</title>
		<link>http://whircat.centosprime.com/data-warehousing-tips-and-tricks/comment-page-1/#comment-8</link>
		<dc:creator>Sheeri Kritzer</dc:creator>
		<pubDate>Fri, 27 Apr 2007 16:12:16 +0000</pubDate>
		<guid isPermaLink="false">http://face.centosprime.com/rdb-w/?p=68#comment-8</guid>
		<description>The manual pages for the MERGE storage engine:

http://dev.mysql.com/doc/refman/5.0/en/merge-storage-engine.html
and
http://dev.mysql.com/doc/refman/5.0/en/merge-table-problems.html

MySQL Forums for the MERGE talbe are at:
http://forums.mysql.com/list.php?93

In a nutshell, a MERGE table is really a set of pointers to similarly-schema&#039;d MyISAM tables.  So if you have the same table schema multiple times (ie, partition per day, so you have tables named 2007_04_27_Sales, 2007_04_26_Sales, etc) you&#039;d use a MERGE table to link them all together and then you can run a query on the MERGE table and it will query all the tables that the MERGE table points to.

As for INSERT . . . ON DUPLICATE KEY UPDATE --

MySQL gives many ways to deal with INSERTs and unique/primary keys.  If you do an INSERT and the primary key you are trying to insert is already in the table, MySQL will give an error.  Ways to deal with this:

1)  Try &amp; catch errors in the application code.

2)  Use INSERT IGNORE INTO . . . this will insert a new record if a record with the key does not exist.  If it does exist, nothing happens.

3)  Use REPLACE INTO . . .this will insert a new record if a record with the key does not exist. If a record does exist, MySQL will *delete* the record and then INSERT your record.  This can cause problems when you just want to update part of a row, and not insert the whole row again.  And it changes timestamps and auto-increment numbers, which may not be a desired result.

4)  Use INSERT . . .ON DUPLICATE KEY UPDATE.  The syntax is the regular INSERT statement, and at the end add ON DUPLICATE KEY UPDATE [expression].  For instance,

INSERT INTO tbl (id,name,thing) VALUES (154,&#039;sheeri&#039;,&#039;book&#039;) ON DUPLICATE KEY UPDATE thing=&#039;book&#039;;

and what makes it easier, if you have variables or whatever in your VALUES, you can actually set the update statement to say &quot;just use the value I wanted to insert, OK?&quot; as in the following:

INSERT INTO tbl (id,name,thing) VALUES (154,&#039;sheeri&#039;,&#039;book&#039;) ON DUPLICATE KEY UPDATE thing=VALUES(thing);

Manual page:
http://dev.mysql.com/doc/refman/5.0/en/insert-on-duplicate.html

Hope this helps!</description>
		<content:encoded><![CDATA[<p>The manual pages for the MERGE storage engine:</p>
<p><a href="http://dev.mysql.com/doc/refman/5.0/en/merge-storage-engine.html" rel="nofollow">http://dev.mysql.com/doc/refman/5.0/en/merge-storage-engine.html</a><br />
and<br />
<a href="http://dev.mysql.com/doc/refman/5.0/en/merge-table-problems.html" rel="nofollow">http://dev.mysql.com/doc/refman/5.0/en/merge-table-problems.html</a></p>
<p>MySQL Forums for the MERGE talbe are at:<br />
<a href="http://forums.mysql.com/list.php?93" rel="nofollow">http://forums.mysql.com/list.php?93</a></p>
<p>In a nutshell, a MERGE table is really a set of pointers to similarly-schema&#8217;d MyISAM tables.  So if you have the same table schema multiple times (ie, partition per day, so you have tables named 2007_04_27_Sales, 2007_04_26_Sales, etc) you&#8217;d use a MERGE table to link them all together and then you can run a query on the MERGE table and it will query all the tables that the MERGE table points to.</p>
<p>As for INSERT . . . ON DUPLICATE KEY UPDATE &#8211;</p>
<p>MySQL gives many ways to deal with INSERTs and unique/primary keys.  If you do an INSERT and the primary key you are trying to insert is already in the table, MySQL will give an error.  Ways to deal with this:</p>
<p>1)  Try &amp; catch errors in the application code.</p>
<p>2)  Use INSERT IGNORE INTO . . . this will insert a new record if a record with the key does not exist.  If it does exist, nothing happens.</p>
<p>3)  Use REPLACE INTO . . .this will insert a new record if a record with the key does not exist. If a record does exist, MySQL will *delete* the record and then INSERT your record.  This can cause problems when you just want to update part of a row, and not insert the whole row again.  And it changes timestamps and auto-increment numbers, which may not be a desired result.</p>
<p>4)  Use INSERT . . .ON DUPLICATE KEY UPDATE.  The syntax is the regular INSERT statement, and at the end add ON DUPLICATE KEY UPDATE [expression].  For instance,</p>
<p>INSERT INTO tbl (id,name,thing) VALUES (154,&#8217;sheeri&#8217;,'book&#8217;) ON DUPLICATE KEY UPDATE thing=&#8217;book&#8217;;</p>
<p>and what makes it easier, if you have variables or whatever in your VALUES, you can actually set the update statement to say &#8220;just use the value I wanted to insert, OK?&#8221; as in the following:</p>
<p>INSERT INTO tbl (id,name,thing) VALUES (154,&#8217;sheeri&#8217;,'book&#8217;) ON DUPLICATE KEY UPDATE thing=VALUES(thing);</p>
<p>Manual page:<br />
<a href="http://dev.mysql.com/doc/refman/5.0/en/insert-on-duplicate.html" rel="nofollow">http://dev.mysql.com/doc/refman/5.0/en/insert-on-duplicate.html</a></p>
<p>Hope this helps!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Data Migration Strategies &#8211; Part 1 by ahmed</title>
		<link>http://whircat.centosprime.com/data-migration-strategies-part-1/comment-page-1/#comment-2</link>
		<dc:creator>ahmed</dc:creator>
		<pubDate>Tue, 02 Aug 2005 20:47:35 +0000</pubDate>
		<guid isPermaLink="false">http://face.centosprime.com/udap/?p=66#comment-2</guid>
		<description>im a student and a subsystem from my project is a datamigration tool from scratch till now i didnt find any standard for migration strategies i want plz an answer about if there is a standard for it and if not what is the best strategie i can use and also i want more resources to search in it thnx .</description>
		<content:encoded><![CDATA[<p>im a student and a subsystem from my project is a datamigration tool from scratch till now i didnt find any standard for migration strategies i want plz an answer about if there is a standard for it and if not what is the best strategie i can use and also i want more resources to search in it thnx .</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Business-Time Information Architecture by David Locke</title>
		<link>http://whircat.centosprime.com/business-time-information-architecture/comment-page-1/#comment-3</link>
		<dc:creator>David Locke</dc:creator>
		<pubDate>Thu, 28 Apr 2005 23:34:48 +0000</pubDate>
		<guid isPermaLink="false">http://face.centosprime.com/udap/?p=67#comment-3</guid>
		<description>When SAP was new, you had to stop doing business the way you did it and do it the SAP way. Call it a user interface problem, but really it was just bad software. Why should databases revolutionize the way business gets done, rather than just enabling business to get done in a more automated way?

These days we hear the &quot;bust the silo&quot; mantra, the &quot;single version of the truth&quot; mantra, and &quot;the single data model.&quot; All of which are bunk. Silos arose because of the division of labor. The myth of corporate culture pushed the idea that there is one culture, but really there is one dominant culture, the line culture, the culture of the strategic business unit, the culture of power. The division of labor cultures of the functional units are the silos. Of course, power wants to breach the silo, but to do so will force a generalist stance over the functional needs of the silos. The end result isn&#039;t one version of the truth, but multiple versions of fiction.

Culture divides. Even within a single functional unit, paradigms divide on the basis of those who accept the paradigms that wash through a subject domain. In cost accounting you have traditional cost accounting, activity based accounting, and throughput accounting. Each of these paradigms have their adherants and their naysayers. Where a particular cost accounting department is on the issue depends on the manager, and the number of employees who believe in these to different degrees. This is a mess.

The usual practices in requirement elicitation is to say to the various functional units competing over any given requirement &quot;after you settle this call me.&quot; The conflict ultimately is resolved via line power and the requirement then becomes a source of requirements volitility as the political fight continues. Ultimately, it&#039;s a matter of  efficent implementation getting in the way of production. Production is always more expensive than implementation, so the efficency desire is pointed the wrong way.

A better mousetrap is really up to the mice, not the mousetrap makers.</description>
		<content:encoded><![CDATA[<p>When SAP was new, you had to stop doing business the way you did it and do it the SAP way. Call it a user interface problem, but really it was just bad software. Why should databases revolutionize the way business gets done, rather than just enabling business to get done in a more automated way?</p>
<p>These days we hear the &#8220;bust the silo&#8221; mantra, the &#8220;single version of the truth&#8221; mantra, and &#8220;the single data model.&#8221; All of which are bunk. Silos arose because of the division of labor. The myth of corporate culture pushed the idea that there is one culture, but really there is one dominant culture, the line culture, the culture of the strategic business unit, the culture of power. The division of labor cultures of the functional units are the silos. Of course, power wants to breach the silo, but to do so will force a generalist stance over the functional needs of the silos. The end result isn&#8217;t one version of the truth, but multiple versions of fiction.</p>
<p>Culture divides. Even within a single functional unit, paradigms divide on the basis of those who accept the paradigms that wash through a subject domain. In cost accounting you have traditional cost accounting, activity based accounting, and throughput accounting. Each of these paradigms have their adherants and their naysayers. Where a particular cost accounting department is on the issue depends on the manager, and the number of employees who believe in these to different degrees. This is a mess.</p>
<p>The usual practices in requirement elicitation is to say to the various functional units competing over any given requirement &#8220;after you settle this call me.&#8221; The conflict ultimately is resolved via line power and the requirement then becomes a source of requirements volitility as the political fight continues. Ultimately, it&#8217;s a matter of  efficent implementation getting in the way of production. Production is always more expensive than implementation, so the efficency desire is pointed the wrong way.</p>
<p>A better mousetrap is really up to the mice, not the mousetrap makers.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Enough With the Blogging Already by Dudu Mimran</title>
		<link>http://whircat.centosprime.com/enough-with-the-blogging-already/comment-page-1/#comment-5</link>
		<dc:creator>Dudu Mimran</dc:creator>
		<pubDate>Thu, 21 Apr 2005 20:35:54 +0000</pubDate>
		<guid isPermaLink="false">http://face.centosprime.com/udap/?p=215#comment-5</guid>
		<description>Hi,

See my bullet by bullet counter opinion on the original article on &lt;a href=&quot;http://www.strategicboard.com/weblog/pivot/entry.php?id=146&quot; rel=&quot;nofollow&quot;&gt;Strategic Board Blog&lt;/a&gt;

Thanks,
Dudu</description>
		<content:encoded><![CDATA[<p>Hi,</p>
<p>See my bullet by bullet counter opinion on the original article on <a href="http://www.strategicboard.com/weblog/pivot/entry.php?id=146" rel="nofollow">Strategic Board Blog</a></p>
<p>Thanks,<br />
Dudu</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on EII is a Strategy, not a Technique by Albert</title>
		<link>http://whircat.centosprime.com/eii-is-a-strategy-not-a-technique/comment-page-1/#comment-4</link>
		<dc:creator>Albert</dc:creator>
		<pubDate>Tue, 04 Jan 2005 12:00:50 +0000</pubDate>
		<guid isPermaLink="false">http://face.centosprime.com/udap/?p=144#comment-4</guid>
		<description>Excellent overview and new thinking</description>
		<content:encoded><![CDATA[<p>Excellent overview and new thinking</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on RMU/Load is your friend by Innocent Bystander</title>
		<link>http://whircat.centosprime.com/rmuload-is-your-friend/comment-page-1/#comment-7</link>
		<dc:creator>Innocent Bystander</dc:creator>
		<pubDate>Wed, 30 Nov -0001 00:00:00 +0000</pubDate>
		<guid isPermaLink="false">http://face.centosprime.com/rdb-w/?p=14#comment-7</guid>
		<description>I saw this but I don&#039;t understand</description>
		<content:encoded><![CDATA[<p>I saw this but I don&#8217;t understand</p>
]]></content:encoded>
	</item>
</channel>
</rss>

