<?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; Structured documents</title>
	<atom:link href="http://www.dbms2.com/category/datatype/native-xml-database/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.dbms2.com</link>
	<description>Choices in data management and analysis</description>
	<lastBuildDate>Wed, 08 Feb 2012 12:22:57 +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>Splunk update</title>
		<link>http://www.dbms2.com/2012/01/10/splunk-update/</link>
		<comments>http://www.dbms2.com/2012/01/10/splunk-update/#comments</comments>
		<pubDate>Tue, 10 Jan 2012 05:55:08 +0000</pubDate>
		<dc:creator>Curt Monash</dc:creator>
				<category><![CDATA[Business intelligence]]></category>
		<category><![CDATA[Data models and architecture]]></category>
		<category><![CDATA[Data warehousing]]></category>
		<category><![CDATA[Log analysis]]></category>
		<category><![CDATA[Specific users]]></category>
		<category><![CDATA[Splunk]]></category>
		<category><![CDATA[Structured documents]]></category>
		<category><![CDATA[Web analytics]]></category>

		<guid isPermaLink="false">http://www.dbms2.com/?p=5791</guid>
		<description><![CDATA[Splunk is announcing the Splunk 4.3 point release. Before discussing it, let&#8217;s recall a few things about Splunk, starting with: Splunk is first and foremost an analytic DBMS &#8230; &#8230; used to manage logs and similar multistructured data. Splunk&#8217;s DML (Data Manipulation Language) is based on text search, not on SQL. Splunk has extended its [...]]]></description>
			<content:encoded><![CDATA[<p>Splunk is announcing the Splunk 4.3 point release. Before discussing it, let&#8217;s recall a few things about Splunk, starting with:</p>
<ul>
<li>Splunk is first and foremost an analytic DBMS &#8230;</li>
<li>&#8230; used to manage logs and similar multistructured data.</li>
<li>Splunk&#8217;s DML (Data Manipulation Language) is based on text search, not on SQL.</li>
<li>Splunk has extended its DML in natural ways (e.g., you can use it to do calculations and even some statistics).</li>
<li>Splunk bundles some (very) basic, Splunk-specific business intelligence capabilities.</li>
<li>The paradigmatic use of Splunk is to monitor IT operations in real time. However:
<ul>
<li>There also are plenty of non-real-time uses for Splunk.</li>
<li>Splunk is proudest of its growth in non-IT quasi-real-time uses, such as the marketing side of web operations.</li>
</ul>
</li>
</ul>
<p>As in any release, a lot of Splunk 4.3 is about &#8220;Oh, you didn&#8217;t have that before?&#8221; features and <a href="../../../../../2009/08/21/bottleneck-whack-a-mole/">Bottleneck Whack-A-Mole</a> performance speed-up. One performance enhancement is Bloom filters, which are a very hot topic these days. More important is a switch from Flash to HTML5, so as to accommodate mobile devices with less server-side rendering. Splunk reports that its users &#8212; especially the non-IT ones &#8212; really want to get Splunk information on the tablet devices. While this somewhat contradicts <a href="../../../../../2012/01/04/some-issues-in-business-intelligence/">what I wrote a few days ago pooh-poohing mobile BI</a>, let me hasten to point out:</p>
<ul>
<li>Splunk is used for a lot of (quasi) real-time monitoring.</li>
<li>Splunk&#8217;s desktop user interfaces are, by BI standards, quite primitive.</li>
</ul>
<p>That&#8217;s pretty much the ideal scenario for mobile BI: Timeliness matters and prettiness doesn&#8217;t.</p>
<p><span id="more-5791"></span><em>Hmm. Maybe <a href="../../../../../2011/11/10/streambase-liveview-push-based-real-time-bi/">StreamBase LiveView</a> needs a mobile option as well &#8230;</em></p>
<p>Splunk&#8217;s basic use is to take the text string that is a log and make sense of it. But Splunk now also supports JSON structures. It does this via something called spath, which as you might guess from the name has XPath similarities. That probably bore more discussion than we found the time to have.</p>
<p><em>By the way: If you&#8217;re interested in BI over XML, that&#8217;s what my former clients at Skytide were founded to do, before they pivoted a bit. I don&#8217;t think those capabilities have disappeared from the product</em>.</p>
<p><a href="http://www.monash.com/uploads/Splunk-4-3.pdf">Splunk has graciously allowed me to post a slide deck</a>. More stuff in there, including quotes from a customer &#8212; Expedia &#8212; that has 2700 Splunk users.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dbms2.com/2012/01/10/splunk-update/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>MarkLogic 5, and why you might care</title>
		<link>http://www.dbms2.com/2011/11/01/marklogic-version-5/</link>
		<comments>http://www.dbms2.com/2011/11/01/marklogic-version-5/#comments</comments>
		<pubDate>Tue, 01 Nov 2011 04:03:59 +0000</pubDate>
		<dc:creator>Curt Monash</dc:creator>
				<category><![CDATA[Hadoop]]></category>
		<category><![CDATA[MarkLogic]]></category>
		<category><![CDATA[Market share and customer counts]]></category>
		<category><![CDATA[Scientific research]]></category>
		<category><![CDATA[Solid-state memory]]></category>
		<category><![CDATA[Structured documents]]></category>
		<category><![CDATA[Text]]></category>

		<guid isPermaLink="false">http://www.dbms2.com/?p=5560</guid>
		<description><![CDATA[MarkLogic is releasing MarkLogic 5. Key elements of the announcement are: More-of-the-same in line with MarkLogic’s core positioning. A new bi-directional Hadoop connector. A free MarkLogic Express edition, limited in license terms more than in actual features, as per Slide 27 of the deck MarkLogic graciously supplied for me to post. Also, MarkLogic is early [...]]]></description>
			<content:encoded><![CDATA[<p>MarkLogic is releasing MarkLogic 5. Key elements of the announcement are:</p>
<ul>
<li>More-of-the-same      in line with MarkLogic’s core positioning.</li>
<li>A new      bi-directional Hadoop connector.</li>
<li>A free      MarkLogic Express edition, limited in license terms more than in actual      features, as per Slide 27 of <a href="http://www.monash.com/uploads/MarkLogic-5-Deck.pptx">the deck      MarkLogic graciously supplied for me to post</a>.</li>
</ul>
<p>Also, MarkLogic is early with a feature that most serious DBMS vendors will  soon have – support for tiered storage, with writes going first to  solid-state storage, then being flushed to disk via a caching-style  algorithm.* And as befits a sometime search-engine-substitute, MarkLogic has finally licensed a large set of document filters, from an Australian company called <a href="http://www.isys-search.com/index.html">Isys</a>. Apparently, the special virtue of the Isys filters is that they’re good at extracting not only text, but metadata as well.</p>
<p><em>*If there’s a caching algorithm that doesn’t contain a major element of LRU (Least Recently Used), I don’t recall ever hearing about it.</em></p>
<p>MarkLogic seems to have settled on a positioning that, although distressingly buzzword-heavy, is at least partly based upon reality. The real part includes:</p>
<ul>
<li>MarkLogic      is a serious, enterprise-class DBMS (see for example Slide 12 of <a href="http://www.monash.com/uploads/MarkLogic-5-Deck.pptx">the MarkLogic      deck</a>) …</li>
<li>…      which has been optimized from the getgo for <a href="../../../../../2011/05/17/poly-structured-database/">poly-structured      data</a>.</li>
<li>MarkLogic      can and does scale out to handle large amounts of data.</li>
<li>MarkLogic      is a general-purpose DBMS, suitable for <a href="../../../../../2011/03/30/short-request-and-analytic-processing/">both      short-request and analytic tasks</a>.</li>
<li>MarkLogic      is particularly well suited for analyses with long chains of “progressive      enhancement” (MarkLogic’s favorite term when talking about <a href="../../../../../2011/05/30/another-category-of-derived-data/">derived      data</a>).</li>
<li><a href="http://blogs.avalonconsult.com/blog/search/is-marklogic-a-search-engine/">MarkLogic      often plays the role of a content assembler and/or search engine</a>, and      the people who use MarkLogic in those ways are commonly doing things that can      be described as research and analysis.</li>
</ul>
<p>Based on that reality, MarkLogic talks a lot about Volume, Velocity, Variety, Big Data, unstructured data, semi-structured data, and big data analytics.</p>
<p><span id="more-5560"></span><em>My <a href="../../../../../2010/11/29/marklogic-and-its-document-dbms/">November, 2010 overview of MarkLogic technology</a> remains pretty relevant. One correction, however: Node heterogeneity configurations, in which “data” and “evaluation” nodes reside on separate servers, are the exception rather than the rule.</em></p>
<p>Like <a href="../../../../../2011/10/18/vertica-community-edition/">Vertica</a>, MarkLogic has laudably said that true academic researchers can get MarkLogic for free without the severe license restrictions. Free MarkLogic should be of particular interest to researchers who:</p>
<ul>
<li>Are      studying natural networks or graphs, such as social networks or biological      pathways. (This might be a fit in the social or biological sciences.)</li>
<li>Are      managing metadata for, say, a variety of disparate kinds of experimental      files. (This might be a fit anywhere in the natural sciences.)</li>
<li>Are      managing actual documents, images, videos, etc., or data about such      things. (This might be a fit in the humanities or social sciences.)</li>
</ul>
<p>MarkLogic provided some disclosable financial substance by email, which I shall quote verbatim:</p>
<ul>
<li><em>MarkLogic      has 45% revenue growth and 55-60% license growth year over year.</em></li>
<li><em>We      expect to finish this year with over $85 million in revenue, up from $55      million last year.</em></li>
</ul>
<p>Arithmetical purists might note that 85/55 is more than 145%, but I’m just going to settle for the information I got and move on.</p>
<p><em>Edit: I posted separately about the <a href="http://www.dbms2.com/2011/11/03/marklogic-hadoop-connector/">MarkLogic Hadoop connector.</a></em> <span style="text-decoration: line-through;">As for that Hadoop connector – stay tuned for a short follow-up post, as writing about it now would not be convenient. (My backup discipline isn’t what it should be, and the only copy of my notes about that product is on a heavy tower computer in a house that doesn’t have working power.)</span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.dbms2.com/2011/11/01/marklogic-version-5/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Oracle NoSQL is unlikely to be a big deal</title>
		<link>http://www.dbms2.com/2011/09/30/oracle-nosql/</link>
		<comments>http://www.dbms2.com/2011/09/30/oracle-nosql/#comments</comments>
		<pubDate>Fri, 30 Sep 2011 18:20:53 +0000</pubDate>
		<dc:creator>Curt Monash</dc:creator>
				<category><![CDATA[MySQL]]></category>
		<category><![CDATA[NoSQL]]></category>
		<category><![CDATA[OLTP]]></category>
		<category><![CDATA[Object]]></category>
		<category><![CDATA[Open source]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[Parallelization]]></category>
		<category><![CDATA[Schooner Information Technology]]></category>
		<category><![CDATA[Structured documents]]></category>

		<guid isPermaLink="false">http://www.dbms2.com/?p=5384</guid>
		<description><![CDATA[Alex Williams noticed that there will be a NoSQL session at Oracle OpenWorld next week, and is wondering whether this will be a big deal. I think it won&#8217;t be. There really are three major points to NoSQL. Dynamic schemas. This is the only one of the three that truly depends on NoSQL. Scale-out short-request [...]]]></description>
			<content:encoded><![CDATA[<p>Alex Williams noticed that there will be a NoSQL session at Oracle OpenWorld next week, and is wondering whether this will be a big deal. I think it won&#8217;t be.</p>
<p>There really are three major points to NoSQL.</p>
<ul>
<li><strong><a href="http://www.dbms2.com/2011/07/31/dynamic-fixed-schema-databases/">Dynamic schemas</a>.</strong> This is the only one of the three that truly depends on NoSQL.</li>
<li><strong>Scale-out <a href="http://www.dbms2.com/2011/03/30/short-request-and-analytic-processing/">short-request processing</a>.</strong> If you want to scale out efficiently at high request volumes, you&#8217;re best off not using all the flexibility SQL/relational DBMS offer. (In particular, you don&#8217;t want to do cross-node joins). Not coincidentally, a number of the best scale-out offerings were built to be NoSQL.</li>
<li><strong>Open source</strong>. Doing a relational DBMS is a big project. It seems easier to build NoSQL ones.</li>
</ul>
<p>Oracle can address the latter two points as aggressively as it wishes via MySQL. It so happens I would generally recommend MySQL enhanced by dbShards, Schooner, and/or dbShards/Schooner, rather than Oracle-only MySQL &#8230; but that&#8217;s a detail. In some form or other, Oracle&#8217;s MySQL is a huge player in the scale-out, open source, short-request database management market.</p>
<p>So that leaves us with dynamic schemas. Oracle has at least four different sets of technology in that area:</p>
<ul>
<li> As <a href="http://www.dbms2.com/2010/08/22/workday-technology-stack/">Workday</a> noticed years ago, MySQL can be used as a functional, basic key-value store.</li>
<li>Oracle also has XML-based Berkeley DB/SleepyCat kicking around.*</li>
<li>The XML extensions to Oracle&#8217;s core DBMS could be alleged to have a dynamic schema/NoSQL flavor. (Blech.)</li>
<li>A dynamic schema argument could also be made for object-oriented DBMS technology. While Oracle doesn&#8217;t to my knowledge exactly sell that, it does have the <a href="http://www.dbms2.com/2007/03/25/oracle-tangosol-objects-caching-and-disruption/">Tangosol</a> Coherence line of technology, with a potentially similar programming model.</li>
</ul>
<p>If Oracle is now refreshing and rebranding one or more of these as &#8220;NoSQL&#8221;, there&#8217;s no reason to view that as a big deal at all.</p>
<p><em>*That&#8217;s Mike Olson&#8217;s former company, if you&#8217;re keeping score at home.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.dbms2.com/2011/09/30/oracle-nosql/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>HP/Autonomy sound bites</title>
		<link>http://www.dbms2.com/2011/08/18/hp-autonomy-vertica/</link>
		<comments>http://www.dbms2.com/2011/08/18/hp-autonomy-vertica/#comments</comments>
		<pubDate>Fri, 19 Aug 2011 02:09:31 +0000</pubDate>
		<dc:creator>Curt Monash</dc:creator>
				<category><![CDATA[HP and Neoview]]></category>
		<category><![CDATA[Market share and customer counts]]></category>
		<category><![CDATA[Structured documents]]></category>
		<category><![CDATA[Text]]></category>
		<category><![CDATA[Vertica Systems]]></category>

		<guid isPermaLink="false">http://www.dbms2.com/?p=5101</guid>
		<description><![CDATA[HP has announced that: HP is buying Autonomy. HP is pulling back from WebOS. HP may spin off its PC business altogether. On a high level, this means: HP is doubling down on enterprise IT. HP is taking a more software-centric approach to the enterprise IT business. HP is backing away from the consumer electronics [...]]]></description>
			<content:encoded><![CDATA[<p>HP has announced that:</p>
<ul>
<li>HP is buying Autonomy.</li>
<li>HP is pulling back from WebOS.</li>
<li>HP may spin off its PC business altogether.</li>
</ul>
<p>On a high level, this means:</p>
<ul>
<li>HP is doubling down on enterprise IT.</li>
<li>HP is taking a more software-centric approach to the enterprise IT business.</li>
<li>HP is backing away from the consumer electronics business.</li>
<li>HP in particular is backing away from the generic desktop/laptop PC business, which may with only moderate exaggeration be regarded as:
<ul>
<li>The intersection of the enterprise IT and consumer electronics businesses.</li>
<li>The least attractive sector of each.</li>
</ul>
</li>
</ul>
<p><a href="http://www.texttechnologies.com/category/vendors/autonomy/">My coverage of Autonomy</a> isn&#8217;t exactly current, but I don&#8217;t know of anything that contradicts long-time competitor* Dave Kellogg&#8217;s <a href="http://kellblog.com/2011/08/18/hp-rumored-to-be-buying-uks-autonomy-for-10b/">skeptical view of Autonomy</a>. Autonomy is a collection of businesses involved in the management, search, and retrieval of <a href="../../../../../2011/05/17/poly-structured-database/">poly-structured data</a>, in some cases with strong market share, but even so not necessarily with the strongest of reputations for technology or technology momentum. Autonomy started from a text search engine and a Bayesian search algorithm on top of that, which did a decent job for many customers. But if there&#8217;s been much in the way of impressive enhancement over the past 8-10 years, I&#8217;ve missed the news.</p>
<p><em>*Dave, of course, was CEO of MarkLogic.</em></p>
<p>Questions obviously arise about how the Autonomy acquisition relates to other HP businesses. My early thoughts include:  <span id="more-5101"></span></p>
<ul>
<li>HP has clearly signaled that it intends to pursue and focus on the data management business. Thus, we can anticipate marketing messages spanning Autonomy and <a href="../../../../../2011/06/20/vertica-release-5/">Vertica</a>. It may be helpful to recall that Vertica plays nicely with both <a href="../../../../../2010/10/12/vertica-hadoop-connector-integration/">Hadoop</a> and <a href="../../../../../2011/04/14/attensity-update/">Attensity</a>.</li>
<li>The first two natural tuck-in acquisitions I can think to add are Attensity and <a href="../../../../../2011/04/05/whither-marklogic/">MarkLogic</a>.</li>
<li>One place I&#8217;d look for synergy is with HP&#8217;s system management software business. HP has previously acquired its way into a strong position there. If you add in knowledge of how many kinds of data are used, you have a chance to set yourself apart in the system management area.</li>
<li>I had enough trouble advising Vertica about how to explain what they do in terms that HP&#8217;s hardware sales force can comfortably embrace. I think I did OK with that. But Autonomy? Youch. On the other hand, &#8230;</li>
<li>&#8230; HP is run by guys from SAP (Leo Apotheker) and Oracle (Ray Lane), both of whom have dealt with similarly tough sales challenges before. But even at best, HP&#8217;s sales force organization, commission structure, and training is going to consume a lot of attention at the very highest levels of HP.</li>
<li>Autonomy manages documents electronically. HP prints them. The markets where that seems synergistic, however, are fairly specialized or small. (E.g., equipment for printing on demand.) Perhaps there&#8217;s some grand joint venture possibility with Xerox here, antitrust permitting.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.dbms2.com/2011/08/18/hp-autonomy-vertica/feed/</wfw:commentRss>
		<slash:comments>10</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>Terminology: Dynamic- vs. fixed-schema databases</title>
		<link>http://www.dbms2.com/2011/07/31/dynamic-fixed-schema-databases/</link>
		<comments>http://www.dbms2.com/2011/07/31/dynamic-fixed-schema-databases/#comments</comments>
		<pubDate>Sun, 31 Jul 2011 23:02:56 +0000</pubDate>
		<dc:creator>Curt Monash</dc:creator>
				<category><![CDATA[Data models and architecture]]></category>
		<category><![CDATA[NoSQL]]></category>
		<category><![CDATA[Object]]></category>
		<category><![CDATA[Structured documents]]></category>

		<guid isPermaLink="false">http://www.dbms2.com/?p=5045</guid>
		<description><![CDATA[E. F. &#8220;Ted&#8221; Codd taught the computing world that databases should have fixed logical schemas (which protect the user from having to know about physical database organization).  But he may not have been as universally correct as he thought. Cases I&#8217;ve noted in which fixed schemas may be problematic include: &#8220;A bunch of apps in [...]]]></description>
			<content:encoded><![CDATA[<p>E. F. &#8220;Ted&#8221; Codd taught the computing world that <a href="http://www.dbms2.com/2011/07/31/the-ted-codd-guarantee/">databases should have fixed logical schemas</a> (which protect the user from having to know about physical database organization).  But he may not have been as universally correct as he thought. Cases I&#8217;ve noted in which fixed schemas may be problematic include:</p>
<ul>
<li>&#8220;A bunch of apps in one, similar but not the same&#8221; (in <a href="../../../../../2011/07/27/mongodb-users-and-use-cases/">my recent post on MongoDB</a>).</li>
<li>Out-of-control product catalogs (ditto).</li>
<li><a href="../../../../../2011/06/19/investigative-analytics-derived-data/">Analytic use cases in which one keeps enhancing the database with derived data</a>.</li>
</ul>
<p>And <a href="../../../../../2010/06/08/profile-of-revealed-preferences/">if marketing profile analysis is ever done correctly</a>, that will be a huge example for the list.</p>
<p>So what do we call those DBMS &#8212; for example NoSQL, object-oriented, or XML-based systems &#8212; that bake the schema into the applications or the records themselves? In the MongoDB post I went with &#8220;schemaless,&#8221; but I wasn&#8217;t really comfortable with that, so I took the discussion to Twitter. Comments from <a href="http://twitter.com/#%21/vldid/status/96271464310898688">Vlad Didenko</a> (in particular), <a href="http://twitter.com/#%21/ryanprociuk/status/96289631234035712">Ryan Prociuk</a>, <a href="http://twitter.com/#!/merv/status/96283658951995392">Merv Adrian</a>, and <a href="http://twitter.com/#%21/rolandbouman/status/96297629369106432">Roland Bouman</a> favored the idea that <strong>schemas in such systems are changeable or late-bound, rather than entirely absent.</strong> I quickly agreed.</p>
<p><em><span id="more-5045"></span>The discussion wasn&#8217;t entirely serious; wise-ass comments were contributed by at least <a href="http://twitter.com/#%21/merv/status/96236381382254592">Merv</a>, <a href="http://twitter.com/#%21/NeilRaden/status/96233519637999617">Neil Raden</a>, <a href="http://twitter.com/#%21/hakmem/status/96229674849533952">Yiorgos Adamopoulos</a>, and <a href="http://twitter.com/#%21/CurtMonash/status/96287448434360320">myself</a>.</em></p>
<p>I like that approach for the same reason I favor saying that databases are <a href="../../../../../2011/05/17/poly-structured-database/">poly- or multi-structured</a> (rather than un- or semi-):  <strong>Every database has structure, the only question being <em>when</em> that structure is determined.</strong> I wouldn&#8217;t precisely equate &#8220;poly-structured&#8221; to &#8220;has a late-bound schema&#8221;; for example, I&#8217;d say that mucking with the DDL (Data Description Language) of a relational database shows that it&#8217;s a little bit poly-structured, even though it&#8217;s not at all late-bound. But the concepts are definitely related.</p>
<p>So what actual wording should we use here? The only alternative I see to <strong>fixed schema</strong> is &#8220;static&#8221;, and that feels like it has <em>too</em> much of a connotation of &#8220;unchangeable&#8221;. The simplest word I can think of for changeable/late-bound/whatever is <strong>dynamic schema; </strong>that choice also has the virtue of some traction, as per the Vlad Didenko tweet linked above. Casual googling is also supportive of &#8220;fixed&#8221; and &#8220;dynamic&#8221;, at least over whatever alternatives I came up with. So those are my choices.</p>
<p>For actual definitions, I&#8217;ll say:</p>
<ul>
<li><strong>A (logical) schema is fixed </strong>if it is <strong>defined before a program is written, </strong>but<strong> dynamic </strong>if it is <strong>defined by the program or data itself.</strong></li>
<li><strong>A database is fixed- or dynamic-schema</strong> depending on whether its schemas are fixed or dynamic respectively.</li>
<li><strong>A DBMS is fixed- or dynamic-schema</strong> depending on whether databases created in it tend to have fixed or dynamic schemas respectively.</li>
</ul>
<p>Suit yourself as to what you say about relational DBMS when they also have a bit of XML, text, or whatever support.</p>
<p>By these definitions:</p>
<ul>
<li>Relational databases are fixed-schema (within the caveat above about XML or text data).</li>
<li>MOLAP databases are fixed-schema.</li>
<li>Pre-relational network and hierarchical DBMS (e.g. IMS) are fixed-schema.</li>
<li>Most other DBMS are dynamic-schema.</li>
</ul>
<p><em>What do you think? Do these definitions work for you?</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.dbms2.com/2011/07/31/dynamic-fixed-schema-databases/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>Terminology: poly-structured data, databases, and DBMS</title>
		<link>http://www.dbms2.com/2011/05/17/poly-structured-database/</link>
		<comments>http://www.dbms2.com/2011/05/17/poly-structured-database/#comments</comments>
		<pubDate>Tue, 17 May 2011 13:16:06 +0000</pubDate>
		<dc:creator>Curt Monash</dc:creator>
				<category><![CDATA[Object]]></category>
		<category><![CDATA[Structured documents]]></category>
		<category><![CDATA[Text]]></category>
		<category><![CDATA[Theory and architecture]]></category>

		<guid isPermaLink="false">http://www.dbms2.com/?p=4484</guid>
		<description><![CDATA[My recent argument that the common terms &#8220;unstructured data&#8221; and &#8220;semi-structured data&#8221; are misnomers, and that a word like &#8220;multi-&#8221; or &#8220;poly-structured&#8221;* would be better, seems to have been well-received. But which is it &#8212; &#8220;multi-&#8221; or &#8220;poly-&#8221;? *Everybody seems to like &#8220;poly-structured&#8221; better when it has a hyphen in it &#8212; including me. The [...]]]></description>
			<content:encoded><![CDATA[<p>My recent argument that <a href="../../../../../2011/05/15/what-to-do-about-unstructured-data/">the common terms &#8220;unstructured data&#8221; and &#8220;semi-structured data&#8221; are misnomers</a>, and that a word like &#8220;multi-&#8221; or &#8220;poly-structured&#8221;* would be better, seems to have been well-received. But which is it &#8212; &#8220;multi-&#8221; or &#8220;poly-&#8221;?</p>
<p><em>*Everybody seems to like &#8220;poly-structured&#8221; better when it has a  hyphen in it &#8212; including me. <img src='http://www.dbms2.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </em></p>
<p>The big difference between the two is that &#8220;multi-&#8221; just means there are multiple structures, while &#8220;poly-&#8221; further means that the structures are subject to change. Upon reflection, I think the &#8220;subject to change&#8221; part is essential, so <strong>poly-structured </strong>it is.</p>
<p>The definitions I&#8217;m proposing are:</p>
<ul>
<li>A <strong>database</strong> is <strong>poly-structured</strong> to the extent that its structure is apt to be changed in the ordinary course of query, update, or programming.</li>
<li><strong>Data</strong> is <strong>poly-structured</strong> to the extent that it is best represented in a poly-structured database.</li>
<li>A <strong>DBMS</strong> is <strong>poly-structured</strong> to the extent that it is oriented to managing poly-structured databases.</li>
</ul>
<p><em><span id="more-4484"></span>Please note: <a href="../../../../../2011/05/15/what-to-do-about-unstructured-data/"></a></em></p>
<ul>
<li><em><a href="../../../../../2011/05/15/what-to-do-about-unstructured-data/">There are many different degrees of being poly-structured</a></em><em>; that&#8217;s why I used the phrase &#8220;to the extent that&#8221;, instead of a simple &#8220;if&#8221;. </em></li>
<li><em>And as always, <a href="http://www.strategicmessaging.com/no-market-categorization-is-ever-precise/2011/03/01/">no technology categorization is ever precise</a>.</em></li>
</ul>
<p>Examples of poly-structure include:</p>
<ul>
<li>XML or JSON documents/objects describe themselves. Add a new one to a database with a different structure than the others and &#8212; presto! &#8212; you have changed the overall structure. Thus:
<ul>
<li>XML and JSON data is apt to be poly-structured.</li>
<li>XML and JSON databases are apt to be poly-structured.</li>
<li>MarkLogic, MongoDB, et al. are poly-structured DBMS.</li>
</ul>
</li>
<li>A text document is inherently poly-structured. Some queries might look at it as a bag of words; others might group the words via stemming and synonyms; others might actually exploit the document&#8217;s grammatical structure. Text search engines are poly-structured because they support all those kinds of queries.</li>
<li>A single log file can be somewhat poly-structured, in that different views of it might extract different kinds of name-value pair, or different temporal relationships.</li>
<li>A database that seamlessly includes a variety of log files, each with its own structure(s), is quite poly-structured.</li>
<li>A classic relational database is not very poly-structured, because DDL (Data Description Language) isn&#8217;t really in &#8220;the ordinary course&#8221; of programming or update.</li>
<li>However, views add a bit of poly-structure to relational databases that is not present in, say, IMS databases.</li>
<li>An object-oriented DBMS is highly poly-structured, as is <a href="../../../../../2010/08/22/workday-technology-stack/">Workday&#8217;s  internal data store</a>.</li>
</ul>
<p>So what do you think? Do these definitions work?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dbms2.com/2011/05/17/poly-structured-database/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>Whither MarkLogic?</title>
		<link>http://www.dbms2.com/2011/04/05/whither-marklogic/</link>
		<comments>http://www.dbms2.com/2011/04/05/whither-marklogic/#comments</comments>
		<pubDate>Wed, 06 Apr 2011 02:06:51 +0000</pubDate>
		<dc:creator>Curt Monash</dc:creator>
				<category><![CDATA[MarkLogic]]></category>
		<category><![CDATA[Object]]></category>
		<category><![CDATA[RDF and graphs]]></category>
		<category><![CDATA[Structured documents]]></category>

		<guid isPermaLink="false">http://www.dbms2.com/?p=4168</guid>
		<description><![CDATA[My clients at MarkLogic have a new CEO, Ken Bado, even though former CEO Dave Kellogg was quite successful. If you cut through all the happy talk and side issues, the reason for the change is surely that the board wants to see MarkLogic grow faster, and specifically to move beyond its traditional niches of [...]]]></description>
			<content:encoded><![CDATA[<p>My clients at MarkLogic have a new CEO, Ken Bado, even though former CEO Dave Kellogg was quite successful. If you cut through all the happy talk and side issues, the reason for the change is surely that the board wants to see MarkLogic grow faster, and specifically to move beyond its traditional niches of publishing (especially technical publishing) and national intelligence.</p>
<p>So what other markets could MarkLogic pursue? Before Ken even started work, I sent over some thoughts. They included (but were not limited to):  <span id="more-4168"></span></p>
<ul>
<li>Everybody now knows that not all problems require a relational DBMS.  The NoSQL movement has seen to that.</li>
<li>Not everybody agrees that &#8220;heavyweight&#8221; enterprise DBMS are  needed for everything. The NoSQL movement has seen to that too.</li>
<li><a href="http://www.dbms2.com/2011/02/07/notes-on-document-oriented-nosql/">The &#8220;document&#8221;/&#8221;object&#8221; DBMS distinction has long been blurry</a>. XML is  full of documents, but they&#8217;re really objects. The same goes for the  JSON/quasi-JSON objects of CouchDB/Couchbase and MongoDB.  Object-oriented DBMS vendors have dabbled in XML on and off over the  years because of technical similarity. Etc.</li>
<li>MarkLogic has always focused on markets  where the database truly was about documents in the conventional sense &#8212; especially long text documents &#8212;  aka &#8220;content&#8221;. I always thought that focus was over-narrow.</li>
<li>There are various cases where law, regulation, compliance etc.  mandate the production of long text documents. I&#8217;m not sure MarkLogic has  penetrated those as well as it could have.</li>
<li>Graph DBMS  technology is going nowhere fast, largely because nobody has solved the  data distribution problem in cases big enough to need scale-out, and the  technology isn&#8217;t obviously needed in single-server cases. (But see my post on <a href="http://www.dbms2.com/2010/06/19/objectivity-infinite-graph/">Objectivity&#8217;s Infinite Graph</a>.) Even so,  graph-oriented apps are exploding, and MarkLogic should think about playing in the graph area, even if by acquisition.</li>
<li> I think what I  described in <a href="../../../../../2010/06/08/profile-of-revealed-preferences/" target="_blank">http://www.dbms2.com/2010/06/08/profile-of-revealed-preferences/</a> is non-relational and a very big market. Playing there with a  &#8220;heavyweight&#8221; DBMS is of course a challenge.</li>
<li>Coming over from Autodesk, Ken Bado hopefully knows more about the product  data management business than I do.</li>
</ul>
<p>It will be interesting to see what MarkLogic actually does.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dbms2.com/2011/04/05/whither-marklogic/feed/</wfw:commentRss>
		<slash:comments>4</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>
	</channel>
</rss>

