<?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: Asynchronous Database Access in Ruby</title>
	<atom:link href="http://www.igvita.com/2008/09/05/asynchronous-database-access-in-ruby/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.igvita.com/2008/09/05/asynchronous-database-access-in-ruby/</link>
	<description>A goal is a dream with a deadline.</description>
	<pubDate>Thu, 11 Mar 2010 20:15:12 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7.1</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: links for 2009-12-17 &#171; Bloggitation</title>
		<link>http://www.igvita.com/2008/09/05/asynchronous-database-access-in-ruby/comment-page-1/#comment-226371</link>
		<dc:creator>links for 2009-12-17 &#171; Bloggitation</dc:creator>
		<pubDate>Fri, 18 Dec 2009 06:08:08 +0000</pubDate>
		<guid isPermaLink="false">http://www.igvita.com/?p=191#comment-226371</guid>
		<description>[...] Asynchronous Database Access in Ruby &#8211; igvita.com (tags: ruby database mysql eventmachine programming) [...]</description>
		<content:encoded><![CDATA[<p>[...] Asynchronous Database Access in Ruby &#8211; igvita.com (tags: ruby database mysql eventmachine programming) [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: links for 2008-09-24 &#171; Brent Sordyl&#8217;s Blog</title>
		<link>http://www.igvita.com/2008/09/05/asynchronous-database-access-in-ruby/comment-page-1/#comment-134570</link>
		<dc:creator>links for 2008-09-24 &#171; Brent Sordyl&#8217;s Blog</dc:creator>
		<pubDate>Wed, 24 Sep 2008 14:01:11 +0000</pubDate>
		<guid isPermaLink="false">http://www.igvita.com/?p=191#comment-134570</guid>
		<description>[...] Asynchronous Database Access in Ruby Ruby alternative, keep an eye on Aman Gupta&#39;s recent project: em-mysql. An EventMachine wrapper around MySQLPlus, it is already showing very promising results: (tags: ruby rubyonrails performance mysql eventmachine) [...]</description>
		<content:encoded><![CDATA[<p>[...] Asynchronous Database Access in Ruby Ruby alternative, keep an eye on Aman Gupta&#39;s recent project: em-mysql. An EventMachine wrapper around MySQLPlus, it is already showing very promising results: (tags: ruby rubyonrails performance mysql eventmachine) [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ilya Grigorik</title>
		<link>http://www.igvita.com/2008/09/05/asynchronous-database-access-in-ruby/comment-page-1/#comment-125955</link>
		<dc:creator>Ilya Grigorik</dc:creator>
		<pubDate>Mon, 08 Sep 2008 01:35:26 +0000</pubDate>
		<guid isPermaLink="false">http://www.igvita.com/?p=191#comment-125955</guid>
		<description>Gregg, oldmoe pretty much covered it. I wanted to simulate a web-server benchmark, hence I used EM to create a simple HTTP web-server. However, EM-MySQL also uses the same reactor loop to interface in async fashion with the DB. Hence, yes, the request to the DB is sent immediately. 

Hope that clears it up - if not, keep asking!</description>
		<content:encoded><![CDATA[<p>Gregg, oldmoe pretty much covered it. I wanted to simulate a web-server benchmark, hence I used EM to create a simple HTTP web-server. However, EM-MySQL also uses the same reactor loop to interface in async fashion with the DB. Hence, yes, the request to the DB is sent immediately. </p>
<p>Hope that clears it up - if not, keep asking!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Desire Mesh &#187; Blog Archive &#187; Asynchronous database access in Ruby</title>
		<link>http://www.igvita.com/2008/09/05/asynchronous-database-access-in-ruby/comment-page-1/#comment-125777</link>
		<dc:creator>Desire Mesh &#187; Blog Archive &#187; Asynchronous database access in Ruby</dc:creator>
		<pubDate>Sun, 07 Sep 2008 16:02:59 +0000</pubDate>
		<guid isPermaLink="false">http://www.igvita.com/?p=191#comment-125777</guid>
		<description>[...] one commenter mentions in this post: &#8220;Looks like Asynchronous database access is the next big thing.&#8221; Well, it looks like [...]</description>
		<content:encoded><![CDATA[<p>[...] one commenter mentions in this post: &#8220;Looks like Asynchronous database access is the next big thing.&#8221; Well, it looks like [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: oldmoe</title>
		<link>http://www.igvita.com/2008/09/05/asynchronous-database-access-in-ruby/comment-page-1/#comment-125359</link>
		<dc:creator>oldmoe</dc:creator>
		<pubDate>Sat, 06 Sep 2008 16:59:05 +0000</pubDate>
		<guid isPermaLink="false">http://www.igvita.com/?p=191#comment-125359</guid>
		<description>@Gregg, EventMachine is serving a dual purpose here. It listens for connection requests on port 8083 and it also listens on the file descriptors of the mysql connections for readbility notifications. As you can see in the example, the query is given a callback block which will be run when you receive a notification from EM that there is data available for this connection. This callback handling is hidden by the EventedMySQL driver.</description>
		<content:encoded><![CDATA[<p>@Gregg, EventMachine is serving a dual purpose here. It listens for connection requests on port 8083 and it also listens on the file descriptors of the mysql connections for readbility notifications. As you can see in the example, the query is given a callback block which will be run when you receive a notification from EM that there is data available for this connection. This callback handling is hidden by the EventedMySQL driver.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Gregg Pollack</title>
		<link>http://www.igvita.com/2008/09/05/asynchronous-database-access-in-ruby/comment-page-1/#comment-125357</link>
		<dc:creator>Gregg Pollack</dc:creator>
		<pubDate>Sat, 06 Sep 2008 16:48:55 +0000</pubDate>
		<guid isPermaLink="false">http://www.igvita.com/?p=191#comment-125357</guid>
		<description>It's not entirely clear to me what EventMachine adds to the mix here.  Is it just acting as a network server?  so you could send all database requests at it, and it takes care of running and returning the results?

You're not using "proc" and allowing each request to hit the database as it comes in (which is the benefit of a non-blocking mysql driver).  Or is that hidden behind EventedMysql? and it's actually hitting the db immediately?</description>
		<content:encoded><![CDATA[<p>It&#8217;s not entirely clear to me what EventMachine adds to the mix here.  Is it just acting as a network server?  so you could send all database requests at it, and it takes care of running and returning the results?</p>
<p>You&#8217;re not using &#8220;proc&#8221; and allowing each request to hit the database as it comes in (which is the benefit of a non-blocking mysql driver).  Or is that hidden behind EventedMysql? and it&#8217;s actually hitting the db immediately?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: oldmoe</title>
		<link>http://www.igvita.com/2008/09/05/asynchronous-database-access-in-ruby/comment-page-1/#comment-125121</link>
		<dc:creator>oldmoe</dc:creator>
		<pubDate>Sat, 06 Sep 2008 04:02:13 +0000</pubDate>
		<guid isPermaLink="false">http://www.igvita.com/?p=191#comment-125121</guid>
		<description>@Ilya, the Ruby 1.8 implementation is based on a Fiber emulator written by Aman Gupta. It implements fibers via Ruby green threads and so far I have seen only a small performance penalty. Complete thread safety is not even a requirement as fibers will not be preempted (within the thread that created them of course). Using the fiber pool limits the number of fibers (threads) and thus lessens the performance impact as well. Check here: http://www.espace.com.eg/neverblock/blog/2008/09/04/neverblock-instant-scaling-for-your-rails-apps/</description>
		<content:encoded><![CDATA[<p>@Ilya, the Ruby 1.8 implementation is based on a Fiber emulator written by Aman Gupta. It implements fibers via Ruby green threads and so far I have seen only a small performance penalty. Complete thread safety is not even a requirement as fibers will not be preempted (within the thread that created them of course). Using the fiber pool limits the number of fibers (threads) and thus lessens the performance impact as well. Check here: <a href="http://www.espace.com.eg/neverblock/blog/2008/09/04/neverblock-instant-scaling-for-your-rails-apps/" rel="nofollow">http://www.espace.com.eg/neverblock/blog/2008/09/04/neverblock-instant-scaling-for-your-rails-apps/</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ilya Grigorik</title>
		<link>http://www.igvita.com/2008/09/05/asynchronous-database-access-in-ruby/comment-page-1/#comment-125091</link>
		<dc:creator>Ilya Grigorik</dc:creator>
		<pubDate>Sat, 06 Sep 2008 02:34:33 +0000</pubDate>
		<guid isPermaLink="false">http://www.igvita.com/?p=191#comment-125091</guid>
		<description>Bastiaan, I believe the Ruby 1.8 implementation uses coroutines, which are extremely slow and inefficient in the current MRI - probably not something you'd want to use in practice.</description>
		<content:encoded><![CDATA[<p>Bastiaan, I believe the Ruby 1.8 implementation uses coroutines, which are extremely slow and inefficient in the current MRI - probably not something you&#8217;d want to use in practice.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Bastiaan Peters</title>
		<link>http://www.igvita.com/2008/09/05/asynchronous-database-access-in-ruby/comment-page-1/#comment-125043</link>
		<dc:creator>Bastiaan Peters</dc:creator>
		<pubDate>Sat, 06 Sep 2008 00:21:34 +0000</pubDate>
		<guid isPermaLink="false">http://www.igvita.com/?p=191#comment-125043</guid>
		<description>I believe people here [http://www.espace.com.eg/neverblock/blog/2008/08/28/neverblock-mysql-support/] claim 1.8.x support for neverblock?</description>
		<content:encoded><![CDATA[<p>I believe people here [http://www.espace.com.eg/neverblock/blog/2008/08/28/neverblock-mysql-support/] claim 1.8.x support for neverblock?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Stephen Paul Weber</title>
		<link>http://www.igvita.com/2008/09/05/asynchronous-database-access-in-ruby/comment-page-1/#comment-124674</link>
		<dc:creator>Stephen Paul Weber</dc:creator>
		<pubDate>Fri, 05 Sep 2008 13:31:39 +0000</pubDate>
		<guid isPermaLink="false">http://www.igvita.com/?p=191#comment-124674</guid>
		<description>&lt;blockquote&gt;provide a great abstraction layer, which hides much of the database access logic and complexity&lt;/blockquote&gt;

Hence why I don't like it too much...</description>
		<content:encoded><![CDATA[<blockquote><p>provide a great abstraction layer, which hides much of the database access logic and complexity</p></blockquote>
<p>Hence why I don&#8217;t like it too much&#8230;</p>
]]></content:encoded>
	</item>
</channel>
</rss>
