<?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: Why too much Database Normalization can be a Bad Thing</title>
	<atom:link href="http://www.selikoff.net/2008/11/19/why-too-much-database-normalization-can-be-a-bad-thing/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.selikoff.net/2008/11/19/why-too-much-database-normalization-can-be-a-bad-thing/</link>
	<description>Java/J2EE Software Development and Technology Discussion Blog</description>
	<lastBuildDate>Thu, 11 Mar 2010 08:01:23 -0500</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: scott</title>
		<link>http://www.selikoff.net/2008/11/19/why-too-much-database-normalization-can-be-a-bad-thing/comment-page-1/#comment-595</link>
		<dc:creator>scott</dc:creator>
		<pubDate>Sun, 23 Nov 2008 08:39:21 +0000</pubDate>
		<guid isPermaLink="false">http://www.selikoff.net/blog/?p=607#comment-595</guid>
		<description>Great Raditya, why create a chart as a project and I&#039;ll post the results.</description>
		<content:encoded><![CDATA[<p>Great Raditya, why create a chart as a project and I&#8217;ll post the results.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: scott</title>
		<link>http://www.selikoff.net/2008/11/19/why-too-much-database-normalization-can-be-a-bad-thing/comment-page-1/#comment-594</link>
		<dc:creator>scott</dc:creator>
		<pubDate>Sun, 23 Nov 2008 08:38:43 +0000</pubDate>
		<guid isPermaLink="false">http://www.selikoff.net/blog/?p=607#comment-594</guid>
		<description>I think a lot of you are taking me too literally... I never said get rid of normalization, but its clear that too much of it can be a bad thing.  In general, reads within a denormalized system is almost always faster than a normalized one, the catch is updating and data storage are poor.</description>
		<content:encoded><![CDATA[<p>I think a lot of you are taking me too literally&#8230; I never said get rid of normalization, but its clear that too much of it can be a bad thing.  In general, reads within a denormalized system is almost always faster than a normalized one, the catch is updating and data storage are poor.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Raditya Arthapraja</title>
		<link>http://www.selikoff.net/2008/11/19/why-too-much-database-normalization-can-be-a-bad-thing/comment-page-1/#comment-593</link>
		<dc:creator>Raditya Arthapraja</dc:creator>
		<pubDate>Fri, 21 Nov 2008 17:30:25 +0000</pubDate>
		<guid isPermaLink="false">http://www.selikoff.net/blog/?p=607#comment-593</guid>
		<description>Great, article!

How about a performance chart comparing the database that stores the same information; but, with the first database being normalized too much, the second database being not too normalized, and the third being not normalized?</description>
		<content:encoded><![CDATA[<p>Great, article!</p>
<p>How about a performance chart comparing the database that stores the same information; but, with the first database being normalized too much, the second database being not too normalized, and the third being not normalized?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Daoud AbdelMonem Faleh</title>
		<link>http://www.selikoff.net/2008/11/19/why-too-much-database-normalization-can-be-a-bad-thing/comment-page-1/#comment-590</link>
		<dc:creator>Daoud AbdelMonem Faleh</dc:creator>
		<pubDate>Thu, 20 Nov 2008 20:58:05 +0000</pubDate>
		<guid isPermaLink="false">http://www.selikoff.net/blog/?p=607#comment-590</guid>
		<description>I once eliminated all FK relationships from the database and managed them in the code. It was more error prone yes, it took more time to implement yes, but it was a huge gain in performance. I&#039;ve gone that way cause denormalisation was not an option as some of those tables were shared between many entities and updates were frequent on them. The key to success down this road was to test test test...</description>
		<content:encoded><![CDATA[<p>I once eliminated all FK relationships from the database and managed them in the code. It was more error prone yes, it took more time to implement yes, but it was a huge gain in performance. I&#8217;ve gone that way cause denormalisation was not an option as some of those tables were shared between many entities and updates were frequent on them. The key to success down this road was to test test test&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Joachim</title>
		<link>http://www.selikoff.net/2008/11/19/why-too-much-database-normalization-can-be-a-bad-thing/comment-page-1/#comment-589</link>
		<dc:creator>Joachim</dc:creator>
		<pubDate>Thu, 20 Nov 2008 19:09:58 +0000</pubDate>
		<guid isPermaLink="false">http://www.selikoff.net/blog/?p=607#comment-589</guid>
		<description>Great. So true !
This is one of the amazing aspects where the conclusion is so clear and easy to take up - but most developers don&#039;t ask that question. 3NF is holy, if you don&#039;t normalize till it hurts you&#039;re a bad developer and you&#039;ll be contracted by an awful disease soon ;-) .
Good to read that someone has the ba... to have an own opinion.
Thanks !</description>
		<content:encoded><![CDATA[<p>Great. So true !<br />
This is one of the amazing aspects where the conclusion is so clear and easy to take up &#8211; but most developers don&#8217;t ask that question. 3NF is holy, if you don&#8217;t normalize till it hurts you&#8217;re a bad developer and you&#8217;ll be contracted by an awful disease soon <img src='http://www.selikoff.net/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  .<br />
Good to read that someone has the ba&#8230; to have an own opinion.<br />
Thanks !</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mike</title>
		<link>http://www.selikoff.net/2008/11/19/why-too-much-database-normalization-can-be-a-bad-thing/comment-page-1/#comment-587</link>
		<dc:creator>Mike</dc:creator>
		<pubDate>Thu, 20 Nov 2008 15:36:52 +0000</pubDate>
		<guid isPermaLink="false">http://www.selikoff.net/blog/?p=607#comment-587</guid>
		<description>It is true that joins have a cost, but the cost is primarily in CPU.  The cost of denormalizing is in disk.  Now it is true that disk is cheap, but CPU performance has improved more dramatically in recent years, more so than disk speed.  (In fact the increase of disk capacity may have reduced the performance of many disk systems in practice, because a wider RAID array with more spindles is no longer necessary from a space point of view).  From a performance point of view, disk is still orders of magnitude slower than memory.

I tested the countries example in MS SQL Server.  At 10,000 rows there was not much difference, but by 160,000 rows there were clearly fewer logical reads in the normalized model.</description>
		<content:encoded><![CDATA[<p>It is true that joins have a cost, but the cost is primarily in CPU.  The cost of denormalizing is in disk.  Now it is true that disk is cheap, but CPU performance has improved more dramatically in recent years, more so than disk speed.  (In fact the increase of disk capacity may have reduced the performance of many disk systems in practice, because a wider RAID array with more spindles is no longer necessary from a space point of view).  From a performance point of view, disk is still orders of magnitude slower than memory.</p>
<p>I tested the countries example in MS SQL Server.  At 10,000 rows there was not much difference, but by 160,000 rows there were clearly fewer logical reads in the normalized model.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Lars Hoss</title>
		<link>http://www.selikoff.net/2008/11/19/why-too-much-database-normalization-can-be-a-bad-thing/comment-page-1/#comment-585</link>
		<dc:creator>Lars Hoss</dc:creator>
		<pubDate>Thu, 20 Nov 2008 12:42:55 +0000</pubDate>
		<guid isPermaLink="false">http://www.selikoff.net/blog/?p=607#comment-585</guid>
		<description>I agree that too much normalization can have negative impacts for read performance. But it helps to reduce redundancy and maintain integrity. Quite often it also depends on the database you are using. Almost every MySQL developer will tell you that joins suck and you better use denormalized tables for best speed. Things are different for PostgreSQL or even Oracle, though. And things like Materialized Views can help to improve read performance as well. 
Some days ago I had to &quot;fix&quot; a table from someone who thinks that normalization is bad. This table has 80 columns. Columns like cost_age30, cost_age31, cost_age32 ...
Now imaging how queries do look like on those tables *sigh*</description>
		<content:encoded><![CDATA[<p>I agree that too much normalization can have negative impacts for read performance. But it helps to reduce redundancy and maintain integrity. Quite often it also depends on the database you are using. Almost every MySQL developer will tell you that joins suck and you better use denormalized tables for best speed. Things are different for PostgreSQL or even Oracle, though. And things like Materialized Views can help to improve read performance as well.<br />
Some days ago I had to &#8220;fix&#8221; a table from someone who thinks that normalization is bad. This table has 80 columns. Columns like cost_age30, cost_age31, cost_age32 &#8230;<br />
Now imaging how queries do look like on those tables *sigh*</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Milos Misic</title>
		<link>http://www.selikoff.net/2008/11/19/why-too-much-database-normalization-can-be-a-bad-thing/comment-page-1/#comment-584</link>
		<dc:creator>Milos Misic</dc:creator>
		<pubDate>Thu, 20 Nov 2008 11:58:56 +0000</pubDate>
		<guid isPermaLink="false">http://www.selikoff.net/blog/?p=607#comment-584</guid>
		<description>Nice article, I&#039;m no db-expert but I agree with the point you made about too much normalization though your example with country table and USA as an example isn&#039;t that good. For instance I am from Serbia and this country has changed its name several times, from &#039;Yugoslavia&#039;; &#039;Serbia and Montenegro&#039; to only &#039;Serbia&#039;. So even country table isn&#039;t &#039;static&#039; as you wrote.</description>
		<content:encoded><![CDATA[<p>Nice article, I&#8217;m no db-expert but I agree with the point you made about too much normalization though your example with country table and USA as an example isn&#8217;t that good. For instance I am from Serbia and this country has changed its name several times, from &#8216;Yugoslavia&#8217;; &#8216;Serbia and Montenegro&#8217; to only &#8216;Serbia&#8217;. So even country table isn&#8217;t &#8217;static&#8217; as you wrote.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
