<?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"
	>
<channel>
	<title>Comments on: Watch out for CouchDB</title>
	<atom:link href="http://www.sitepoint.com/blogs/2007/08/30/watch-out-for-couchdb/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.sitepoint.com/blogs/2007/08/30/watch-out-for-couchdb/</link>
	<description></description>
	<pubDate>Wed, 08 Oct 2008 11:36:14 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5</generator>
		<item>
		<title>By: Damien Katz</title>
		<link>http://www.sitepoint.com/blogs/2007/08/30/watch-out-for-couchdb/#comment-372216</link>
		<dc:creator>Damien Katz</dc:creator>
		<pubDate>Fri, 07 Sep 2007 16:26:51 +0000</pubDate>
		<guid isPermaLink="false">http://www.sitepoint.com/blogs/2007/08/30/watch-out-for-couchdb/#comment-372216</guid>
		<description>Daniel, CouchDb can support multi-document commit transactions. It's trivial to implement, but doesn't work with the distributed model. If you only think relationally, CouchDb doesn't help you.

CouchDb is transactional. Documents, when saved, are either all or nothing. You cannot  have a half saved document, or a file attachment partially updated. File attachments are written concurrently, and then committed. If there is a conflict, the update is aborted. Compare this to regular updating a file on the file system read by multiple users.

For, for acid compliance, CouchDb has all the properties:
Atomic - Commits are all or nothing
Consistent - Documents and views are always a complete representations of a point in time.
Isolated - Writes by multiple concurrent updates aren't seen by others until completely commited.
Durable - the disk design of CouchDb is append-only storage which emoves the need for shutdown logic of fixup logic.</description>
		<content:encoded><![CDATA[<p>Daniel, CouchDb can support multi-document commit transactions. It&#8217;s trivial to implement, but doesn&#8217;t work with the distributed model. If you only think relationally, CouchDb doesn&#8217;t help you.</p>
<p>CouchDb is transactional. Documents, when saved, are either all or nothing. You cannot  have a half saved document, or a file attachment partially updated. File attachments are written concurrently, and then committed. If there is a conflict, the update is aborted. Compare this to regular updating a file on the file system read by multiple users.</p>
<p>For, for acid compliance, CouchDb has all the properties:<br />
Atomic - Commits are all or nothing<br />
Consistent - Documents and views are always a complete representations of a point in time.<br />
Isolated - Writes by multiple concurrent updates aren&#8217;t seen by others until completely commited.<br />
Durable - the disk design of CouchDb is append-only storage which emoves the need for shutdown logic of fixup logic.</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Jan</title>
		<link>http://www.sitepoint.com/blogs/2007/08/30/watch-out-for-couchdb/#comment-371698</link>
		<dc:creator>Jan</dc:creator>
		<pubDate>Fri, 07 Sep 2007 09:01:27 +0000</pubDate>
		<guid isPermaLink="false">http://www.sitepoint.com/blogs/2007/08/30/watch-out-for-couchdb/#comment-371698</guid>
		<description>@aranwe CouchDb handles distribution, replication, conflict-detection, fast reporting, fulltext search, authentication, quick (as in concurrent) storage and a lot more. I don't see where HTML or XML files give you all this. Above all, just convert your XML documents to JSON and dump them into CouchDb and you're all fine. JSON is just waht CouchDb uses internally. This is a good thing because it keeps our code smaller an cleaner since we don't have to do all the XML handling in the DB. You can still do that, though and JSON is an easy, yet complete, enough format to do so.</description>
		<content:encoded><![CDATA[<p>@aranwe CouchDb handles distribution, replication, conflict-detection, fast reporting, fulltext search, authentication, quick (as in concurrent) storage and a lot more. I don&#8217;t see where HTML or XML files give you all this. Above all, just convert your XML documents to JSON and dump them into CouchDb and you&#8217;re all fine. JSON is just waht CouchDb uses internally. This is a good thing because it keeps our code smaller an cleaner since we don&#8217;t have to do all the XML handling in the DB. You can still do that, though and JSON is an easy, yet complete, enough format to do so.</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Jan</title>
		<link>http://www.sitepoint.com/blogs/2007/08/30/watch-out-for-couchdb/#comment-371694</link>
		<dc:creator>Jan</dc:creator>
		<pubDate>Fri, 07 Sep 2007 08:57:03 +0000</pubDate>
		<guid isPermaLink="false">http://www.sitepoint.com/blogs/2007/08/30/watch-out-for-couchdb/#comment-371694</guid>
		<description>@Daniel CouchDb doesn't use Mnesia or Dets but a custom storage module. Your view of the data remains consistent during you fetching or adding. Not having &lt;em&gt;permanent&lt;/em&gt; connections doesn't mean you don't have connections. CouchDb's storage module does all that is promised by ACID and there's no way, other than disk failure, that CouchDb loses your data after it reports a safe write. Also, you're the first to mention transactions here or anywhere in the CouchDb documentation.</description>
		<content:encoded><![CDATA[<p>@Daniel CouchDb doesn&#8217;t use Mnesia or Dets but a custom storage module. Your view of the data remains consistent during you fetching or adding. Not having <em>permanent</em> connections doesn&#8217;t mean you don&#8217;t have connections. CouchDb&#8217;s storage module does all that is promised by ACID and there&#8217;s no way, other than disk failure, that CouchDb loses your data after it reports a safe write. Also, you&#8217;re the first to mention transactions here or anywhere in the CouchDb documentation.</p>]]></content:encoded>
	</item>
	<item>
		<title>By: aranwe</title>
		<link>http://www.sitepoint.com/blogs/2007/08/30/watch-out-for-couchdb/#comment-368774</link>
		<dc:creator>aranwe</dc:creator>
		<pubDate>Wed, 05 Sep 2007 23:54:58 +0000</pubDate>
		<guid isPermaLink="false">http://www.sitepoint.com/blogs/2007/08/30/watch-out-for-couchdb/#comment-368774</guid>
		<description>I realize this may be a pretty stupid point to make, but how is this any different than just creating static html or using xml with xquery? I'm having a hard time seeing the point of building 'yet another document storage format.' Don't we have enough to choose from yet?

Also, while the openness of the format may work well with only one or a few people updating the documents, trying to help a large number of people create views into an undefined schema would be a nightmare. I am sure this will find a small following, but I can't imagine this making huge waves.</description>
		<content:encoded><![CDATA[<p>I realize this may be a pretty stupid point to make, but how is this any different than just creating static html or using xml with xquery? I&#8217;m having a hard time seeing the point of building &#8216;yet another document storage format.&#8217; Don&#8217;t we have enough to choose from yet?</p>
<p>Also, while the openness of the format may work well with only one or a few people updating the documents, trying to help a large number of people create views into an undefined schema would be a nightmare. I am sure this will find a small following, but I can&#8217;t imagine this making huge waves.</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Daniel Lyons</title>
		<link>http://www.sitepoint.com/blogs/2007/08/30/watch-out-for-couchdb/#comment-368291</link>
		<dc:creator>Daniel Lyons</dc:creator>
		<pubDate>Wed, 05 Sep 2007 18:16:46 +0000</pubDate>
		<guid isPermaLink="false">http://www.sitepoint.com/blogs/2007/08/30/watch-out-for-couchdb/#comment-368291</guid>
		<description>It doesn't seem entirely fair to me to claim ACID compliance when you do not support connections. If I cannot stay connected, in what sense is my view of the data consistent and in what sense are my changes isolated to my connection? Furthermore, durability is a matter of implementation (is there any way that you could lose the data after you tell me my transaction is complete?) If compound operations of my devising cannot be bundled into atomic transactions, a claim of transaction support is extremely misleading. So I'd like to know in what sense CouchDB is ACID compliant, or even transactional. These properties are not automagically inherited from merely using Mnesia or Dets as your storage backend.</description>
		<content:encoded><![CDATA[<p>It doesn&#8217;t seem entirely fair to me to claim ACID compliance when you do not support connections. If I cannot stay connected, in what sense is my view of the data consistent and in what sense are my changes isolated to my connection? Furthermore, durability is a matter of implementation (is there any way that you could lose the data after you tell me my transaction is complete?) If compound operations of my devising cannot be bundled into atomic transactions, a claim of transaction support is extremely misleading. So I&#8217;d like to know in what sense CouchDB is ACID compliant, or even transactional. These properties are not automagically inherited from merely using Mnesia or Dets as your storage backend.</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Jan Lehnardt</title>
		<link>http://www.sitepoint.com/blogs/2007/08/30/watch-out-for-couchdb/#comment-364992</link>
		<dc:creator>Jan Lehnardt</dc:creator>
		<pubDate>Mon, 03 Sep 2007 19:16:29 +0000</pubDate>
		<guid isPermaLink="false">http://www.sitepoint.com/blogs/2007/08/30/watch-out-for-couchdb/#comment-364992</guid>
		<description>@Sam excellent. Damien, CouchDb's author worked on the Notes core server. Go figure :-) And getting data out _is_ easy.</description>
		<content:encoded><![CDATA[<p>@Sam excellent. Damien, CouchDb&#8217;s author worked on the Notes core server. Go figure :-) And getting data out _is_ easy.</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Sam</title>
		<link>http://www.sitepoint.com/blogs/2007/08/30/watch-out-for-couchdb/#comment-364928</link>
		<dc:creator>Sam</dc:creator>
		<pubDate>Mon, 03 Sep 2007 18:28:03 +0000</pubDate>
		<guid isPermaLink="false">http://www.sitepoint.com/blogs/2007/08/30/watch-out-for-couchdb/#comment-364928</guid>
		<description>Sounds kind of like Lotus Notes.  Notes was fine for getting data into it and working with it.  However when you wanted to get the data out it was a massive pain.</description>
		<content:encoded><![CDATA[<p>Sounds kind of like Lotus Notes.  Notes was fine for getting data into it and working with it.  However when you wanted to get the data out it was a massive pain.</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Jan Lehnardt</title>
		<link>http://www.sitepoint.com/blogs/2007/08/30/watch-out-for-couchdb/#comment-364792</link>
		<dc:creator>Jan Lehnardt</dc:creator>
		<pubDate>Mon, 03 Sep 2007 15:36:25 +0000</pubDate>
		<guid isPermaLink="false">http://www.sitepoint.com/blogs/2007/08/30/watch-out-for-couchdb/#comment-364792</guid>
		<description>@Mike CouchDb is not meant to replace relational databases. It uses just a different approach to storing and retrieving data that might or might not suit your requirements, beliefs or preconceptions.

&lt;blockquote&gt;...and I bet this will work much faster than with CouchDb ...&lt;/blockquote&gt;

is not much of an argument either, sorry :-)

CouchDb is just another tool in your workbench.</description>
		<content:encoded><![CDATA[<p>@Mike CouchDb is not meant to replace relational databases. It uses just a different approach to storing and retrieving data that might or might not suit your requirements, beliefs or preconceptions.</p>
<blockquote><p>&#8230;and I bet this will work much faster than with CouchDb &#8230;</p></blockquote>
<p>is not much of an argument either, sorry :-)</p>
<p>CouchDb is just another tool in your workbench.</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Mike Borozdin</title>
		<link>http://www.sitepoint.com/blogs/2007/08/30/watch-out-for-couchdb/#comment-363023</link>
		<dc:creator>Mike Borozdin</dc:creator>
		<pubDate>Sun, 02 Sep 2007 13:40:21 +0000</pubDate>
		<guid isPermaLink="false">http://www.sitepoint.com/blogs/2007/08/30/watch-out-for-couchdb/#comment-363023</guid>
		<description>I see no point in this. Document management can still be done with any relational databases and I bet this will work much faster than with CouchDb that seems to be more a technology prospect now than an actual implementation, because if the idea proves valuable it will be takenover by huge databases producers.


&lt;blockquote&gt;The need for de-normalisation, particularly in document management is due to volume more than anything else. I work with a few DB’s that are several terabytes in size each, and the only way to get the performance increases we need is to de-normalise data by splitting it into tables of similarly grouped data (eg. date based).&lt;/blockquote&gt;




This doesn't prove that it will work any faster with CouchDB at least with this implementation.</description>
		<content:encoded><![CDATA[<p>I see no point in this. Document management can still be done with any relational databases and I bet this will work much faster than with CouchDb that seems to be more a technology prospect now than an actual implementation, because if the idea proves valuable it will be takenover by huge databases producers.</p>
<blockquote><p>The need for de-normalisation, particularly in document management is due to volume more than anything else. I work with a few DB’s that are several terabytes in size each, and the only way to get the performance increases we need is to de-normalise data by splitting it into tables of similarly grouped data (eg. date based).</p></blockquote>
<p>This doesn&#8217;t prove that it will work any faster with CouchDB at least with this implementation.</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Smith</title>
		<link>http://www.sitepoint.com/blogs/2007/08/30/watch-out-for-couchdb/#comment-359912</link>
		<dc:creator>Smith</dc:creator>
		<pubDate>Fri, 31 Aug 2007 19:01:17 +0000</pubDate>
		<guid isPermaLink="false">http://www.sitepoint.com/blogs/2007/08/30/watch-out-for-couchdb/#comment-359912</guid>
		<description>Very cool idea</description>
		<content:encoded><![CDATA[<p>Very cool idea</p>]]></content:encoded>
	</item>
</channel>
</rss>
