<?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: Exadata and Oracle Database Machine parallelization clarified</title>
	<atom:link href="http://www.dbms2.com/2008/09/28/exadata-oracle-database-machine-parallelization/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.dbms2.com/2008/09/28/exadata-oracle-database-machine-parallelization/</link>
	<description>Choices in data management and analysis</description>
	<lastBuildDate>Thu, 04 Mar 2010 04:56:40 -0500</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Oracle Exadata and Oracle data warehouse appliance sound bites &#124; DBMS2 -- DataBase Management System Services</title>
		<link>http://www.dbms2.com/2008/09/28/exadata-oracle-database-machine-parallelization/comment-page-1/#comment-101702</link>
		<dc:creator>Oracle Exadata and Oracle data warehouse appliance sound bites &#124; DBMS2 -- DataBase Management System Services</dc:creator>
		<pubDate>Wed, 12 Nov 2008 03:33:07 +0000</pubDate>
		<guid isPermaLink="false">http://www.dbms2.com/?p=580#comment-101702</guid>
		<description>[...] Medium-long term, the Exadata technical strategy could work very well. Exadata storage management addresses some of the problems with shared-everything; Oracle RAC addresses other; and it may not take many releases before Oracle gets query parallelization right as well. Edit: This point is superseded by my updated take on Oracle query parallelization. [...]</description>
		<content:encoded><![CDATA[<p>[...] Medium-long term, the Exadata technical strategy could work very well. Exadata storage management addresses some of the problems with shared-everything; Oracle RAC addresses other; and it may not take many releases before Oracle gets query parallelization right as well. Edit: This point is superseded by my updated take on Oracle query parallelization. [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Greg Rahn</title>
		<link>http://www.dbms2.com/2008/09/28/exadata-oracle-database-machine-parallelization/comment-page-1/#comment-99223</link>
		<dc:creator>Greg Rahn</dc:creator>
		<pubDate>Mon, 13 Oct 2008 05:58:41 +0000</pubDate>
		<guid isPermaLink="false">http://www.dbms2.com/?p=580#comment-99223</guid>
		<description>@Mike

I&#039;m assuming you are quoting from the &lt;a href=&quot;http://www.oracle.com/technology/products/bi/db/exadata/pdf/exadata-technical-whitepaper.pdf&quot; rel=&quot;nofollow&quot;&gt;Exadata Technical Whitepaper&lt;/a&gt;.  

&lt;strong&gt;&lt;em&gt;If there is function shipping occuring between the DBMS server and the underlying storage then why exactly do you need the ASM to present a shared disk view of all cells to each of the 8 Oracle DBMS servers?&lt;/em&gt;
&lt;/strong&gt;

The &quot;function shipping&quot; applies to the smart scan offload processing.  ASM is the integrated database volume and file system manager.  Two different bits of functionality, both are required. 

&lt;strong&gt;&lt;em&gt;Are we saying that a query is NOT parallelised across the 8 servers at all?&lt;/em&gt;&lt;/strong&gt;

Queries can be parallelized on one database server (intra-node parallelism), or across database servers (inter-node parallelism).  The latter closely resembles shared-nothing query parallelism.

&lt;strong&gt;&lt;em&gt;Are we saying that a query runs within 1 of the 8 only and the parallelisation is in the back end. &lt;/em&gt;&lt;/strong&gt;

Operations are parallelized at both the database and Exadata layers.
I might suggest the &lt;a href=&quot;http://www.oracle.com/technology/products/bi/db/11g/pdf/twp_bidw_parallel_execution_11gr1.pdf&quot; rel=&quot;nofollow&quot;&gt;Oracle SQL Parallel Execution paper&lt;/a&gt; for more details on Oracle Parallel Query.

&lt;strong&gt;&lt;em&gt;In that case would it not be true that each Oracle instance would need access to a “global catalog” to know precisely where the data is (i.e. on each disk) in order to parallelise a query and function ship the parts of the query to just the nodes that have the data? &lt;/em&gt;&lt;/strong&gt;

The database instance knows what files have a given table&#039;s blocks, but ASM knows where those files are physically located on the LUNs.

&lt;strong&gt;&lt;em&gt;It seems interesting that each cell has two quad-core processors and 32GB memory. The DBMS nodes are also two quad-core processors with 8GB memory.&lt;/em&gt;&lt;/strong&gt;

You have it reversed.  Exadata has 2 quad-core CPUs and 8GB memory, the database nodes have 2 quad-core CPUs and 32GB memory.  Less memory on the Exadata servers. 


&lt;strong&gt;&lt;em&gt;My key question is where is the global catalog? If there isn’t one then I am confused as to how function shipping occurs. I would also like to know more about what CELLSRV actually is.&lt;/em&gt;&lt;/strong&gt;

The only &quot;global catalog&quot; that contains the physical layout is ASM.  The Exadata Storage Software (CELLSRV) is just simply a &quot;smart&quot; block server and filtering application.  This is also covered in the Exadata Technical Whitepaper.

It might help to mention that one can have have multiple non-Exadata storage arrays in the same manor that one can have multiple Exadata storage servers.  The difference being that w/o Exadata, all the processing (query and disk operations) are handled by the database CPUs.  With Exadata, the disk operations as well as the offload processing (smart scans) are handled by the storage server CPUs.    

Hopefully that addresses your questions.</description>
		<content:encoded><![CDATA[<p>@Mike</p>
<p>I&#8217;m assuming you are quoting from the <a href="http://www.oracle.com/technology/products/bi/db/exadata/pdf/exadata-technical-whitepaper.pdf" onclick="javascript:pageTracker._trackPageview('/www.oracle.com');" rel="nofollow">Exadata Technical Whitepaper</a>.  </p>
<p><strong><em>If there is function shipping occuring between the DBMS server and the underlying storage then why exactly do you need the ASM to present a shared disk view of all cells to each of the 8 Oracle DBMS servers?</em><br />
</strong></p>
<p>The &#8220;function shipping&#8221; applies to the smart scan offload processing.  ASM is the integrated database volume and file system manager.  Two different bits of functionality, both are required. </p>
<p><strong><em>Are we saying that a query is NOT parallelised across the 8 servers at all?</em></strong></p>
<p>Queries can be parallelized on one database server (intra-node parallelism), or across database servers (inter-node parallelism).  The latter closely resembles shared-nothing query parallelism.</p>
<p><strong><em>Are we saying that a query runs within 1 of the 8 only and the parallelisation is in the back end. </em></strong></p>
<p>Operations are parallelized at both the database and Exadata layers.<br />
I might suggest the <a href="http://www.oracle.com/technology/products/bi/db/11g/pdf/twp_bidw_parallel_execution_11gr1.pdf" onclick="javascript:pageTracker._trackPageview('/www.oracle.com');" rel="nofollow">Oracle SQL Parallel Execution paper</a> for more details on Oracle Parallel Query.</p>
<p><strong><em>In that case would it not be true that each Oracle instance would need access to a “global catalog” to know precisely where the data is (i.e. on each disk) in order to parallelise a query and function ship the parts of the query to just the nodes that have the data? </em></strong></p>
<p>The database instance knows what files have a given table&#8217;s blocks, but ASM knows where those files are physically located on the LUNs.</p>
<p><strong><em>It seems interesting that each cell has two quad-core processors and 32GB memory. The DBMS nodes are also two quad-core processors with 8GB memory.</em></strong></p>
<p>You have it reversed.  Exadata has 2 quad-core CPUs and 8GB memory, the database nodes have 2 quad-core CPUs and 32GB memory.  Less memory on the Exadata servers. </p>
<p><strong><em>My key question is where is the global catalog? If there isn’t one then I am confused as to how function shipping occurs. I would also like to know more about what CELLSRV actually is.</em></strong></p>
<p>The only &#8220;global catalog&#8221; that contains the physical layout is ASM.  The Exadata Storage Software (CELLSRV) is just simply a &#8220;smart&#8221; block server and filtering application.  This is also covered in the Exadata Technical Whitepaper.</p>
<p>It might help to mention that one can have have multiple non-Exadata storage arrays in the same manor that one can have multiple Exadata storage servers.  The difference being that w/o Exadata, all the processing (query and disk operations) are handled by the database CPUs.  With Exadata, the disk operations as well as the offload processing (smart scans) are handled by the storage server CPUs.    </p>
<p>Hopefully that addresses your questions.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mike Ferguson</title>
		<link>http://www.dbms2.com/2008/09/28/exadata-oracle-database-machine-parallelization/comment-page-1/#comment-99154</link>
		<dc:creator>Mike Ferguson</dc:creator>
		<pubDate>Sun, 12 Oct 2008 15:32:23 +0000</pubDate>
		<guid isPermaLink="false">http://www.dbms2.com/?p=580#comment-99154</guid>
		<description>Curt,
I would be interested in what you discover at your meeting. I would be interested in asking a rather direct question - Is CELLSRV really an Oracle Instance in disguise?</description>
		<content:encoded><![CDATA[<p>Curt,<br />
I would be interested in what you discover at your meeting. I would be interested in asking a rather direct question &#8211; Is CELLSRV really an Oracle Instance in disguise?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Curt Monash</title>
		<link>http://www.dbms2.com/2008/09/28/exadata-oracle-database-machine-parallelization/comment-page-1/#comment-99153</link>
		<dc:creator>Curt Monash</dc:creator>
		<pubDate>Sun, 12 Oct 2008 14:27:50 +0000</pubDate>
		<guid isPermaLink="false">http://www.dbms2.com/?p=580#comment-99153</guid>
		<description>Mike,

I don&#039;t know, but those are excellent questions.  Hopefully somebody from Oracle will address them when I visit on Thursday.  We&#039;ve set aside 2 1/2 + hours for DW + Exadata, so I&#039;m looking forward to a fairly deep dive.</description>
		<content:encoded><![CDATA[<p>Mike,</p>
<p>I don&#8217;t know, but those are excellent questions.  Hopefully somebody from Oracle will address them when I visit on Thursday.  We&#8217;ve set aside 2 1/2 + hours for DW + Exadata, so I&#8217;m looking forward to a fairly deep dive.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mike Ferguson</title>
		<link>http://www.dbms2.com/2008/09/28/exadata-oracle-database-machine-parallelization/comment-page-1/#comment-99146</link>
		<dc:creator>Mike Ferguson</dc:creator>
		<pubDate>Sun, 12 Oct 2008 13:41:18 +0000</pubDate>
		<guid isPermaLink="false">http://www.dbms2.com/?p=580#comment-99146</guid>
		<description>Curt,
I wonder if you could help me.  I am still trying to get my head around Exadata. More specifically the link between the DBMS servers and the Exadata Storage Servers (cells). The Oracle white paper states that &quot;Oracle Exadata enables function shipping from the database instance to the underlying storage&quot;. My question is this. If there is function shipping occuring between the DBMS server and the underlying storage then why exactly do you need the ASM to present a shared disk view of all cells to each of the 8 Oracle DBMS servers? Are we saying that a query is NOT parallelised across the 8 servers at all? Are we saying that a query runs within 1 of the 8 only and the parallelisation is in the back end. In that case would it not be true that each Oracle instance would need access to a &quot;global catalog&quot; to know precisely where the data is (i.e. on each disk) in order to parallelise a query and function ship the parts of the query to just the nodes that have the data? I have seen nothing that states that the Oracle optimiser in an instance of Oracle running in the Database Machine has such a global catalog (or does each of the 8 database servers simply see it via the ASM on a virtual shared disk?) to know the precise location of the data on the disks.  If a global catalog is not visible at the Oracle DBMS level then it would seem that a query would be parallelised across all cells and the CELLSRV software running in each cell would have to function like a cut down version of the Oracle DBMS? Would you agree? This CELLSRV software appears to have the smarts to do selections and projections on data within its cell and potentially some in-place join processing also. It seems interesting that each cell has two quad-core processors and 32GB memory. The DBMS nodes are also two quad-core processors with 8GB memory. While I can easily see that more memory is needed in a cell to get through more data before sending back the filtered result subset I wondered if the CELLSRV software is parallelising its subquery to exploit all 8 cores in the cell? 

My key question is where is the global catalog? If there isn&#039;t one then I am confused as to how function shipping occurs. I would also like to know more about what CELLSRV actually is.</description>
		<content:encoded><![CDATA[<p>Curt,<br />
I wonder if you could help me.  I am still trying to get my head around Exadata. More specifically the link between the DBMS servers and the Exadata Storage Servers (cells). The Oracle white paper states that &#8220;Oracle Exadata enables function shipping from the database instance to the underlying storage&#8221;. My question is this. If there is function shipping occuring between the DBMS server and the underlying storage then why exactly do you need the ASM to present a shared disk view of all cells to each of the 8 Oracle DBMS servers? Are we saying that a query is NOT parallelised across the 8 servers at all? Are we saying that a query runs within 1 of the 8 only and the parallelisation is in the back end. In that case would it not be true that each Oracle instance would need access to a &#8220;global catalog&#8221; to know precisely where the data is (i.e. on each disk) in order to parallelise a query and function ship the parts of the query to just the nodes that have the data? I have seen nothing that states that the Oracle optimiser in an instance of Oracle running in the Database Machine has such a global catalog (or does each of the 8 database servers simply see it via the ASM on a virtual shared disk?) to know the precise location of the data on the disks.  If a global catalog is not visible at the Oracle DBMS level then it would seem that a query would be parallelised across all cells and the CELLSRV software running in each cell would have to function like a cut down version of the Oracle DBMS? Would you agree? This CELLSRV software appears to have the smarts to do selections and projections on data within its cell and potentially some in-place join processing also. It seems interesting that each cell has two quad-core processors and 32GB memory. The DBMS nodes are also two quad-core processors with 8GB memory. While I can easily see that more memory is needed in a cell to get through more data before sending back the filtered result subset I wondered if the CELLSRV software is parallelising its subquery to exploit all 8 cores in the cell? </p>
<p>My key question is where is the global catalog? If there isn&#8217;t one then I am confused as to how function shipping occurs. I would also like to know more about what CELLSRV actually is.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Rick Powell</title>
		<link>http://www.dbms2.com/2008/09/28/exadata-oracle-database-machine-parallelization/comment-page-1/#comment-98246</link>
		<dc:creator>Rick Powell</dc:creator>
		<pubDate>Wed, 01 Oct 2008 20:13:20 +0000</pubDate>
		<guid isPermaLink="false">http://www.dbms2.com/?p=580#comment-98246</guid>
		<description>Oracle has been working solutions on clustered databases since 1987 when version 6.2 came out with Oracle Parallel Server (OPS).  This product was improved through version 8.n and was renamed Real Application Clusters when version 9.n came out.  What it provides is the ability to pull together the power of multiple servers to satisfy database needs.  It also provides fault tolerance to allow a database to continue in the event that a server is lost.  

What is interesting in this latest offering is the Exadata Storage Server and how it can be employed to provide data throughput (20GB/Sec uncompressed / 50GB/Sec compressed).  The ability to couple the exadata storage server, infiniband and RAC clusters will yield a significant improvement for database servers and those applications consume large amounts of data (such as DW, DSS and BI).   

To me the question is to what extent can the Infiniband and Exadata Storage Server provide improvement for OLTP environments.  Exadata Storage Server is optimized for data reads, but can it be optimized for writes too.</description>
		<content:encoded><![CDATA[<p>Oracle has been working solutions on clustered databases since 1987 when version 6.2 came out with Oracle Parallel Server (OPS).  This product was improved through version 8.n and was renamed Real Application Clusters when version 9.n came out.  What it provides is the ability to pull together the power of multiple servers to satisfy database needs.  It also provides fault tolerance to allow a database to continue in the event that a server is lost.  </p>
<p>What is interesting in this latest offering is the Exadata Storage Server and how it can be employed to provide data throughput (20GB/Sec uncompressed / 50GB/Sec compressed).  The ability to couple the exadata storage server, infiniband and RAC clusters will yield a significant improvement for database servers and those applications consume large amounts of data (such as DW, DSS and BI).   </p>
<p>To me the question is to what extent can the Infiniband and Exadata Storage Server provide improvement for OLTP environments.  Exadata Storage Server is optimized for data reads, but can it be optimized for writes too.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ben Werther</title>
		<link>http://www.dbms2.com/2008/09/28/exadata-oracle-database-machine-parallelization/comment-page-1/#comment-98223</link>
		<dc:creator>Ben Werther</dc:creator>
		<pubDate>Wed, 01 Oct 2008 05:08:43 +0000</pubDate>
		<guid isPermaLink="false">http://www.dbms2.com/?p=580#comment-98223</guid>
		<description>Hi Curt,

Thanks for the note. I&#039;m impressed by your coverage of all of these recent announcements and the good questions you have been asking.

In my note I was really questioning the notion that Oracle now has a shared-nothing MPP architecture and that Exadata increases parallelism and reduces the dependency on RAC.

Consider a few points:

- Oracle isn&#039;t claiming to have made any notable changes to the database layer. As always, to execute a large analytical query across multiple machines on Oracle, you need a combination of Oracle ASM (to handle data partitioning), Oracle RAC (to coordinate between the multiple machines) and Parallel Query (to break up the work into multiple threads of execution).

- Oracle&#039;s RAC architecture (prior to 10g) had all inter-machine communication (for joins processing, etc) going through the shared file system. All this disk coordination was really slow, so in 10g they split RAC&#039;s processing into two layers -- file system sharing (which still required that every database machine be able to see all the storage) -- and &#039;memory channel&#039; which is their name for the network connection between machines through which they push data for join processing.
  --&gt; i.e. Exadata provides more storage bandwidth, but doesn&#039;t provide parallel query execution or inter-node coordination -- that is RAC&#039;s job. Without RAC you&#039;d just have a bunch of database servers independently reading and writing from shared Exadata storage - but not working together to execute large queries in parallel.

- When designing Exadata, they had to make some interesting compromises. They wanted to leverage commodity storage and eliminate SAN bandwidth limitations. But, because each RAC database server fundamentally needs to see all the storage, they couldn&#039;t use the shared-nothing MPP approach of Teradata, Netezza and Greenplum where nodes have dedicated storage and all communication is just inter-node traffic for join processing. So instead they built a commodity &#039;SAN replacement&#039; where the storage and compute are separate.

- However with that there is a problem. The Exadata architecture requires that lots of data must be pushed between the storage and server nodes -- data that would never need to be pumped over the network if the storage and compute were colocated. Even with expensive Infiniband they need to reduce the data transmitted - hence the &#039;intelligent storage&#039; concept. Because they&#039;ve split the processing they need to invent a separate pre-processing layer to try to reduce the overhead they&#039;ve introduced. But this layer can&#039;t do too much or it will interfere with Oracle&#039;s processing, so they are only pushing down the trivial predicate filtering operation.
  --&gt; i.e. Exadata provides a shared storage infrastructure suitable for a shared-disk architecture. It doesn&#039;t make Oracle a shared-nothing architecture, and by consequence most processing can&#039;t be pushed down to the disks.

- By contrast, in a Greenplum system we&#039;ll often get upwards of 2GB/s storage bandwidth within a node, and each node will execute its part of the query plan which could include arbitrary SQL (incl pre-aggregation, windowing and more), MapReduce processing, R/Perl/Python functions, etc. Our commodity interconnect fabric moves data between nodes for join processing, and there&#039;s plenty of bandwidth because we don&#039;t need to compete with storage traffic. Finally there&#039;s no artificial split of processing, and everything is processed as close to the data as possible.

Anyway, this is a long-winded answer, but hopefully this clarifies things a little further.

 Regards,
  Ben
[http://www.greenplum.com/news/blogs/]</description>
		<content:encoded><![CDATA[<p>Hi Curt,</p>
<p>Thanks for the note. I&#8217;m impressed by your coverage of all of these recent announcements and the good questions you have been asking.</p>
<p>In my note I was really questioning the notion that Oracle now has a shared-nothing MPP architecture and that Exadata increases parallelism and reduces the dependency on RAC.</p>
<p>Consider a few points:</p>
<p>- Oracle isn&#8217;t claiming to have made any notable changes to the database layer. As always, to execute a large analytical query across multiple machines on Oracle, you need a combination of Oracle ASM (to handle data partitioning), Oracle RAC (to coordinate between the multiple machines) and Parallel Query (to break up the work into multiple threads of execution).</p>
<p>- Oracle&#8217;s RAC architecture (prior to 10g) had all inter-machine communication (for joins processing, etc) going through the shared file system. All this disk coordination was really slow, so in 10g they split RAC&#8217;s processing into two layers &#8212; file system sharing (which still required that every database machine be able to see all the storage) &#8212; and &#8216;memory channel&#8217; which is their name for the network connection between machines through which they push data for join processing.<br />
  &#8211;&gt; i.e. Exadata provides more storage bandwidth, but doesn&#8217;t provide parallel query execution or inter-node coordination &#8212; that is RAC&#8217;s job. Without RAC you&#8217;d just have a bunch of database servers independently reading and writing from shared Exadata storage &#8211; but not working together to execute large queries in parallel.</p>
<p>- When designing Exadata, they had to make some interesting compromises. They wanted to leverage commodity storage and eliminate SAN bandwidth limitations. But, because each RAC database server fundamentally needs to see all the storage, they couldn&#8217;t use the shared-nothing MPP approach of Teradata, Netezza and Greenplum where nodes have dedicated storage and all communication is just inter-node traffic for join processing. So instead they built a commodity &#8216;SAN replacement&#8217; where the storage and compute are separate.</p>
<p>- However with that there is a problem. The Exadata architecture requires that lots of data must be pushed between the storage and server nodes &#8212; data that would never need to be pumped over the network if the storage and compute were colocated. Even with expensive Infiniband they need to reduce the data transmitted &#8211; hence the &#8216;intelligent storage&#8217; concept. Because they&#8217;ve split the processing they need to invent a separate pre-processing layer to try to reduce the overhead they&#8217;ve introduced. But this layer can&#8217;t do too much or it will interfere with Oracle&#8217;s processing, so they are only pushing down the trivial predicate filtering operation.<br />
  &#8211;&gt; i.e. Exadata provides a shared storage infrastructure suitable for a shared-disk architecture. It doesn&#8217;t make Oracle a shared-nothing architecture, and by consequence most processing can&#8217;t be pushed down to the disks.</p>
<p>- By contrast, in a Greenplum system we&#8217;ll often get upwards of 2GB/s storage bandwidth within a node, and each node will execute its part of the query plan which could include arbitrary SQL (incl pre-aggregation, windowing and more), MapReduce processing, R/Perl/Python functions, etc. Our commodity interconnect fabric moves data between nodes for join processing, and there&#8217;s plenty of bandwidth because we don&#8217;t need to compete with storage traffic. Finally there&#8217;s no artificial split of processing, and everything is processed as close to the data as possible.</p>
<p>Anyway, this is a long-winded answer, but hopefully this clarifies things a little further.</p>
<p> Regards,<br />
  Ben<br />
[http://www.greenplum.com/news/blogs/]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Curt Monash</title>
		<link>http://www.dbms2.com/2008/09/28/exadata-oracle-database-machine-parallelization/comment-page-1/#comment-98168</link>
		<dc:creator>Curt Monash</dc:creator>
		<pubDate>Mon, 29 Sep 2008 21:16:17 +0000</pubDate>
		<guid isPermaLink="false">http://www.dbms2.com/?p=580#comment-98168</guid>
		<description>Hi Ben,

What part of what I posted do you believe is incorrect?  Your post seems to contradict mine in part, but I&#039;m not sure what your evidence or basis is for doing so.

Also -- in another thread (the one based on Eric Lai&#039;s article) -- I posted a question to Greenplum, namely what did Scott mean by $20 K/TB -- spinning disk or user data?  Help would be appreciated.

Best,

CAM</description>
		<content:encoded><![CDATA[<p>Hi Ben,</p>
<p>What part of what I posted do you believe is incorrect?  Your post seems to contradict mine in part, but I&#8217;m not sure what your evidence or basis is for doing so.</p>
<p>Also &#8212; in another thread (the one based on Eric Lai&#8217;s article) &#8212; I posted a question to Greenplum, namely what did Scott mean by $20 K/TB &#8212; spinning disk or user data?  Help would be appreciated.</p>
<p>Best,</p>
<p>CAM</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ben Werther</title>
		<link>http://www.dbms2.com/2008/09/28/exadata-oracle-database-machine-parallelization/comment-page-1/#comment-98161</link>
		<dc:creator>Ben Werther</dc:creator>
		<pubDate>Mon, 29 Sep 2008 18:25:55 +0000</pubDate>
		<guid isPermaLink="false">http://www.dbms2.com/?p=580#comment-98161</guid>
		<description>With Oracle Exadata, Oracle has addressed the obvious low-hanging fruit of slow I/O performance, but all the existing architectural problems of RAC remain (i.e. weaknesses in parallel query planning and inefficient movement of data between nodes for execution of complex joins and aggregations).

Oracle&#039;s Exadata isn&#039;t a shared-nothing architecture. It is the same old RAC shared-disk architecture, but with a faster I/O pipe. Why else would they force you to have separate storage and database nodes? It is because RAC has a fundamental limitation that requires that every server can see all the storage in order to function.

This means that the processing is happening on an entirely different box than the one accessing the data in disk. Oracle’s ‘intelligent storage’ story (i.e. predicate pushdown) is a baby step to reduce this deficiency by pushing around less data, but doesn’t address the core issue.

By contrast Greenplum’s shared-nothing architecture means that the database lives on the storage nodes. This allows it to fully parallelize SQL, MapReduce and R (for statistical analysis), and do state-of-the-art analysis directly against the data — which makes Oracle’s ‘intelligent storage’ look extremely trivial by comparison. 

Until Oracle is able to run the entire database directly against their disks (i.e. a shared-nothing architecture) they are going to be living with fundamental processing limitations. 

For more details-- http://www.greenplum.com/news/blogs/</description>
		<content:encoded><![CDATA[<p>With Oracle Exadata, Oracle has addressed the obvious low-hanging fruit of slow I/O performance, but all the existing architectural problems of RAC remain (i.e. weaknesses in parallel query planning and inefficient movement of data between nodes for execution of complex joins and aggregations).</p>
<p>Oracle&#8217;s Exadata isn&#8217;t a shared-nothing architecture. It is the same old RAC shared-disk architecture, but with a faster I/O pipe. Why else would they force you to have separate storage and database nodes? It is because RAC has a fundamental limitation that requires that every server can see all the storage in order to function.</p>
<p>This means that the processing is happening on an entirely different box than the one accessing the data in disk. Oracle’s ‘intelligent storage’ story (i.e. predicate pushdown) is a baby step to reduce this deficiency by pushing around less data, but doesn’t address the core issue.</p>
<p>By contrast Greenplum’s shared-nothing architecture means that the database lives on the storage nodes. This allows it to fully parallelize SQL, MapReduce and R (for statistical analysis), and do state-of-the-art analysis directly against the data — which makes Oracle’s ‘intelligent storage’ look extremely trivial by comparison. </p>
<p>Until Oracle is able to run the entire database directly against their disks (i.e. a shared-nothing architecture) they are going to be living with fundamental processing limitations. </p>
<p>For more details&#8211; <a href="http://www.greenplum.com/news/blogs/" onclick="javascript:pageTracker._trackPageview('/www.greenplum.com');" rel="nofollow">http://www.greenplum.com/news/blogs/</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: So what&#8217;s Oracle&#8217;s MPP-aware optimizer and query execution plan story? &#124; DBMS2 -- DataBase Management System Services</title>
		<link>http://www.dbms2.com/2008/09/28/exadata-oracle-database-machine-parallelization/comment-page-1/#comment-98129</link>
		<dc:creator>So what&#8217;s Oracle&#8217;s MPP-aware optimizer and query execution plan story? &#124; DBMS2 -- DataBase Management System Services</dc:creator>
		<pubDate>Mon, 29 Sep 2008 02:43:11 +0000</pubDate>
		<guid isPermaLink="false">http://www.dbms2.com/?p=580#comment-98129</guid>
		<description>[...] Edit: Answers to the title question have now shown up, and so the post below is now superseded by this one. [...]</description>
		<content:encoded><![CDATA[<p>[...] Edit: Answers to the title question have now shown up, and so the post below is now superseded by this one. [...]</p>
]]></content:encoded>
	</item>
</channel>
</rss>

<!-- Dynamic page generated in 0.785 seconds. -->
<!-- Cached page generated by WP-Super-Cache on 2010-03-04 10:09:51 -->
