<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"><channel><title>Disqus - Latest Comments for btaylor</title><link>http://disqus.com/people/btaylor/</link><description></description><language>en</language><lastBuildDate>Tue, 03 Nov 2009 16:26:16 -0000</lastBuildDate><item><title>Re: How FriendFeed uses MySQL to store schema-less data - Bret Taylor's blog</title><link>http://brettaylor.disqus.com/how_friendfeed_uses_mysql_to_store_schema_less_data_bret_taylors_blog/#comment-21784383</link><description>What level of gz compression did you all settle on as the appropriate size/speed trade-off?</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Kris Jordan</dc:creator><pubDate>Tue, 03 Nov 2009 16:26:16 -0000</pubDate></item><item><title>Re: The technology behind Tornado, FriendFeed's web server - Bret Taylor's blog</title><link>http://brettaylor.disqus.com/the_technology_behind_tornado_friendfeeds_web_server_bret_taylors_blog_19/#comment-17882663</link><description>Running said demo gives 500 error.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">stanley</dc:creator><pubDate>Wed, 30 Sep 2009 15:19:42 -0000</pubDate></item><item><title>Re: test - David Krisch's blog</title><link>http://davidkrisch.disqus.com/test_david_krischs_blog/#comment-16947571</link><description>My apologies.  I have disabled the application until I have learned more about Disqus configuration.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">davidkrisch</dc:creator><pubDate>Sat, 19 Sep 2009 23:27:05 -0000</pubDate></item><item><title>Re: test - David Krisch's blog</title><link>http://davidkrisch.disqus.com/test_david_krischs_blog/#comment-16930829</link><description>Mind updating your disqus ID? I am getting emails for all these comments because they are still associated with the "bretttaylor" disqus ID from my blog template that you copied.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">btaylor</dc:creator><pubDate>Sat, 19 Sep 2009 15:59:58 -0000</pubDate></item><item><title>Re: Experimenting with Google App Engine - Bret Taylor's blog</title><link>http://brettaylor.disqus.com/experimenting_with_google_app_engine_bret_taylors_blog_39/#comment-16512919</link><description>The source code for this blog is now checked in at &lt;a href="http://github.com/finiteloop/blog/tree/master" rel="nofollow"&gt;http://github.com/finiteloop/blog/tree/master&lt;/a&gt; now that we have open sourced Tornado (&lt;a href="http://bret.appspot.com/entry/tornado-web-server" rel="nofollow"&gt;http://bret.appspot.com/entry/tornado-web-server&lt;/a&gt;).</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">btaylor</dc:creator><pubDate>Sat, 12 Sep 2009 17:41:10 -0000</pubDate></item><item><title>Re: The technology behind Tornado, FriendFeed's web server - Bret Taylor's blog</title><link>http://brettaylor.disqus.com/the_technology_behind_tornado_friendfeeds_web_server_bret_taylors_blog_19/#comment-16500492</link><description>The asynchronous features are not available in Google AppEngine, but a subset of Tornado's features do work in AppEngine. See &lt;a href="http://www.tornadoweb.org/documentation#wsgi-and-google-appengine" rel="nofollow"&gt;http://www.tornadoweb.org/documentation#wsgi-an...&lt;/a&gt; and the included "appengine" example for a full-featured App Engine example app.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">btaylor</dc:creator><pubDate>Sat, 12 Sep 2009 12:07:10 -0000</pubDate></item><item><title>Re: The technology behind Tornado, FriendFeed's web server - Bret Taylor's blog</title><link>http://brettaylor.disqus.com/the_technology_behind_tornado_friendfeeds_web_server_bret_taylors_blog_19/#comment-16425280</link><description>I posted a performance test of Tornado and Twisted.web here:&lt;br&gt;&lt;br&gt;&lt;a href="http://www.apparatusproject.org/blog/2009/09/twisted-web-vs-tornado-performance-test/" rel="nofollow"&gt;http://www.apparatusproject.org/blog/2009/09/tw...&lt;/a&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">roder</dc:creator><pubDate>Fri, 11 Sep 2009 11:49:16 -0000</pubDate></item><item><title>Re: The technology behind Tornado, FriendFeed's web server - Bret Taylor's blog</title><link>http://brettaylor.disqus.com/the_technology_behind_tornado_friendfeeds_web_server_bret_taylors_blog_19/#comment-16408819</link><description>&amp;gt; In general, it seems like Twisted is full of demo-quality stuff, but most of the protocols have tons of bugs.&lt;br&gt;&lt;br&gt;It seems like a gratuitous comment. Most protocols implemented in Twisted are the most achieved implementations available in Python. Coming from a project where we can't see any single unittests, I'm a bit skeptical. &lt;br&gt;&lt;br&gt;The complexity in Twisted core loop also comes from the support of multiple platforms. I can also see the ideas that were picked from the Twisted implementation in your loop code :) I'd like to see what would Tornado loop looks like if it supported OS X and Windows (in an efficient way, select doesn't really count).&lt;br&gt;&lt;br&gt;Also, did you consider edge-triggered epoll? It would be a really interesting test that could make a real difference from Twisted.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Thomas Hervé</dc:creator><pubDate>Fri, 11 Sep 2009 03:12:44 -0000</pubDate></item><item><title>Re: The technology behind Tornado, FriendFeed's web server - Bret Taylor's blog</title><link>http://brettaylor.disqus.com/the_technology_behind_tornado_friendfeeds_web_server_bret_taylors_blog_19/#comment-16398683</link><description>Did you file any bug reports?  I don't mean this as an implicit criticism -- I honestly wonder if you reported some bugs that might be relevant to me as a Twisted user or as a Twisted developer.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">zooko</dc:creator><pubDate>Thu, 10 Sep 2009 21:29:24 -0000</pubDate></item><item><title>Re: The technology behind Tornado, FriendFeed's web server - Bret Taylor's blog</title><link>http://brettaylor.disqus.com/the_technology_behind_tornado_friendfeeds_web_server_bret_taylors_blog_19/#comment-16389114</link><description>I can't imagine there is much of a performance difference. The bottom is not that complex in my opinion. See ioloop.py and iostream.py for the details.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">btaylor</dc:creator><pubDate>Thu, 10 Sep 2009 17:42:25 -0000</pubDate></item><item><title>Re: The technology behind Tornado, FriendFeed's web server - Bret Taylor's blog</title><link>http://brettaylor.disqus.com/the_technology_behind_tornado_friendfeeds_web_server_bret_taylors_blog_19/#comment-16318168</link><description>Yeah, I'm not a fan of the web stuff in Twisted ... however you're doing the same basic thing at the bottom... So how does Tornado compare to Twisted Web performance wise? Roughly the same?</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">progrium</dc:creator><pubDate>Thu, 10 Sep 2009 14:56:42 -0000</pubDate></item><item><title>Re: The technology behind Tornado, FriendFeed's web server - Bret Taylor's blog</title><link>http://brettaylor.disqus.com/the_technology_behind_tornado_friendfeeds_web_server_bret_taylors_blog_19/#comment-16318104</link><description>I suppose it's an application-specific thing.  inlineDeferreds is very easy, though.  I wish some of the twisted community were able to address your issues early on.&lt;br&gt;&lt;br&gt;The bigger issue is that there are places where tornado could be used today to do great good if it were built on twisted (things like buildbot really need a web framework).&lt;br&gt;&lt;br&gt;Of course, I don't mean to sound like I don't appreciate the work you guys did and gave away.  I was very excited to see it.  I just can't use it for anything right now.  :(</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">dlsspy</dc:creator><pubDate>Thu, 10 Sep 2009 14:55:25 -0000</pubDate></item><item><title>Re: The technology behind Tornado, FriendFeed's web server - Bret Taylor's blog</title><link>http://brettaylor.disqus.com/the_technology_behind_tornado_friendfeeds_web_server_bret_taylors_blog_19/#comment-16314810</link><description>When we started, we did use Twisted. In practice, I found Twisted tedious. The deferred abstraction works, but I didn't love it in practice. Likewise, the HTTP/web support in Twisted is very chaotic (see &lt;a href="http://twistedmatrix.com/trac/wiki/WebDevelopmentWithTwisted" rel="nofollow"&gt;http://twistedmatrix.com/trac/wiki/WebDevelopme...&lt;/a&gt; - even they acknowledge this). In general, it seems like Twisted is full of demo-quality stuff, but most of the protocols have tons of bugs.&lt;br&gt;&lt;br&gt;Given all those factors, it didn't seem to provide a lot of value. Our core I/O loop is actually pretty small and simple, and I think resulted in fewer bugs than would have come up if we had used Twisted.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">btaylor</dc:creator><pubDate>Thu, 10 Sep 2009 13:50:36 -0000</pubDate></item><item><title>Re: The technology behind Tornado, FriendFeed's web server - Bret Taylor's blog</title><link>http://brettaylor.disqus.com/the_technology_behind_tornado_friendfeeds_web_server_bret_taylors_blog_19/#comment-16314385</link><description>Disqus was having issues. Testing comments.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">btaylor</dc:creator><pubDate>Thu, 10 Sep 2009 13:41:54 -0000</pubDate></item><item><title>Re: How FriendFeed uses MySQL to store schema-less data - Bret Taylor's blog</title><link>http://brettaylor.disqus.com/how_friendfeed_uses_mysql_to_store_schema_less_data_bret_taylors_blog/#comment-14915031</link><description>Rockin! &lt;br&gt;I'll try and run this by database folks far smarter than myself and see if we can use it.&lt;br&gt;Thanks again Bret.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">VictusFate</dc:creator><pubDate>Sun, 16 Aug 2009 14:23:31 -0000</pubDate></item><item><title>Re: How FriendFeed uses MySQL to store schema-less data - Bret Taylor's blog</title><link>http://brettaylor.disqus.com/how_friendfeed_uses_mysql_to_store_schema_less_data_bret_taylors_blog/#comment-14914785</link><description>Replicate away - that's why we published it. FYI, the entire site is licensed under Creative Commons (&lt;a href="http://creativecommons.org/licenses/by/2.5/" rel="nofollow"&gt;http://creativecommons.org/licenses/by/2.5/&lt;/a&gt;), and all the source code under Apache 2. I am not sure which type of license is appropriate for a description of a scheme like this, so if you want an official license, you can consider it licensed under both and choose whichever seems most appropriate.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">btaylor</dc:creator><pubDate>Sun, 16 Aug 2009 14:13:15 -0000</pubDate></item><item><title>Re: How FriendFeed uses MySQL to store schema-less data - Bret Taylor's blog</title><link>http://brettaylor.disqus.com/how_friendfeed_uses_mysql_to_store_schema_less_data_bret_taylors_blog/#comment-13007427</link><description>Bret,&lt;br&gt;&lt;br&gt;We're working with the folks at Mixi and Tokyo cabinet is intersting.   &lt;a href="mailto:bobd@virident.com" rel="nofollow"&gt;bobd@virident.com&lt;/a&gt; if you'd like to connect.  We're deliveirng unparralled MySQL performance there with our Virident appliance.  Cheers,</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">bobdvirident</dc:creator><pubDate>Tue, 21 Jul 2009 14:14:35 -0000</pubDate></item><item><title>Re: How FriendFeed uses MySQL to store schema-less data - Bret Taylor's blog</title><link>http://brettaylor.disqus.com/how_friendfeed_uses_mysql_to_store_schema_less_data_bret_taylors_blog/#comment-11867309</link><description>I'm puzzled by this part.....how to get newest records?&lt;br&gt;For example, i can get them from table `entities` by:&lt;br&gt;Select `body` From `entities` Order By `added_id` Desc Limit 10&lt;br&gt;or&lt;br&gt;Select `body` From `entities` Order By `updated` Desc Limit 10&lt;br&gt;&lt;br&gt;But how to use `index_user_id` to do the same thing?&lt;br&gt;Select `entity_id` From `index_user_id` Where `user_id`='asdfasdfasdf' Order By ?????? Desc Limit 10&lt;br&gt;&lt;br&gt;I'm bad in English....sorry about that.....</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Timandes</dc:creator><pubDate>Sun, 28 Jun 2009 22:05:08 -0000</pubDate></item><item><title>Re: How FriendFeed uses MySQL to store schema-less data - Bret Taylor's blog</title><link>http://brettaylor.disqus.com/how_friendfeed_uses_mysql_to_store_schema_less_data_bret_taylors_blog/#comment-9973846</link><description>Bret, firstly thanks a lot for your post: it offered me THE argument to move forward with some of my old proposals.&lt;br&gt;&lt;br&gt;It looks to me that the "cleaner" is a very smart piece in your solution. As far as you explained it, it is an external process that populates/updates the indexes. And that means it has to read sequentially through your main tables to unpack the BLOBs extracting the field values to be placed in the index_tables and I'm wondering how have you implemented this without impacting the performance (in this case sequential access being almost the same issue as adding new indexes). I assume the sharded table is small enough (probably somewhere around 1mil records) in which case adding the index would probably perform decently enough. Or is there some secret sauce in the cleaner that I'm missing?&lt;br&gt;&lt;br&gt;I really hope you'll find the time to give a bit more details about it. Thanks in advance.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">alexpopescu</dc:creator><pubDate>Tue, 26 May 2009 18:49:48 -0000</pubDate></item><item><title>Re: How FriendFeed uses MySQL to store schema-less data - Bret Taylor's blog</title><link>http://brettaylor.disqus.com/how_friendfeed_uses_mysql_to_store_schema_less_data_bret_taylors_blog/#comment-9933642</link><description>Indexes are stored as btrees on disk, so you can iterate over them both backwards and forwards equally efficiently.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">btaylor</dc:creator><pubDate>Mon, 25 May 2009 14:30:59 -0000</pubDate></item><item><title>Re: How FriendFeed uses MySQL to store schema-less data - Bret Taylor's blog</title><link>http://brettaylor.disqus.com/how_friendfeed_uses_mysql_to_store_schema_less_data_bret_taylors_blog/#comment-9850238</link><description>Hi Bret, &lt;br&gt;&lt;br&gt;Thanks for sharing this. I have a question and I hope that you have a time to answer me.&lt;br&gt;Is the sort_time value here reversed (f.e future date minus actual time) so the PK index is ordered exactly  as the user stream visually, the newest activity on the top?&lt;br&gt;&lt;br&gt;Thanks in advance for your reply</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">zennon</dc:creator><pubDate>Sun, 24 May 2009 05:48:33 -0000</pubDate></item><item><title>Re: Why I Didn&amp;rsquo;t Get to See FriendFeed&amp;rsquo;s Redesign</title><link>http://sarahintampa.disqus.com/why_i_didnrsquot_get_to_see_friendfeedrsquos_redesign/#comment-7908954</link><description>Thanks for the personal response.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">sarahintampa</dc:creator><pubDate>Mon, 06 Apr 2009 13:45:34 -0000</pubDate></item><item><title>Re: Why I Didn&amp;rsquo;t Get to See FriendFeed&amp;rsquo;s Redesign</title><link>http://sarahintampa.disqus.com/why_i_didnrsquot_get_to_see_friendfeedrsquos_redesign/#comment-7908635</link><description>So sorry. We were pretty swamped finishing things this weekend, and am extremely sorry we didn't connect. We will make ourselves more accessible in the future. We appreciate your being so candid, and sorry again for the miscommunication on our end.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">btaylor</dc:creator><pubDate>Mon, 06 Apr 2009 13:32:20 -0000</pubDate></item><item><title>Re: How FriendFeed uses MySQL to store schema-less data - Bret Taylor's blog</title><link>http://brettaylor.disqus.com/how_friendfeed_uses_mysql_to_store_schema_less_data_bret_taylors_blog/#comment-7626895</link><description>I am definatly keen on seeing the db abstraction open sourced, because your methods for achieving schema-less db is something I really like and probably need for a future project I am planning.&lt;br&gt;&lt;br&gt;Thanks,&lt;br&gt;Paul Kinlan</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Paul Kinlan</dc:creator><pubDate>Mon, 30 Mar 2009 07:02:39 -0000</pubDate></item><item><title>Re: How FriendFeed uses MySQL to store schema-less data - Bret Taylor's blog</title><link>http://brettaylor.disqus.com/how_friendfeed_uses_mysql_to_store_schema_less_data_bret_taylors_blog/#comment-6999833</link><description>Thanks for the info.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">coder</dc:creator><pubDate>Sun, 08 Mar 2009 17:56:20 -0000</pubDate></item></channel></rss>