<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress/2.2.2" -->
<rss version="2.0" 
	xmlns:content="http://purl.org/rss/1.0/modules/content/">
<channel>
	<title>Comments on: Kickfire: stream-processing SQL queries</title>
	<link>http://www.xaprb.com/blog/2008/04/04/kickfire-stream-processing-sql-queries/</link>
	<description>Stay curious!</description>
	<pubDate>Thu, 24 Jul 2008 00:20:23 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.2.2</generator>

	<item>
		<title>By: zillablog</title>
		<link>http://www.xaprb.com/blog/2008/04/04/kickfire-stream-processing-sql-queries/#comment-14437</link>
		<author>zillablog</author>
		<pubDate>Tue, 15 Apr 2008 04:34:10 +0000</pubDate>
		<guid>http://www.xaprb.com/blog/2008/04/04/kickfire-stream-processing-sql-queries/#comment-14437</guid>
		<description>&lt;strong&gt;Where there's smoke, there's Kickfire...&lt;/strong&gt;

Over the weekend I had a chance to catch up on some of my favorite database oriented blogs, and I noticed a number of them were mentioning the upcoming Kickfire engine/appliance based around MySQL. Always a sucker to read about Yet Another MySQL Engine...</description>
		<content:encoded><![CDATA[<p><strong>Where there&#8217;s smoke, there&#8217;s Kickfire&#8230;</strong></p>
<p>Over the weekend I had a chance to catch up on some of my favorite database oriented blogs, and I noticed a number of them were mentioning the upcoming Kickfire engine/appliance based around MySQL. Always a sucker to read about Yet Another MySQL Engine&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dan</title>
		<link>http://www.xaprb.com/blog/2008/04/04/kickfire-stream-processing-sql-queries/#comment-14429</link>
		<author>Dan</author>
		<pubDate>Sun, 13 Apr 2008 12:30:15 +0000</pubDate>
		<guid>http://www.xaprb.com/blog/2008/04/04/kickfire-stream-processing-sql-queries/#comment-14429</guid>
		<description>I suspect along with their own "stream processor" there will be at least one other general purpose processor in the device.  Looking at other industries where the same sort of thing is done (again, going with the graphics analogies that are being spoken about at the moment), stream processors all on their own are non-existent to my knowledge.

Most database engines that specialize in OLAP will use column-stored data.  Kickfire sounds like it analyses queries with a general-purpose processor which also co-ordinates standard file handling/locking, figures out which column(s) it will need access to, initiate the data transfer from disk to the steam processor, and then push the data direct to the dedicated processor, letting it work it's highly-optimised magic on the data that comes down the pipe (I'm guessing basic match/discard/logic operations).  

It sounds like a pretty simple concept, honestly, and one I'm surprised nobody has implemented to date.  Data store will be the final bottleneck, and even then if you can get a disk to push 250MB/s (with something like SAN/fibrechannel), you wouldn't need a stream processor to be all that fast (speaking in clockspeed) to deal with the data being pushed into it.  Again, think realtime video or audio effects on data streams, only SQL functions instead of pixel shaders or audio distortions.

Again, I'm surprised it hasn't been done before.  Particularly given the money big vendors like Oracle and IBM sink into their DB development every year.</description>
		<content:encoded><![CDATA[<p>I suspect along with their own &#8220;stream processor&#8221; there will be at least one other general purpose processor in the device.  Looking at other industries where the same sort of thing is done (again, going with the graphics analogies that are being spoken about at the moment), stream processors all on their own are non-existent to my knowledge.</p>
<p>Most database engines that specialize in OLAP will use column-stored data.  Kickfire sounds like it analyses queries with a general-purpose processor which also co-ordinates standard file handling/locking, figures out which column(s) it will need access to, initiate the data transfer from disk to the steam processor, and then push the data direct to the dedicated processor, letting it work it&#8217;s highly-optimised magic on the data that comes down the pipe (I&#8217;m guessing basic match/discard/logic operations).  </p>
<p>It sounds like a pretty simple concept, honestly, and one I&#8217;m surprised nobody has implemented to date.  Data store will be the final bottleneck, and even then if you can get a disk to push 250MB/s (with something like SAN/fibrechannel), you wouldn&#8217;t need a stream processor to be all that fast (speaking in clockspeed) to deal with the data being pushed into it.  Again, think realtime video or audio effects on data streams, only SQL functions instead of pixel shaders or audio distortions.</p>
<p>Again, I&#8217;m surprised it hasn&#8217;t been done before.  Particularly given the money big vendors like Oracle and IBM sink into their DB development every year.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Nathaniel</title>
		<link>http://www.xaprb.com/blog/2008/04/04/kickfire-stream-processing-sql-queries/#comment-14415</link>
		<author>Nathaniel</author>
		<pubDate>Tue, 08 Apr 2008 04:21:34 +0000</pubDate>
		<guid>http://www.xaprb.com/blog/2008/04/04/kickfire-stream-processing-sql-queries/#comment-14415</guid>
		<description>Good article, even for the non-SQL savvy people out here. I like how you keep pointing out the environmental impacts of computing. Many of us feel that working with computers is one profession that is immune to affecting the environment. Unfortunately it is expensive and wasteful - we just don't see it all. I guess I'm feeling a bit sore lately because  my flatscreen monitor just went bad and will cost as much to fix as to buy a replacement. I digress...</description>
		<content:encoded><![CDATA[<p>Good article, even for the non-SQL savvy people out here. I like how you keep pointing out the environmental impacts of computing. Many of us feel that working with computers is one profession that is immune to affecting the environment. Unfortunately it is expensive and wasteful - we just don&#8217;t see it all. I guess I&#8217;m feeling a bit sore lately because  my flatscreen monitor just went bad and will cost as much to fix as to buy a replacement. I digress&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Xaprb</title>
		<link>http://www.xaprb.com/blog/2008/04/04/kickfire-stream-processing-sql-queries/#comment-14408</link>
		<author>Xaprb</author>
		<pubDate>Sat, 05 Apr 2008 13:31:30 +0000</pubDate>
		<guid>http://www.xaprb.com/blog/2008/04/04/kickfire-stream-processing-sql-queries/#comment-14408</guid>
		<description>vsmi, sure.  I will be expanding on this in an upcoming post.  I have a crude understanding of how they've really implemented this stream-processing in hardware, but I should know for real in a week.  I'm refraining from writing more until then :-)</description>
		<content:encoded><![CDATA[<p>vsmi, sure.  I will be expanding on this in an upcoming post.  I have a crude understanding of how they&#8217;ve really implemented this stream-processing in hardware, but I should know for real in a week.  I&#8217;m refraining from writing more until then :-)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: vsmi</title>
		<link>http://www.xaprb.com/blog/2008/04/04/kickfire-stream-processing-sql-queries/#comment-14407</link>
		<author>vsmi</author>
		<pubDate>Fri, 04 Apr 2008 21:33:06 +0000</pubDate>
		<guid>http://www.xaprb.com/blog/2008/04/04/kickfire-stream-processing-sql-queries/#comment-14407</guid>
		<description>I might be wrong, but this sounds similar SIMD, and very close to how I know most DSPs work. And yes, this is kind of hardware that functional languages are designed for.</description>
		<content:encoded><![CDATA[<p>I might be wrong, but this sounds similar SIMD, and very close to how I know most DSPs work. And yes, this is kind of hardware that functional languages are designed for.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Xaprb</title>
		<link>http://www.xaprb.com/blog/2008/04/04/kickfire-stream-processing-sql-queries/#comment-14406</link>
		<author>Xaprb</author>
		<pubDate>Fri, 04 Apr 2008 18:33:45 +0000</pubDate>
		<guid>http://www.xaprb.com/blog/2008/04/04/kickfire-stream-processing-sql-queries/#comment-14406</guid>
		<description>It is supposed to excel at this type of query, but how it does that is another question entirely.  I'll definitely be asking this.</description>
		<content:encoded><![CDATA[<p>It is supposed to excel at this type of query, but how it does that is another question entirely.  I&#8217;ll definitely be asking this.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dewey</title>
		<link>http://www.xaprb.com/blog/2008/04/04/kickfire-stream-processing-sql-queries/#comment-14405</link>
		<author>Dewey</author>
		<pubDate>Fri, 04 Apr 2008 17:39:05 +0000</pubDate>
		<guid>http://www.xaprb.com/blog/2008/04/04/kickfire-stream-processing-sql-queries/#comment-14405</guid>
		<description>Baron....this is way over my head, but I'm curious if it would also have advantages during correlated sub queries??  In that case, you don't know what row (or even table if there is case stmt branching) of data you need until you get there and so that data can't be "pushed" in advance (unless they push all tables (in total?) through the bus as the default)......would you ask them about that?   Even if they tried to move that much data, seems like there would be timing issues regarding when rows needed together, pass through at different times...

Very interesting stuff..
Thanks---Dewey</description>
		<content:encoded><![CDATA[<p>Baron&#8230;.this is way over my head, but I&#8217;m curious if it would also have advantages during correlated sub queries??  In that case, you don&#8217;t know what row (or even table if there is case stmt branching) of data you need until you get there and so that data can&#8217;t be &#8220;pushed&#8221; in advance (unless they push all tables (in total?) through the bus as the default)&#8230;&#8230;would you ask them about that?   Even if they tried to move that much data, seems like there would be timing issues regarding when rows needed together, pass through at different times&#8230;</p>
<p>Very interesting stuff..<br />
Thanks&#8212;Dewey</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Xaprb</title>
		<link>http://www.xaprb.com/blog/2008/04/04/kickfire-stream-processing-sql-queries/#comment-14404</link>
		<author>Xaprb</author>
		<pubDate>Fri, 04 Apr 2008 14:29:02 +0000</pubDate>
		<guid>http://www.xaprb.com/blog/2008/04/04/kickfire-stream-processing-sql-queries/#comment-14404</guid>
		<description>Honestly I studied the Cell processor in university, but I've forgotten everything I learned.  And I have not gotten back into chip architecture since then so I'm very rusty.  But yes, that Wikipedia article is about the same concept, &lt;strong&gt;at least as much as Kickfire has explained to me so far&lt;/strong&gt;.

The article also points out that stream processing isn't as suited for small amounts of data, which is why I said I'm curious about overall performance.  Does it perform well for SELECT * FROM TBL WHERE id=500?  I have no idea yet.</description>
		<content:encoded><![CDATA[<p>Honestly I studied the Cell processor in university, but I&#8217;ve forgotten everything I learned.  And I have not gotten back into chip architecture since then so I&#8217;m very rusty.  But yes, that Wikipedia article is about the same concept, <strong>at least as much as Kickfire has explained to me so far</strong>.</p>
<p>The article also points out that stream processing isn&#8217;t as suited for small amounts of data, which is why I said I&#8217;m curious about overall performance.  Does it perform well for SELECT * FROM TBL WHERE id=500?  I have no idea yet.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Johan</title>
		<link>http://www.xaprb.com/blog/2008/04/04/kickfire-stream-processing-sql-queries/#comment-14403</link>
		<author>Johan</author>
		<pubDate>Fri, 04 Apr 2008 14:11:29 +0000</pubDate>
		<guid>http://www.xaprb.com/blog/2008/04/04/kickfire-stream-processing-sql-queries/#comment-14403</guid>
		<description>This makes me think of Cell, with it's "stream processors"
Specifically mentioned on http://en.wikipedia.org/wiki/Stream_processing

Is this similar? :)</description>
		<content:encoded><![CDATA[<p>This makes me think of Cell, with it&#8217;s &#8220;stream processors&#8221;<br />
Specifically mentioned on <a href="http://en.wikipedia.org/wiki/Stream_processing" rel="nofollow">http://en.wikipedia.org/wiki/Stream_processing</a></p>
<p>Is this similar? :)</p>
]]></content:encoded>
	</item>
</channel>
</rss>
