<?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: Comparing Document-oriented Databases</title>
	<atom:link href="http://www.mikeperham.com/2009/09/01/comparing-document-oriented-databases/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.mikeperham.com/2009/09/01/comparing-document-oriented-databases/</link>
	<description>On Ruby, software and the Internet</description>
	<lastBuildDate>Wed, 21 Jul 2010 20:03:10 -0500</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Andy</title>
		<link>http://www.mikeperham.com/2009/09/01/comparing-document-oriented-databases/comment-page-1/#comment-663</link>
		<dc:creator>Andy</dc:creator>
		<pubDate>Fri, 04 Jun 2010 14:07:49 +0000</pubDate>
		<guid isPermaLink="false">http://www.mikeperham.com/?p=323#comment-663</guid>
		<description>&gt; Couch and Mongo support more complex structures (arrays, hashes) as values.  Tokyo only supports basic datatypes.

Tokyo actually does support hashes (via &quot;table&quot; extension which has nothing to do with rigid RDBMS tables) but they are &quot;flat&quot; (key/value pairs with a primary key). Still, this is flexible enough for most cases.</description>
		<content:encoded><![CDATA[<p>> Couch and Mongo support more complex structures (arrays, hashes) as values.  Tokyo only supports basic datatypes.</p>
<p>Tokyo actually does support hashes (via &#8220;table&#8221; extension which has nothing to do with rigid RDBMS tables) but they are &#8220;flat&#8221; (key/value pairs with a primary key). Still, this is flexible enough for most cases.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jumping aboard the NOSQL train &#124; crealytics Blog</title>
		<link>http://www.mikeperham.com/2009/09/01/comparing-document-oriented-databases/comment-page-1/#comment-492</link>
		<dc:creator>Jumping aboard the NOSQL train &#124; crealytics Blog</dc:creator>
		<pubDate>Mon, 08 Mar 2010 16:41:28 +0000</pubDate>
		<guid isPermaLink="false">http://www.mikeperham.com/?p=323#comment-492</guid>
		<description>[...] feature comparison you could possibly wish for. We did some research into some of the fairly good comparisons out there but they tend to be outdated pretty quickly with this blazingly fast evolving topic, so [...]</description>
		<content:encoded><![CDATA[<p>[...] feature comparison you could possibly wish for. We did some research into some of the fairly good comparisons out there but they tend to be outdated pretty quickly with this blazingly fast evolving topic, so [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Document-oriented Database Shootout Part 2: Performance</title>
		<link>http://www.mikeperham.com/2009/09/01/comparing-document-oriented-databases/comment-page-1/#comment-429</link>
		<dc:creator>Document-oriented Database Shootout Part 2: Performance</dc:creator>
		<pubDate>Sat, 17 Oct 2009 02:40:56 +0000</pubDate>
		<guid isPermaLink="false">http://www.mikeperham.com/?p=323#comment-429</guid>
		<description>[...] talking about document-oriented databases in general in Part 1, for Part 2 I&#8217;ve written some code comparing MongDB 1.1.1, CouchDBX 0.9.1 and Tokyo Tyrant [...]</description>
		<content:encoded><![CDATA[<p>[...] talking about document-oriented databases in general in Part 1, for Part 2 I&#8217;ve written some code comparing MongDB 1.1.1, CouchDBX 0.9.1 and Tokyo Tyrant [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Shane K Johnson &#187; Blog Archive &#187; How I learned to say &#8216;No&#8217; to SQL</title>
		<link>http://www.mikeperham.com/2009/09/01/comparing-document-oriented-databases/comment-page-1/#comment-423</link>
		<dc:creator>Shane K Johnson &#187; Blog Archive &#187; How I learned to say &#8216;No&#8217; to SQL</dc:creator>
		<pubDate>Wed, 30 Sep 2009 14:23:34 +0000</pubDate>
		<guid isPermaLink="false">http://www.mikeperham.com/?p=323#comment-423</guid>
		<description>[...] blog post provides a nice comparison of the differences between CouchDB and Tokyo [...]</description>
		<content:encoded><![CDATA[<p>[...] blog post provides a nice comparison of the differences between CouchDB and Tokyo [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Stephen</title>
		<link>http://www.mikeperham.com/2009/09/01/comparing-document-oriented-databases/comment-page-1/#comment-411</link>
		<dc:creator>Stephen</dc:creator>
		<pubDate>Fri, 04 Sep 2009 02:12:41 +0000</pubDate>
		<guid isPermaLink="false">http://www.mikeperham.com/?p=323#comment-411</guid>
		<description>Nitpicking, but note that MySQL uses MVCC with the InnoDB and Falcon engines.</description>
		<content:encoded><![CDATA[<p>Nitpicking, but note that MySQL uses MVCC with the InnoDB and Falcon engines.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: dm</title>
		<link>http://www.mikeperham.com/2009/09/01/comparing-document-oriented-databases/comment-page-1/#comment-410</link>
		<dc:creator>dm</dc:creator>
		<pubDate>Wed, 02 Sep 2009 13:15:56 +0000</pubDate>
		<guid isPermaLink="false">http://www.mikeperham.com/?p=323#comment-410</guid>
		<description>Very good summary.

MongoDB supports concurrency -- it supports atomicity at the single document level only (not complex transactions like RDBMS) -- but i believe couchdb atomicity is single document too (could be wrong someone please correct me)?

MongoDB relaxes the &#039;D&#039; (durability) in acid for performance -- although can be durable by using its replication especially over-the-wan replication -- then it is highly durable IMO.

Agree with @Flinn that best cross compare might be Tyrant as it is client/server like couch and mongo.</description>
		<content:encoded><![CDATA[<p>Very good summary.</p>
<p>MongoDB supports concurrency &#8212; it supports atomicity at the single document level only (not complex transactions like RDBMS) &#8212; but i believe couchdb atomicity is single document too (could be wrong someone please correct me)?</p>
<p>MongoDB relaxes the &#8216;D&#8217; (durability) in acid for performance &#8212; although can be durable by using its replication especially over-the-wan replication &#8212; then it is highly durable IMO.</p>
<p>Agree with @Flinn that best cross compare might be Tyrant as it is client/server like couch and mongo.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Justin Leitgeb</title>
		<link>http://www.mikeperham.com/2009/09/01/comparing-document-oriented-databases/comment-page-1/#comment-409</link>
		<dc:creator>Justin Leitgeb</dc:creator>
		<pubDate>Wed, 02 Sep 2009 03:45:05 +0000</pubDate>
		<guid isPermaLink="false">http://www.mikeperham.com/?p=323#comment-409</guid>
		<description>Great to see these non-relational systems getting attention.  I&#039;ve found Tokyo Cabinet to be a very handy tool for building small apps with Sinatra, and also for building out Rails apps where constant-time lookup can be used instead of queries on an index.  Looking forward to the follow-up!</description>
		<content:encoded><![CDATA[<p>Great to see these non-relational systems getting attention.  I&#8217;ve found Tokyo Cabinet to be a very handy tool for building small apps with Sinatra, and also for building out Rails apps where constant-time lookup can be used instead of queries on an index.  Looking forward to the follow-up!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Flinn</title>
		<link>http://www.mikeperham.com/2009/09/01/comparing-document-oriented-databases/comment-page-1/#comment-408</link>
		<dc:creator>Flinn</dc:creator>
		<pubDate>Wed, 02 Sep 2009 03:00:34 +0000</pubDate>
		<guid isPermaLink="false">http://www.mikeperham.com/?p=323#comment-408</guid>
		<description>I think Tokyo Tyrant is a better comparison that Cabinet here.  For that, yes you lose transactions but you get things like master/slave and master/master replication, user defined functions (in lua) and more idiomatic Ruby interfaces, rufus-tokyo and ruby-tokyotyrant (mine).

Also, no mention on performance?  I believe the latest numbers show Tokyo Tyrant, Mongo, CouchDB in that order.  

Important to note, CouchDB uses map/reduce for it&#039;s views, dynamic queries are (supposedly) slower.  Mongo and Tyrant both support indexes in the RDBMS sense and I believe both support full text search.  Mongo allows for indexes (I believe a limit of 10 per collection at the moment).  Tyrant has no limitation on indexes (that I know of) but doesn&#039;t support collections... meaning completely irregular data and as far as I know this degrades the value of indexes, though the simple answer is to run a daemon per collection.  My guess is in both Mongo and Tyrant a full table scanning is probably faster than CouchDB (someone correct me if I&#039;m wrong).</description>
		<content:encoded><![CDATA[<p>I think Tokyo Tyrant is a better comparison that Cabinet here.  For that, yes you lose transactions but you get things like master/slave and master/master replication, user defined functions (in lua) and more idiomatic Ruby interfaces, rufus-tokyo and ruby-tokyotyrant (mine).</p>
<p>Also, no mention on performance?  I believe the latest numbers show Tokyo Tyrant, Mongo, CouchDB in that order.  </p>
<p>Important to note, CouchDB uses map/reduce for it&#8217;s views, dynamic queries are (supposedly) slower.  Mongo and Tyrant both support indexes in the RDBMS sense and I believe both support full text search.  Mongo allows for indexes (I believe a limit of 10 per collection at the moment).  Tyrant has no limitation on indexes (that I know of) but doesn&#8217;t support collections&#8230; meaning completely irregular data and as far as I know this degrades the value of indexes, though the simple answer is to run a daemon per collection.  My guess is in both Mongo and Tyrant a full table scanning is probably faster than CouchDB (someone correct me if I&#8217;m wrong).</p>
]]></content:encoded>
	</item>
</channel>
</rss>
