<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	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/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>DBMS 2 : DataBase Management System Services &#187; CouchDB</title>
	<atom:link href="http://www.dbms2.com/category/products-and-vendors/couchdb/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.dbms2.com</link>
	<description>Choices in data management and analysis</description>
	<lastBuildDate>Thu, 09 Feb 2012 09:21:51 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.3</generator>
		<item>
		<title>Couchbase update</title>
		<link>http://www.dbms2.com/2012/02/01/couchbase-update/</link>
		<comments>http://www.dbms2.com/2012/02/01/couchbase-update/#comments</comments>
		<pubDate>Thu, 02 Feb 2012 04:00:24 +0000</pubDate>
		<dc:creator>Curt Monash</dc:creator>
				<category><![CDATA[Basho and Riak]]></category>
		<category><![CDATA[Cassandra]]></category>
		<category><![CDATA[CouchDB]]></category>
		<category><![CDATA[Couchbase]]></category>
		<category><![CDATA[DataStax]]></category>
		<category><![CDATA[Market share and customer counts]]></category>
		<category><![CDATA[MongoDB and 10gen]]></category>
		<category><![CDATA[NoSQL]]></category>
		<category><![CDATA[Open source]]></category>
		<category><![CDATA[Parallelization]]></category>
		<category><![CDATA[Web analytics]]></category>
		<category><![CDATA[Zynga]]></category>

		<guid isPermaLink="false">http://www.dbms2.com/?p=5877</guid>
		<description><![CDATA[I checked in with James Phillips for a Couchbase update, and I understand better what&#8217;s going on. In particular: Give or take minor tweaks, what I wrote in my August, 2010 Couchbase updates still applies. Couchbase now and for the foreseeable future has one product line, called Couchbase. Couchbase 2.0, the first version of Couchbase [...]]]></description>
			<content:encoded><![CDATA[<p>I checked in with James Phillips for a Couchbase update, and I understand better what&#8217;s going on. In particular:</p>
<ul>
<li>Give or take minor tweaks, what I wrote in my <a href="../../../../../2011/08/13/couchbase-business-update/">August, 2010 Couchbase updates</a> still applies.</li>
<li>Couchbase now and for the foreseeable future has one product line, called Couchbase.</li>
<li>Couchbase 2.0, the first version of Couchbase (the product) to use CouchDB for persistence, has slipped &#8230;</li>
<li>&#8230; because more parts of CouchDB had to be rewritten for performance than Couchbase (the company) had hoped.</li>
<li>Think mid-year or so for the release of Couchbase 2.0, hopefully sooner.</li>
<li>In connection with the need to rewrite parts of CouchDB, Couchbase has:
<ul>
<li><a href="../../../../../2012/01/18/notes-from-the-couch-blogs/">Gotten out of the single-server CouchDB business</a>.</li>
<li>Donated its proprietary single-sever CouchDB intellectual property to the Apache Foundation.</li>
</ul>
</li>
<li>The 150ish new customers in 2011 Couchbase brags about are real, subscription customers.</li>
<li>Couchbase has 60ish people, headed to &gt;100 over the next few months.</li>
</ul>
<p><span id="more-5877"></span><em>If you previously heard the brand names Couchbase Single or Couchbase Mobile, pay no further attention to them. Couchbase Single was CouchDB; Couchbase Mobile is part of Couchbase&#8217;s feature set.</em></p>
<p>The current product is Couchbase 1.8, which is a whole lot like what previously was called Membase. New features in Couchbase 1.8 (versus prior versions of Membase) were concentrated in client libraries/SDK (Software Development Kit). Not coincidentally, Couchbase has hired developer evangelists who are in charge of making Couchbase play nicely with various specific languages (e.g. C/C++)</p>
<p>Drilling down further into the CouchDB part of the story:</p>
<ul>
<li>Couchbase 2.0 will replace Couchbase 1.8/Membase&#8217;s SQLite back-end with CouchDB.</li>
<li>Parts of CouchDB that do things like read, write, or compact data have been rewritten from Erlang to C.</li>
<li>Couchbase still uses other Erlang parts of Apache CouchDB, and would be delighted if the community were to usefully enhance them.</li>
<li>Couchbase&#8217;s heavy contributions to development of open source CouchDB will, for the most part, continue.</li>
<li>CouchDB stuff donated to the Apache Foundation includes:
<ul>
<li>Documentation</li>
<li>Packaging</li>
<li>Performance enhancements</li>
</ul>
</li>
</ul>
<p>There&#8217;s at least one Couchbase user with &gt;1000 nodes (at a guess, <a href="../../../../../2011/09/05/zynga-linkedin-data-warehous/">Zynga</a>).  More typical might be 20 nodes or less. This led me to wonder how much data one puts on a Couchbase node anyway. The answer turns out to vary widely, in that you want your working set to be in RAM, and whether that&#8217;s your entire database or just a slice of it depends on the nature of the application.</p>
<p>James echoed a trend I&#8217;ve heard elsewhere as well, in which products one things of as being internet-specific are also sold in a few cases to conventional enterprises for &#8212; you guessed it! &#8212; their internet operations. I also asked him about competition, and he asserted:</p>
<ul>
<li>MongoDB is the big competition. He believes Couchbase has an excellent win rate vs. 10gen for actual paying accounts.</li>
<li>DataStax/Cassandra wins over Couchbase only when multi-data-center capability is important. Naturally, multi-data-center capability is planned for Couchbase. (Indeed, that&#8217;s one of the benefits of swapping in CouchDB at the back end.)</li>
<li>Redis has &#8220;dropped off the radar&#8221;, presumably because there&#8217;s no particular persistence strategy for it.</li>
<li>Riak doesn&#8217;t show up much.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.dbms2.com/2012/02/01/couchbase-update/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Notes from the Couch blogs</title>
		<link>http://www.dbms2.com/2012/01/18/notes-from-the-couch-blogs/</link>
		<comments>http://www.dbms2.com/2012/01/18/notes-from-the-couch-blogs/#comments</comments>
		<pubDate>Wed, 18 Jan 2012 07:57:09 +0000</pubDate>
		<dc:creator>Curt Monash</dc:creator>
				<category><![CDATA[CouchDB]]></category>
		<category><![CDATA[Couchbase]]></category>
		<category><![CDATA[Market share and customer counts]]></category>
		<category><![CDATA[Open source]]></category>

		<guid isPermaLink="false">http://www.dbms2.com/?p=5839</guid>
		<description><![CDATA[Couchbase in general, and CouchDB project founder Damien Katz in particular, are to some extent walking away from CouchDB. That is: The Couchbase product will not be upward compatible with CouchDB. Couchbase will no longer offer a CouchDB distribution, and is doing the natural and responsible thing, namely &#8230; &#8230; donating to the Apache Foundation [...]]]></description>
			<content:encoded><![CDATA[<p>Couchbase in general, and CouchDB project founder Damien Katz in particular, are to some extent walking away from CouchDB. That is:</p>
<ul>
<li>The Couchbase product will not be upward compatible with CouchDB.</li>
<li>Couchbase will no longer offer a CouchDB distribution, and is doing the natural and responsible thing, namely &#8230;</li>
<li>&#8230; donating to the Apache Foundation the previously proprietary aspects of that distribution.</li>
</ul>
<p>Even so:</p>
<ul>
<li>All &#8212; or at least &#8220;all&#8221; &#8212; the code Couchbase offers will, at least for now, be open source.</li>
</ul>
<p>The story unfolded in <a href="http://damienkatz.net/2012/01/the_future_of_couchdb.html">a bombshell post by Damien</a>, and clarification follow-ups by <a href="http://damienkatz.net/2012/01/why_couchbase.html">Damien</a> and by <a href="http://blog.couchbase.com/couchbase-commitment-to-open-source-and-couchdb">Couchbase CEO Bob Wiederhold</a>. The meatiest of the three was probably Damien&#8217;s follow-up, in which he said, among other things:<br />
<span id="more-5839"></span></p>
<blockquote><p>&#8230; maybe I should explain why I think Couchbase is the future?</p>
<p>Simple Fast Elastic.</p>
<p>That&#8217;s pretty much it. &#8230;</p>
<p>The Membase product was very fast and scalable, but a bit too simple,  with no reporting capability or cross-datacenter replication  capability.</p>
<p>The CouchDB product has a lot of features, but is too slow, unable to  keep up with high loads and inability scale-out on it&#8217;s own. &#8230;</p>
<p>Our 2.0 product is coming soon, adding CouchDB style views and  reporting with a nifty trick for extremely fast failover while  maintaining full coherency with the underling distributed data storage  (we are calling it our B-Superstar index). We&#8217;ll of course have lighting  fast reads (same as Memcached) but also very fast durable writes. For  2kb docs, we are currently getting sustained random insert/updates rates  of 25k writes/sec, fully durable, with compaction in background so it  can go all day and all night. We&#8217;ve got some more write work coming soon  which we are hoping will give us another performance boost too before  2.0. Stay tuned &#8230;</p>
<p>And so while we focus on the features and customers that most quickly  make us a viable business (and it&#8217;s growing fast), we are still looking  to build the features and technology to expand our use cases and, get  customers and developers excited. Future versions are planned to have  full CouchDB compatible replication technology, with the ability to  support all sorts of mobile and embedded databases, such as our new  TouchDB projects for iOS and Android.</p></blockquote>
<p>Meanwhile, in <a href="http://blog.couchbase.com/couchbase-2011-year-review">a separate blog post</a>, Bob said that in 2011 Couchbase</p>
<blockquote><p>&#8230; added thousands of open source deployments, as well as more than 150  paying customers who have put thousands of nodes into production  throughout the year.</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.dbms2.com/2012/01/18/notes-from-the-couch-blogs/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Couchbase business update</title>
		<link>http://www.dbms2.com/2011/08/13/couchbase-business-update/</link>
		<comments>http://www.dbms2.com/2011/08/13/couchbase-business-update/#comments</comments>
		<pubDate>Sun, 14 Aug 2011 04:02:42 +0000</pubDate>
		<dc:creator>Curt Monash</dc:creator>
				<category><![CDATA[Basho and Riak]]></category>
		<category><![CDATA[Cassandra]]></category>
		<category><![CDATA[CouchDB]]></category>
		<category><![CDATA[Couchbase]]></category>
		<category><![CDATA[Games and virtual worlds]]></category>
		<category><![CDATA[HBase]]></category>
		<category><![CDATA[Market share and customer counts]]></category>
		<category><![CDATA[Mid-range]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[NoSQL]]></category>
		<category><![CDATA[Open source]]></category>
		<category><![CDATA[Software as a Service (SaaS)]]></category>
		<category><![CDATA[Structured documents]]></category>
		<category><![CDATA[Web analytics]]></category>
		<category><![CDATA[memcached]]></category>

		<guid isPermaLink="false">http://www.dbms2.com/?p=5080</guid>
		<description><![CDATA[I decided I needed some Couchbase drilldown, on business and technology alike, so I had solid chats with both CEO Bob Wiederhold and Chief Architect Dustin Sallings. Pretty much everything I wrote at the time Membase and CouchOne merged to form Couchbase (the company) still holds up. But I have more detail now. Context for [...]]]></description>
			<content:encoded><![CDATA[<p>I decided I needed some Couchbase drilldown, on business and technology alike, so I had solid chats with both CEO Bob Wiederhold and Chief Architect Dustin Sallings. Pretty much everything I wrote at the time <a href="../../../../../2011/02/08/couchbase-membase-couchone-couchdb/">Membase and CouchOne merged to form Couchbase</a> (the company) still holds up. But I have more detail now. <img src='http://www.dbms2.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Context for any comments on customer traction includes:</p>
<ul>
<li>Membase went into limited production release in October, and full release in January. Similar things are true of CouchDB.</li>
<li>Hence, most sales of Couchbase&#8217;s products have been made over the past 6 months.</li>
<li>Couchbase (the merged product) is at this point only in a pre-production developer&#8217;s release.</li>
<li>Couchbase has both a direct sales force and a classic open-source &#8220;funnel&#8221;-based online selling model. Naturally, Couchbase&#8217;s understanding of what its customers are doing is more solid with respect to the direct sales base.</li>
<li>Most of Couchbase&#8217;s revenue to date seems to have come from a limited number of big-ticket &#8220;lighthouse&#8221; accounts (as opposed to, say, the larger number of smaller deals that come in through the online funnel).</li>
</ul>
<p>That said,</p>
<ul>
<li>Most Membase purchases are for new applications, as opposed to memcached migrations. However, customers are the kinds of companies that probably also are using memcached elsewhere.</li>
<li>Most other Membase purchases are replacements for the Membase/MySQL combination. Bob says those are easy sales with short sales cycles.</li>
<li>Pure memcached support is a small but non-zero business for Couchbase, and a fine source of upsell opportunities.</li>
<li>In the pipeline but not so much yet in the customer base are SaaS vendors and the like who use and may want to replace traditional DBMS such as Oracle. Other than among those, Couchbase doesn&#8217;t compete much yet with Oracle et al.</li>
<li>Pure CouchDB isn&#8217;t all that much of a business, at least relative to community size, as CouchDB is a single-server product commonly used by people who are content not to pay for support.</li>
</ul>
<p>Membase sales are concentrated in five kinds of internet-centric companies, which in declining order are: <span id="more-5080"></span></p>
<ul>
<li>Social gaming</li>
<li>Ad platforms</li>
<li>Online retail</li>
<li>Online business, including B2B  SaaS</li>
<li>Social networking</li>
</ul>
<p>Bob said that Couchbase often sees MongoDB competitively, but never Riak, HBase, or Redis. I got the impression Couchbase sees at least a little Cassandra. That would, of course, all pertain only to direct sales, rather than download/community kinds of usage.</p>
<p>Couchbase is also excited about the potential for the CouchDB-based Couchbase Mobile occasionally-connected offering. The hottest use cases, interestingly, seem to be non-consumer; Bob rattled off military, farming, and health care, and surely could have named more besides. However, the Couchbase Mobile sales effort still seems to be in early days, as is evidenced by the fact that Couchbase has not yet competitively encountered <a href="../../../../../2010/07/17/sybase-sql-anywhere/">Sybase SQL Anywhere</a>.</p>
<p>With all that said, I&#8217;ll go now to a separate post for a <a href="http://www.dbms2.com/2011/08/13/couchbase-technical-update/">Couchbase technical update</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dbms2.com/2011/08/13/couchbase-business-update/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Membase and CouchOne merged to form Couchbase</title>
		<link>http://www.dbms2.com/2011/02/08/couchbase-membase-couchone-couchdb/</link>
		<comments>http://www.dbms2.com/2011/02/08/couchbase-membase-couchone-couchdb/#comments</comments>
		<pubDate>Tue, 08 Feb 2011 05:59:35 +0000</pubDate>
		<dc:creator>Curt Monash</dc:creator>
				<category><![CDATA[Application areas]]></category>
		<category><![CDATA[Cache]]></category>
		<category><![CDATA[CouchDB]]></category>
		<category><![CDATA[Couchbase]]></category>
		<category><![CDATA[Market share and customer counts]]></category>
		<category><![CDATA[NoSQL]]></category>
		<category><![CDATA[Open source]]></category>
		<category><![CDATA[Parallelization]]></category>
		<category><![CDATA[Solid-state memory]]></category>
		<category><![CDATA[memcached]]></category>

		<guid isPermaLink="false">http://www.dbms2.com/?p=3809</guid>
		<description><![CDATA[Membase, the company whose product is Membase and whose former company name is Northscale, has merged with CouchOne, the company whose product is CouchDB and whose former name is Couch.io. The result (product and company) will be called Couchbase. CouchDB inventor Damien Katz will join the Membase (now Couchbase) management team as CTO. Couchbase can [...]]]></description>
			<content:encoded><![CDATA[<p>Membase, the company whose product is Membase and whose former company name is Northscale, has merged with CouchOne, the company whose product is CouchDB and whose former name is Couch.io. The result (product and company) will be called Couchbase. CouchDB inventor Damien Katz will join the Membase (now Couchbase) management team as CTO. Couchbase can reasonably be regarded as a <a href="../../../../../2011/02/07/notes-on-document-oriented-nosql/">document-oriented NoSQL DBMS</a>, a product category I not coincidentally posted about yesterday.</p>
<p>In essence, <strong>Couchbase will be CouchDB with scale-out.</strong> Alternatively, <strong>Couchbase will be Membase with a richer programming interface</strong>. The Couchbase sweet spot is likely to be:  <span id="more-3809"></span></p>
<ul>
<li>Internet applications, especially ones that involve connectivity between a host and mobile devices.</li>
<li>Delivery of data, content, and/or software across a network. (That&#8217;s a high-profile CouchDB use case today.)</li>
<li>(Possibly) transactions for virtual goods that have no scarcity. (Once there&#8217;s actual inventory involved, the traditional relational database model starts looking pretty appealing.)</li>
</ul>
<p>And now let&#8217;s go to the lists of bullet points.</p>
<p>Background to the Membase/CouchDB/Couchbase integration story:</p>
<ul>
<li>Membase is a key-value store with the memcached interface. Its strengths are memcached compatibility and performant scale-out. What it stores are in essence JSON documents.</li>
<li>CouchDB is designed for ease of programming, and for built-in handling of occasionally-connected replication. (Not coincidentally, Damien Katz used to work on Lotus Notes.) CouchDB indexes individual data fields for reasonable query capability, although <a href="../../../../../2010/11/29/document-database-without-joins/">joins</a> are problematic. What CouchDB stores are in essence JSON documents.</li>
</ul>
<p>Highlights of how Membase works and is deployed today:</p>
<ul>
<li>Your API is Get/Set, just like in memcached.</li>
<li>To a first approximation, Membase just persists memcached cache at every node. That said, it can certainly store more data per node than fits in cache.</li>
<li>Most Membase installations are in Amazon EC2, where flash memory is not available. Most in-house Membase installations, however, use flash.</li>
</ul>
<p>Business background on Couchbase predecessors:</p>
<ul>
<li>Membase raised $15 million, had 20 employees, and has a number of paying customers.</li>
<li>CouchOne raised $2 million, had 16 employees, hadn&#8217;t focused much on traditional customer acquisition yet or on building an enterprise edition of the product, and had about 4 customers anyway &#8230;</li>
<li>&#8230; except that CouchOne&#8217;s plans included CouchDB hosting, and there are around 4500 users of same in a free beta that&#8217;s on the verge of going non-free. Damien positions his hosting as being focused on high throughput and concurrency, while rival CouchDB host Cloudant is in his opinion more focused on big data.</li>
<li>The apparent repositioning of CouchOne as being highly focused on mobile applications (with unreliable host connections) never really had time to take hold. Indeed &#8230;</li>
<li>&#8230; Damien asserts that CouchDB has a lot more mission-critical enterprise deployments than MongoDB, whereas he concedes that MongoDB is doing great in a Ruby-centric market.</li>
</ul>
<p>Happy talk around Membase/CouchDB/Couchbase product integration:</p>
<ul>
<li>Hey, both Membase and CouchDB talk JSON.</li>
<li>Product strengths and weaknesses are synergistic. For example:
<ul>
<li>Membase started with caching technology (memcached). CouchDB doesn&#8217;t yet make much use of cache.</li>
<li>Membase&#8217;s back end is SQLite, used in a &#8220;dumb&#8221; way. CouchDB can presumably do everything the dumb implementation of SQLite can.</li>
<li>Membase&#8217;s scale-out is designed for a single data center, with strict consistency. CouchDB&#8217;s is designed for wide-area networks, with eventual consistency. At least one big internet company likes the idea of strict consistency within data centers, but eventual consistency among them.</li>
<li>The CouchDB interface takes the place of something Membase planned to build called <a href="http://www.dbms2.com/2010/08/18/northscale-membase-roadmap/">Node Code</a>, which was going to overcome <a href="http://www.dbms2.com/2010/10/11/membase-simplifies-name-goes-ga/">the limitations of a simple key-value interface</a>. Node Code development didn&#8217;t ever really get started, and indeed was deferred for a couple of months while CouchOne acquisition discussions were underway. However, Membase did build Node Code&#8217;s underpinnings, called the &#8220;TAP&#8221; interface.</li>
<li>And on the operations side: Membase has been in Mountain View, right by the CalTrain. CouchOne has been in Oakland, but with a lot of at-home workers. One option is to move the Oakland office to a San Francisco location that, you guessed it, is also right by the CalTrain.</li>
</ul>
</li>
</ul>
<p>Other technical notes:</p>
<ul>
<li>The only current API to CouchDB is http/https. memcached protocols will be added to Couchbase.</li>
<li>CouchDB has design documents. These are used to tell you how to do indexes. They&#8217;re built on the fly if they don&#8217;t already exist. Then there are Javascript functions that update the indexes as documents are added/updated.</li>
<li>In particular, CouchDB has a geospatial index, in a true R-tree. Damien fondly thinks it already has most albeit not all the features of PostgreSQL GIS. I gather CouchDB geospatial will be straightforwardly integrated into Couchbase.</li>
<li>There&#8217;s also a CouchDB add-on project for full-text indexing. Damien seems less confident of how that will be integrated into Couchbase.</li>
</ul>
<p>Finally, I&#8217;m curious about the relative performance of Couchbase/Membase and <a href="../../../../../2011/01/28/schooner-software-onl/">Schooner Membrain</a> when using flash memory. I would guess that the comparison favors Schooner, because of Schooner&#8217;s extensive focus on flash optimization. I would also guess that Schooner&#8217;s edge is small, because I&#8217;d think it would be less than Schooner&#8217;s advantage vs. alternative Flash uses on the MySQL side, and Schooner&#8217;s MySQL performance advantage seems to be less than 2X even when Schooner is doing the benchmarks.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dbms2.com/2011/02/08/couchbase-membase-couchone-couchdb/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Notes on document-oriented NoSQL</title>
		<link>http://www.dbms2.com/2011/02/07/notes-on-document-oriented-nosql/</link>
		<comments>http://www.dbms2.com/2011/02/07/notes-on-document-oriented-nosql/#comments</comments>
		<pubDate>Mon, 07 Feb 2011 08:51:08 +0000</pubDate>
		<dc:creator>Curt Monash</dc:creator>
				<category><![CDATA[CouchDB]]></category>
		<category><![CDATA[MapReduce]]></category>
		<category><![CDATA[MarkLogic]]></category>
		<category><![CDATA[MongoDB and 10gen]]></category>
		<category><![CDATA[NoSQL]]></category>
		<category><![CDATA[Object]]></category>
		<category><![CDATA[Structured documents]]></category>

		<guid isPermaLink="false">http://www.dbms2.com/?p=3792</guid>
		<description><![CDATA[When people talk about document-oriented NoSQL or some similar term, they usually mean something like: Database management that uses a JSON model and gives you reasonably robust access to individual field values inside a JSON (JavaScript Object Notation) object. Or, if they really mean, The essence of whatever it is that CouchDB and MongoDB have [...]]]></description>
			<content:encoded><![CDATA[<p>When people talk about <strong>document-oriented NoSQL </strong>or some similar term, they usually mean something like:<strong><br />
</strong></p>
<blockquote><p>Database management that uses a JSON model and gives you reasonably robust access to individual field values inside a JSON (JavaScript Object Notation) object.</p></blockquote>
<p>Or, if they really mean,</p>
<blockquote><p>The essence of whatever it is that CouchDB and MongoDB have in common.</p></blockquote>
<p>well, that&#8217;s pretty much the same thing as what I said in the first place. <img src='http://www.dbms2.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Of the various questions that might arise, three of the more definitional ones are:</p>
<ul>
<li>Why JSON rather than XML?</li>
<li>What&#8217;s with this fluidity between the terms &#8220;document&#8221; and &#8220;object&#8221;?</li>
<li>Are you serious about the lack of joins?</li>
</ul>
<p>Let me take a crack at each.  <span id="more-3792"></span></p>
<p>Like XML, JSON is a data-interchange format that has been repurposed as a data persistence model. <strong>JSON is </strong>evidently<strong> beating out XML in web applications,</strong> for reasons including:</p>
<ul>
<li>XML is more verbose and slower than JSON. (Whether this matters or not is of course use-case-dependent.)</li>
<li>Like SQL, XML requires what some web programmers regard as too much formalism and up-front specification.</li>
<li>JSON is associated with JavaScript.</li>
<li>JSON is regarded as being more suited to straightforwardly fielded data, while XML is regarded as being more suited to &#8220;mixed content&#8221; &#8212; e.g., real text documents.</li>
<li>In general, XML feels &#8220;enterprisey&#8221; to developers who don&#8217;t like that feel.</li>
</ul>
<p><em>One good starting point for recent JSON vs. XML discussion is <a href="http://www.readwriteweb.com/hack/2010/11/json-vs-xml.php">here</a>. My favorite from the 2007 iteration of the debate is <a href="http://quoderat.megginson.com/2007/01/03/all-markup-ends-up-looking-like-xml/">this one</a>.</em></p>
<p>So, in essence:</p>
<ul>
<li>The reasons JSON beats XML for web application data interchange have some applicability to web application data storage as well.</li>
<li>There&#8217;s ever more JSON around, at the expense of XML.</li>
</ul>
<p>But truth be told, <strong>I don&#8217;t think XML and JSON actually go head to head against each other on the DBMS side very often at all.</strong> E.g., Dwight Merriman (the 10gen/MongoDB guy) told me he never, ever competes against MarkLogic, and I found that very credible.*</p>
<p><em>*Proof point: Dwight was clueless about MarkLogic specifics in a way he never would be if they were any kind of competitive consideration for him.</em> <img src='http://www.dbms2.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Note that the one area where (almost) everybody agrees XML wins is for what one might call &#8220;real&#8221; documents. By way of contrast, JSON is best suited for stringing data attributes and values together. So the &#8220;documents&#8221; that JSON models can indeed just as reasonably be called &#8220;objects.&#8221;</p>
<p>That said, JSON-based DBMS are not what one would normally call object-oriented DBMS; for an example of those, consider <a href="http://www.dbms2.com/2010/01/15/intersystems-cache-highlights/">Intersystems Cache&#8217;</a>. And just to close the loop on confusion &#8212; Cache&#8217; can also be used as an XML DBMS.</p>
<p>As I previously noted, one downside to today&#8217;s document-oriented DBMS is that <a href="http://www.dbms2.com/2010/11/29/document-database-without-joins/">you can&#8217;t do joins</a>. Let me now add that <strong>I think joins will be added to document DBMS in the future. </strong>Plausibility arguments for this opinion include:</p>
<ul>
<li>MarkLogic &#8212; the XML database gold standard &#8212; sells to enterprises, and enterprises like joins.</li>
<li>The alternative to joins in CouchDB and MongoDB is in essence MapReduce. Well, Hive proves that you can do joins on top of MapReduce if you want to. <span style="text-decoration: line-through;">(So, for that matter, does Aster Data nCluster; Aster says its SQL parallelism is built on top of MapReduce.)</span></li>
<li><a href="http://www.dbms2.com/2010/01/15/intersystems-cache-highlights/">Intersystems</a> quite happily put SQL on top of an object-oriented DBMS, Cache&#8217;. And Cache&#8217; is so similar to an XML DBMS that it in fact is sometimes used as one.</li>
</ul>
<p>But that is indeed a future. For discussion of the current state of affairs, I refer you to my earlier post on the subject of joinlessness linked above.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dbms2.com/2011/02/07/notes-on-document-oriented-nosql/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
		<item>
		<title>Document-oriented DBMS without joins</title>
		<link>http://www.dbms2.com/2010/11/29/document-database-without-joins/</link>
		<comments>http://www.dbms2.com/2010/11/29/document-database-without-joins/#comments</comments>
		<pubDate>Mon, 29 Nov 2010 08:55:40 +0000</pubDate>
		<dc:creator>Curt Monash</dc:creator>
				<category><![CDATA[CouchDB]]></category>
		<category><![CDATA[MarkLogic]]></category>
		<category><![CDATA[NoSQL]]></category>
		<category><![CDATA[Structured documents]]></category>
		<category><![CDATA[Text]]></category>
		<category><![CDATA[Theory and architecture]]></category>

		<guid isPermaLink="false">http://www.dbms2.com/?p=3408</guid>
		<description><![CDATA[When I talked with MarkLogic&#8217;s Ken Chestnut about MarkLogic 4.2, I was surprised to learn that MarkLogic really, truly doesn&#8217;t do anything like a join. Unlike some other non-SQL DBMS, MarkLogic has no SQL interface, no ODBC or JDBC. Nothing, nada. (MarkLogic has a Java interface for Xquery, but not for anything like SQL.) Since [...]]]></description>
			<content:encoded><![CDATA[<p>When I talked with MarkLogic&#8217;s Ken Chestnut about <a href="http://www.dbms2.com/2010/11/29/marklogic-and-its-document-dbms/">MarkLogic 4.2</a>, I was surprised to learn that MarkLogic really, truly doesn&#8217;t do anything like a join. Unlike some other non-SQL DBMS, MarkLogic has no SQL interface, no ODBC or JDBC. Nothing, nada. (MarkLogic has a Java interface for Xquery, but not for anything like SQL.)</p>
<p><span id="more-3408"></span>Since MarkLogic and other XML DBMS are used in applications for brokerage trades and the like, I used that area as my example for a challenge question: <em>What happens when one brokerage firm buys another?</em> (Similar challenges could be made about <a href="http://www.dbms2.com/2008/10/05/marklogic-architecture-deep-dive/">medical records or consumer profiling</a>.) The answer was that you just have to update or augment each existing record with the new firm&#8217;s information. And by the way, if you choose to augment, then you have the new and old information side-by-side, both of which could conceivably come in handy.</p>
<p>Document-oriented NoSQL DBMS such as CouchDB and MongoDB face similar challenges, of course. I didn&#8217;t pursue the matter in depth in either case, but:</p>
<ul>
<li>If I understood Damien Katz correctly, CouchDB has a view capability that provides some kind of workaround. (A quick web search turned up this page on a kind of <a href="http://wiki.apache.org/couchdb/EntityRelationship">entity-relationship modeling in CouchDB</a> and the associated querying.)</li>
<li>Dwight Merriman suggested to me that in MongoDB, you can work around the lack of joins via client-side logic, or by embedding lots of data in each document (e.g., all the line items for an order) and extracting what you need via MapReduce jobs.</li>
</ul>
<p>I&#8217;m not totally sure what I think about joinlessness, but one way of looking at it could be:</p>
<ul>
<li>The reason we have joins is because we normalize. If it&#8217;s OK to be highly denormalized, then it&#8217;s less important to have joins.</li>
<li>When normalization is good and denormalization is bad, one or both of two reasons are commonly in play:
<ul>
<li>The logical burden of keeping straight all the different places you&#8217;d have to update the same data is too great for the poor, overburdened programmers.</li>
<li>The performance burden of doing all that updating is too great for the poor, overburdened hardware.</li>
</ul>
</li>
<li>For the logical reason to have great force, there has to be a pretty complex schema, or else a frequently changing one. But when schemas change frequently, relational designs have their own problems.</li>
<li>The physical reason automatically has great force if you have huge update volumes and keep many copies of the same data. Otherwise, its strength has a lot to do with the specific architecture of the DBMS. E.g., if it&#8217;s a lot cheaper to update a small record than a big one, short rows are better. But otherwise, denormalization may not have that much effect on performance.</li>
</ul>
<p>Putting all that together, I&#8217;m inclined to think that for many applications, it&#8217;s OK to denormalize, or to have such a simple schema that normalization is moot. But even so, I&#8217;d be a lot more comfortable if a DBMS offered at least some way of doing a join.</p>
<p>All this raises a related question: <em>What are transactions like in document-oriented DBMS?</em> I&#8217;ve never pushed the point with MarkLogic, but when they talk of their ACID compliance they sound as if they are using the phrase in the usual way. MongoDB only lets you do transactions in single documents. I&#8217;ve never asked the question about CouchDB, but I do note with interest CouchDB&#8217;s &#8220;crash-only&#8221; architecture, which boils down to:</p>
<ul>
<li>CouchDB shutdown is &#8220;instantaneous.&#8221;</li>
<li>You can only shut down CouchDB by crashing it.</li>
<li>There&#8217;s no way to shut down or crash CouchDB that causes data to be inconsistent.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.dbms2.com/2010/11/29/document-database-without-joins/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>More on NoSQL and HVSP (or OLRP)</title>
		<link>http://www.dbms2.com/2010/08/26/nosql-hvsp-olrp/</link>
		<comments>http://www.dbms2.com/2010/08/26/nosql-hvsp-olrp/#comments</comments>
		<pubDate>Thu, 26 Aug 2010 09:10:31 +0000</pubDate>
		<dc:creator>Curt Monash</dc:creator>
				<category><![CDATA[Akiban]]></category>
		<category><![CDATA[Basho and Riak]]></category>
		<category><![CDATA[Cache]]></category>
		<category><![CDATA[Cassandra]]></category>
		<category><![CDATA[Cloudera]]></category>
		<category><![CDATA[Clustrix]]></category>
		<category><![CDATA[CouchDB]]></category>
		<category><![CDATA[DataStax]]></category>
		<category><![CDATA[Facebook]]></category>
		<category><![CDATA[HBase]]></category>
		<category><![CDATA[Hadoop]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[NoSQL]]></category>
		<category><![CDATA[OLTP]]></category>
		<category><![CDATA[Object]]></category>
		<category><![CDATA[Open source]]></category>
		<category><![CDATA[Parallelization]]></category>
		<category><![CDATA[Schooner Information Technology]]></category>
		<category><![CDATA[Theory and architecture]]></category>
		<category><![CDATA[Tokutek]]></category>
		<category><![CDATA[memcached]]></category>

		<guid isPermaLink="false">http://www.dbms2.com/?p=2907</guid>
		<description><![CDATA[Since posting last Wednesday morning that I&#8217;m looking into NoSQL and HVSP, I&#8217;ve had a lot of conversations, including with (among others): Dwight Merriman of 10gen (MongoDB) Damien Katz of Couchio (CouchDB) Matt Pfeil of Riptano (Cassandra) Todd Lipcon of Cloudera (HBase committer) Tony Falco of Basho (Riak) John Busch of Schooner Ori Herrnstadt of [...]]]></description>
			<content:encoded><![CDATA[<p>Since posting last Wednesday morning that <a href="http://www.dbms2.com/2010/08/18/nosql-hvsp-adoption/">I&#8217;m looking into NoSQL and HVSP</a>, I&#8217;ve had a lot of conversations, including with (among others):</p>
<ul>
<li>Dwight Merriman of 10gen (MongoDB)</li>
<li>Damien Katz of Couchio (CouchDB)</li>
<li>Matt Pfeil of <a href="http://www.dbms2.com/2010/07/06/riptano-and-cassandra-adoption/">Riptano</a> (Cassandra)</li>
<li>Todd Lipcon of Cloudera (HBase committer)</li>
<li>Tony Falco of Basho (Riak)</li>
<li>John Busch of Schooner</li>
<li><strong><span style="font-weight: normal;">Ori Herrnstadt</span></strong> of <a href="http://www.dbms2.com/2010/04/03/akiban-highlights/">Akiban</a></li>
</ul>
<p><span id="more-2907"></span>By no means do I have time to do these conversations justice, in terms of giving them the write-ups and/or immediate follow-up that they deserve. Indeed, I&#8217;ll leave for vacation Saturday morning with my 2000-word NoSQL article still unwritten. So I&#8217;ll dump as many observations as I can into one or a few posts now, and play catch-up later as circumstances allow.</p>
<p>In no particular order:</p>
<ul>
<li>A number of NoSQL offerings have had more uptake to date than most of the scale-out SQL offerings have.</li>
<li>&#8220;Document-oriented&#8221; NoSQL projects CouchDB and MongoDB have probably had the most users get into production, but perhaps for pretty small systems.</li>
<li>Cassandra and Hbase &#8212; the column-group-architecture guys &#8212; have probably had the most bang-in-lots-of-writes <a href="http://www.dbms2.com/2010/03/13/the-naming-of-the-foo/">HVSP</a> production uptake.*</li>
<li>I didn&#8217;t talk customer count with Schooner, but the decently-stocked <a href="http://www.schoonerinfotech.com/customers">Schooner customer page</a> suggests Schooner may be something of an exception to these generalities.</li>
<li>A lot of these companies are in the low-to-mid-teens of employees.</li>
<li>The SQL-oriented companies, despite having fewer or no customers, often seem to have more money. (One reason I get the impression SQL guys have more money is, frankly, that more  of them are talking about engaging <a href="http://www.monash.com/advantage.html">my services</a>.)
<ul>
<li>Schooner cites $20 million in VC.</li>
<li><a href="http://www.dbms2.com/2010/05/12/the-clustrix-story/">Clustrix</a> cites a figure close to that.</li>
<li>Basho cites $10 million, plus <a href="http://www.masshightech.com/stories/2010/08/02/daily35-Basho-rejects-VC-takes-late-friends-and-family-round.html">a new round of $1.5 or $2 or $2.5 million</a>. The new round is at a lowered valuation.</li>
<li>That same site says <a href="http://www.dbms2.com/2009/04/16/introduction-to-tokutek/">Tokutek</a> finally was able to<a href="http://www.masshightech.com/stories/2010/08/16/daily47-Database-software-firm-Tokutek-lands-28M.html"> raise some VC</a>. Congrats!</li>
</ul>
</li>
<li>It&#8217;s only a two-company trend, but I was pleased to hear that both 10gen/MongoDB and Akiban were seeing Drupal as a major use case or potential use case. No word on rescuing WordPress from its MySQL implementation, alas, but it seems that a Drupal site typically has 40-200+ tables, while a WordPress one has 10ish.</li>
<li>Another trend I think I&#8217;m seeing is serious object-oriented apps banging things straight into a simple back end. <a href="http://www.dbms2.com/2010/08/22/workday-stan-swete-database-architecture/">Workday</a> is a huge example of that. Akiban hopes to do something similar with Hibernate.</li>
<li>Stability and maturity are still issues for many of these products. E.g., HBase isn&#8217;t even in Release 1.0 yet. Ditto Cassandra, and surely many of the others. Unsurprisingly, <a href="http://blog.mikiobraun.de/2010/08/cassandra-gc-tuning.html">making Cassandra stable is still a challenge</a>.</li>
</ul>
<p><em>*As is common for terms I suggest, the &#8220;HVSP&#8221; name is not getting any traction. What do you think of Marton Trencseni&#8217;s suggestion of <a href="http://www.dbms2.com/2010/03/13/the-naming-of-the-foo/#comment-182138">OLRP, for OnLine Request Processing</a>?</em></p>
<p>One thing that makes following this area interesting is that so many projects are open source, leading there to be a lot of information in the wild. I hardly have time to read the mailing list for each project; but the people I talk with do, and often they may sorta kinda remember something somebody else posted one or several months back. As just one example, the mailing lists are said to confirm:</p>
<ul>
<li>Contrary to rumor, <a href="http://twitter.com/eventcloudpro/status/17872687577">Facebook hasn&#8217;t moved in-box search off of Cassandra</a>.</li>
<li>Apparently, however, it&#8217;s true that <a href="http://www.dbms2.com/2008/07/21/project-cassandra-facebook-open-sourced-quasi-dbms/">Cassandra inventor Facebook</a> has stopped working on Cassandra, and Facebook&#8217;s core Cassandra developers have shifted over to HBase.</li>
</ul>
<p>Also, figuring out usage of open source software can be &#8230; interesting.</p>
<ul>
<li> People who use open source software don&#8217;t have to reveal themselves, as there&#8217;s no purchase transaction to kick things off.</li>
<li>On the other hand, if they&#8217;re serious enough in their use, they often do.
<ul>
<li>There are two main ways to get tech support for open source software &#8212; the community or a company that sells support &#8212; and both ways let the main support-selling company know that one is a user.</li>
<li>Some folks even add themselves to open lists of users, for example these rather long lists for <a href="http://wiki.apache.org/hadoop/Hbase/PoweredBy">HBase</a> and <a href="http://wiki.apache.org/couchdb/CouchDB_in_the_wild">CouchDB</a>.</li>
<li>Or they show up at conferences. For example, <a href="http://twitter.com/spyced/status/21490457839">two</a> <a href="http://twitter.com/spyced/status/21675203015">tweets</a> from Riptano founder Jonathan Ellis suggest at least 30 production Cassandra users were represented at a recent event. That&#8217;s more detail than his colleague Matt Pfeil wanted to give me when talked. <img src='http://www.dbms2.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </li>
</ul>
</li>
</ul>
<p>OK. This post has gotten pretty long, even without me saying anything resembling an overview of any of the seven companies I listed up top, or of their products&#8217; adoption. So I&#8217;ll just publish this now.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dbms2.com/2010/08/26/nosql-hvsp-olrp/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Clearing some of my buffer</title>
		<link>http://www.dbms2.com/2009/04/22/clearing-some-of-my-buffer/</link>
		<comments>http://www.dbms2.com/2009/04/22/clearing-some-of-my-buffer/#comments</comments>
		<pubDate>Wed, 22 Apr 2009 17:21:46 +0000</pubDate>
		<dc:creator>Curt Monash</dc:creator>
				<category><![CDATA[Analytic technologies]]></category>
		<category><![CDATA[Business intelligence]]></category>
		<category><![CDATA[CouchDB]]></category>
		<category><![CDATA[Data warehousing]]></category>
		<category><![CDATA[EAI, EII, ETL, ELT, ETLT]]></category>
		<category><![CDATA[Expressor]]></category>
		<category><![CDATA[MOLAP]]></category>
		<category><![CDATA[MapReduce]]></category>
		<category><![CDATA[Memory-centric data management]]></category>
		<category><![CDATA[Presentations]]></category>
		<category><![CDATA[Tableau Software]]></category>
		<category><![CDATA[Theory and architecture]]></category>

		<guid isPermaLink="false">http://www.dbms2.com/?p=763</guid>
		<description><![CDATA[I have a large number of posts still in backlog.  For starters, there are ones based on recent visits with Aster, Greenplum, Sybase, Vertica, and a Very Large User.  I suspect I&#8217;ll write more soon on Oracle as well.  Plus there&#8217;s my whole future-of-online-media area.  And quite a bit more will grow out of planned [...]]]></description>
			<content:encoded><![CDATA[<p>I have a large number of posts still in backlog.  For starters, there are ones based on recent visits with Aster, Greenplum, Sybase, Vertica, and a Very Large User.  I suspect I&#8217;ll write more soon on Oracle as well.  Plus there&#8217;s my whole future-of-online-media area.  And quite a bit more will grow out of planned research.</p>
<p>So there are a whole lot of other worthy subjects I doubt I&#8217;ll be getting to any time soon.  In some cases, of course, other people are doing great jobs of writing about same. Here are pointers to a few links that I am glad to recommend:</p>
<ul>
<li>I wrote <a href="http://www.dbms2.com/2009/04/01/business-intelligence-notes-and-trends/">recently</a> that I&#8217;ve discovered a number of different in-memory OLAP engines. Cindi Howson far outdid that, writing at length for <em>Intelligent Enterprise</em> on <a href="http://www.intelligententerprise.com/channels/business_intelligence/showArticle.jhtml?articleID=216900096&amp;pgno=3">in-memory analytics</a>, in an article that seems to itself be a teaser for a longer, free white paper on the subject.</li>
<li>CouchDB posted <a href="http://www.slideshare.net/mattetti/couchdb-perform-like-a-pr0n-star">an eye-catching, risque slide presentation</a> promoting CouchDB and, more generally, key-value stores, at least for internet applications.  And yes, they&#8217;ve integrated MapReduce.</li>
<li>Merv Adrian <a href="http://mervadrian.wordpress.com/2009/04/22/birst-hopes-to-ride-on-demand-bi-wave/">posted favorably about Birst</a>, with special reference to its OEM efforts.  As <a href="http://www.dbms2.com/2009/04/01/business-intelligence-notes-and-trends/">previously noted</a>, I was highly unimpressed with Birst&#8217;s end-user BI story at the time of its September roll-out, and Jerome Pineau&#8217;s recent examination did nothing to reassure me.  But perhaps OEM is a different matter.</li>
<li>Merv also offers an interesting post about data integration upstart <a href="http://mervadrian.wordpress.com/2009/04/18/expressor-software-hits-the-complex-data-integration-market-running/">Expressor</a>, and a highly favorable one about &#8220;visualization&#8221; vendor <a href="http://mervadrian.wordpress.com/2009/04/19/tableau-software-visibly-catching-on-and-catching-up/">Tableau</a>.</li>
<li>Ann All interviewed <a href="http://www.itbusinessedge.com/cm/community/features/interviews/blog/bi-vendors-tell-users-what-they-want-but-are-users-listening/?cs=31761">Nigel Pendse</a>, who grumped that BI features are overrated, and what end users really want is great query performance. I&#8217;m not so sure about the features side of that, but I&#8217;m hugely in agreement about the performance. That&#8217;s a big part of why the analytic DBMS industry is so vibrant. It&#8217;s also why in-memory OLAP is suddenly so hot.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.dbms2.com/2009/04/22/clearing-some-of-my-buffer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CouchDB &#8212; lazy database design taken to excess?</title>
		<link>http://www.dbms2.com/2008/02/01/couchdb/</link>
		<comments>http://www.dbms2.com/2008/02/01/couchdb/#comments</comments>
		<pubDate>Fri, 01 Feb 2008 10:52:12 +0000</pubDate>
		<dc:creator>Curt Monash</dc:creator>
				<category><![CDATA[CouchDB]]></category>
		<category><![CDATA[Data models and architecture]]></category>
		<category><![CDATA[Database diversity]]></category>
		<category><![CDATA[Structured documents]]></category>
		<category><![CDATA[Theory and architecture]]></category>

		<guid isPermaLink="false">http://www.dbms2.com/2008/02/01/couchdb/</guid>
		<description><![CDATA[I&#8217;ve run into a research/alpha/whatever project called CouchDB a couple of times now. It&#8217;s yet another &#8220;Who needs relational databases? Who needs schemas?&#8221; kind of idea. Rather, CouchDB is for taking random documents and banging them into databases, then calculating views on the fly as needed. It&#8217;s REST-friendly. Lucene and a web server are built [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve run into a research/alpha/whatever project called CouchDB a couple of times now.  It&#8217;s yet another &#8220;Who needs relational databases? Who needs schemas?&#8221; kind of idea.  Rather, CouchDB is for taking random documents and banging them into databases, then calculating views on the fly as needed.  It&#8217;s REST-friendly.  Lucene and a web server are built in.</p>
<p>Damien Katz seems to be the driving force behind CouchDB, and his discussion of <a href="http://damienkatz.net/2006/05/document_orient.html">document-oriented development</a> seems to be a good starting point. <span id="more-346"></span> Where I think it goes off the rails &#8212; no pun intended &#8212; is his dismissal of the XML alternative.  He doesn&#8217;t think XML adds much unless data happens to be in XML to begin with.  Now, maybe he wants to invent an XML alternative.  But otherwise, I disagree, because I really like attribute-value pairs.</p>
<p>Call me old-fashioned, but I think one of the main jobs of a DBMS is to record and return <em>facts</em> &#8212; or, if not facts, than opinions.  I&#8217;ve argued elsewhere that the predicate-logic view of DBMS shouldn&#8217;t be taken to excess &#8212; but it shouldn&#8217;t be minimized either.  Text documents and media files notwithstanding, most of what goes into a DBMS is attribute-value pairs.  You can arrange them in a matrix or array for compactness.  If that&#8217;s too restrictive, you can just list them.  In the first case, SQL or maybe MDX is a fine language for extracting them.  In the second case, XQuery seems more apropos.</p>
<p>But you have to do it somehow.</p>
<p>Other CouchDB discussion:</p>
<ul>
<li><a href="http://couchdb.org/CouchDB/CouchDBWeb.nsf/Home?OpenForm">CouchDB official site</a> (I think)</li>
<li><a href="http://www.couchdbwiki.com/index.php?title=Main_Page">CouchDB wiki</a></li>
<li><a href="http://pmuellr.blogspot.com/2008/01/why-couchdb.html">Patrick Mueller on CouchDB</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.dbms2.com/2008/02/01/couchdb/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

