<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
		>
<channel>
	<title>Comments on: Philosophy – 3</title>
	<atom:link href="http://jonathanlewis.wordpress.com/2009/07/30/philosophy-3/feed/" rel="self" type="application/rss+xml" />
	<link>http://jonathanlewis.wordpress.com/2009/07/30/philosophy-3/</link>
	<description>Just another Oracle weblog</description>
	<lastBuildDate>Mon, 20 May 2013 17:10:14 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
	<item>
		<title>By: Jonathan Lewis</title>
		<link>http://jonathanlewis.wordpress.com/2009/07/30/philosophy-3/#comment-34072</link>
		<dc:creator><![CDATA[Jonathan Lewis]]></dc:creator>
		<pubDate>Fri, 07 Aug 2009 07:21:05 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/?p=1849#comment-34072</guid>
		<description><![CDATA[Todor,

An additional thought to clarify the distinction I wanted to make.  

Parallel Query and Compression allow you to handle the same data volume and data distribtion faster - but the correct structural approach allows you to get the results by handling a smaller volume of data and/or a better distribution of data.]]></description>
		<content:encoded><![CDATA[<p>Todor,</p>
<p>An additional thought to clarify the distinction I wanted to make.  </p>
<p>Parallel Query and Compression allow you to handle the same data volume and data distribtion faster &#8211; but the correct structural approach allows you to get the results by handling a smaller volume of data and/or a better distribution of data.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jonathan Lewis</title>
		<link>http://jonathanlewis.wordpress.com/2009/07/30/philosophy-3/#comment-34067</link>
		<dc:creator><![CDATA[Jonathan Lewis]]></dc:creator>
		<pubDate>Thu, 06 Aug 2009 17:41:26 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/?p=1849#comment-34067</guid>
		<description><![CDATA[Todor,

Remember that my comment was that your performance should be related to the size of the data you&#039;re interested in. In your example your problem arises when you&#039;re interested in (almost) all of the data.

Your idea of range partitioning by amount would be a relevant suggestion if someone made this a requirement of their system.

One refinement might be summary tables on (amount, month, sum(amount by month)) range-list partitioned by month; another approach would obviously be to explain the workload associated with the requirement as stated and propose an alternative that used a small set of &quot;amount ranges&quot; rather than one row per amount per month.]]></description>
		<content:encoded><![CDATA[<p>Todor,</p>
<p>Remember that my comment was that your performance should be related to the size of the data you&#8217;re interested in. In your example your problem arises when you&#8217;re interested in (almost) all of the data.</p>
<p>Your idea of range partitioning by amount would be a relevant suggestion if someone made this a requirement of their system.</p>
<p>One refinement might be summary tables on (amount, month, sum(amount by month)) range-list partitioned by month; another approach would obviously be to explain the workload associated with the requirement as stated and propose an alternative that used a small set of &#8220;amount ranges&#8221; rather than one row per amount per month.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Todor Botev</title>
		<link>http://jonathanlewis.wordpress.com/2009/07/30/philosophy-3/#comment-34040</link>
		<dc:creator><![CDATA[Todor Botev]]></dc:creator>
		<pubDate>Tue, 04 Aug 2009 20:43:45 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/?p=1849#comment-34040</guid>
		<description><![CDATA[I agree with you.

But how would you &quot;structurally&quot; approach the following: &quot;give me the summary amount, aggregated by month, of all transactions with amount bigger than X&quot; where X can be supplied ad hoc.

 - you need to access every single transaction to check the amount - hence a summary table would not help

 - you could think of range partitioning by amount - but if X is small enough you still would need to access most of the data]]></description>
		<content:encoded><![CDATA[<p>I agree with you.</p>
<p>But how would you &#8220;structurally&#8221; approach the following: &#8220;give me the summary amount, aggregated by month, of all transactions with amount bigger than X&#8221; where X can be supplied ad hoc.</p>
<p> &#8211; you need to access every single transaction to check the amount &#8211; hence a summary table would not help</p>
<p> &#8211; you could think of range partitioning by amount &#8211; but if X is small enough you still would need to access most of the data</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jonathan Lewis</title>
		<link>http://jonathanlewis.wordpress.com/2009/07/30/philosophy-3/#comment-34027</link>
		<dc:creator><![CDATA[Jonathan Lewis]]></dc:creator>
		<pubDate>Mon, 03 Aug 2009 21:28:29 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/?p=1849#comment-34027</guid>
		<description><![CDATA[If the volume of data that you need to access increases with time, then you&#039;re talking about a different problem - and things like paralel query and compression are only temporary solutions (or temporary adjustments to performance). In that circumstance you could equally well say that buying a bigger machine is an option to add to the list of structural choices.  (And I mean that quite seriously -  I have been involved with a couple systems where the design included specification for the rate at which new hardware would have to be added each year to keep critical response times flat.)

A different view point, though, for &lt;em&gt;&lt;strong&gt;many&lt;/strong&gt;&lt;/em&gt; systems where the &quot;interesting&quot; data volumes are growing is - what about materialized views, or simple summary tables, or even summary rows ? 

Many of the performance problems I see start on day one, because no-one says: &lt;em&gt;&quot;how will this design respond to this query in five years time&quot;&lt;/em&gt;. Yet there are many ways in which simple structural feature can ensure that the work the database has to do in five years time is no more than the work it has to do after the first few weeks.]]></description>
		<content:encoded><![CDATA[<p>If the volume of data that you need to access increases with time, then you&#8217;re talking about a different problem &#8211; and things like paralel query and compression are only temporary solutions (or temporary adjustments to performance). In that circumstance you could equally well say that buying a bigger machine is an option to add to the list of structural choices.  (And I mean that quite seriously &#8211;  I have been involved with a couple systems where the design included specification for the rate at which new hardware would have to be added each year to keep critical response times flat.)</p>
<p>A different view point, though, for <em><strong>many</strong></em> systems where the &#8220;interesting&#8221; data volumes are growing is &#8211; what about materialized views, or simple summary tables, or even summary rows ? </p>
<p>Many of the performance problems I see start on day one, because no-one says: <em>&#8220;how will this design respond to this query in five years time&#8221;</em>. Yet there are many ways in which simple structural feature can ensure that the work the database has to do in five years time is no more than the work it has to do after the first few weeks.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jonathan Lewis</title>
		<link>http://jonathanlewis.wordpress.com/2009/07/30/philosophy-3/#comment-34026</link>
		<dc:creator><![CDATA[Jonathan Lewis]]></dc:creator>
		<pubDate>Mon, 03 Aug 2009 21:15:45 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/?p=1849#comment-34026</guid>
		<description><![CDATA[Carlos,
Working out how to handle the &quot;distribution/demographics&quot; is a very important part of the physical implementation. If your performance slows down with the size of the database it&#039;s probably that aspect of the physical implementation that you haven&#039;t catered for properly.]]></description>
		<content:encoded><![CDATA[<p>Carlos,<br />
Working out how to handle the &#8220;distribution/demographics&#8221; is a very important part of the physical implementation. If your performance slows down with the size of the database it&#8217;s probably that aspect of the physical implementation that you haven&#8217;t catered for properly.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Todor Botev</title>
		<link>http://jonathanlewis.wordpress.com/2009/07/30/philosophy-3/#comment-34022</link>
		<dc:creator><![CDATA[Todor Botev]]></dc:creator>
		<pubDate>Mon, 03 Aug 2009 11:58:54 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/?p=1849#comment-34022</guid>
		<description><![CDATA[I would add &quot;parallel query&quot; and &quot;compression&quot; to the list of structural choices.

If your query really needs to access lots of data and that data gets more with the time, then compressing the data and reading it parallel might be your way to scale.]]></description>
		<content:encoded><![CDATA[<p>I would add &#8220;parallel query&#8221; and &#8220;compression&#8221; to the list of structural choices.</p>
<p>If your query really needs to access lots of data and that data gets more with the time, then compressing the data and reading it parallel might be your way to scale.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: carlosal</title>
		<link>http://jonathanlewis.wordpress.com/2009/07/30/philosophy-3/#comment-34010</link>
		<dc:creator><![CDATA[carlosal]]></dc:creator>
		<pubDate>Fri, 31 Jul 2009 07:07:16 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/?p=1849#comment-34010</guid>
		<description><![CDATA[Jonathan:

&gt;&gt;&quot;The performance of a query should be related to the size of the data set you’re 
interested in, not to the size of the database.&quot;

Just a thought: and what about the distribution/demographics?

Cheers.

Carlos.]]></description>
		<content:encoded><![CDATA[<p>Jonathan:</p>
<p>&gt;&gt;&#8221;The performance of a query should be related to the size of the data set you’re<br />
interested in, not to the size of the database.&#8221;</p>
<p>Just a thought: and what about the distribution/demographics?</p>
<p>Cheers.</p>
<p>Carlos.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
