<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: The dark side of NoSQL</title>
	<atom:link href="http://codemonkeyism.com/dark-side-nosql/feed/" rel="self" type="application/rss+xml" />
	<link>http://codemonkeyism.com/dark-side-nosql/</link>
	<description></description>
	<lastBuildDate>Tue, 03 Jan 2012 15:08:49 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: The Dark Side of NoSQL &#171; tec.hojito</title>
		<link>http://codemonkeyism.com/dark-side-nosql/comment-page-3/#comment-449844</link>
		<dc:creator>The Dark Side of NoSQL &#171; tec.hojito</dc:creator>
		<pubDate>Sat, 12 Mar 2011 04:35:53 +0000</pubDate>
		<guid isPermaLink="false">http://codemonkeyism.com/?p=1199#comment-449844</guid>
		<description>[...] Original Post [...]</description>
		<content:encoded><![CDATA[<p>[...] Original Post [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: NoSQL</title>
		<link>http://codemonkeyism.com/dark-side-nosql/comment-page-3/#comment-382445</link>
		<dc:creator>NoSQL</dc:creator>
		<pubDate>Fri, 17 Dec 2010 14:32:50 +0000</pubDate>
		<guid isPermaLink="false">http://codemonkeyism.com/?p=1199#comment-382445</guid>
		<description>[...] NoSQL的缺点 &#8220;The dark side of NoSQL&#8221;, Stephan Schmidt, » (but ORMs are bad as well?! [...]</description>
		<content:encoded><![CDATA[<p>[...] NoSQL的缺点 &#8220;The dark side of NoSQL&#8221;, Stephan Schmidt, » (but ORMs are bad as well?! [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: NoSQL Daily &#8211; Sat Oct 30 &#8250; PHP App Engine</title>
		<link>http://codemonkeyism.com/dark-side-nosql/comment-page-3/#comment-351253</link>
		<dc:creator>NoSQL Daily &#8211; Sat Oct 30 &#8250; PHP App Engine</dc:creator>
		<pubDate>Sat, 30 Oct 2010 01:15:28 +0000</pubDate>
		<guid isPermaLink="false">http://codemonkeyism.com/?p=1199#comment-351253</guid>
		<description>[...] Code Monkeyism: The dark side of NoSQL [...]</description>
		<content:encoded><![CDATA[<p>[...] Code Monkeyism: The dark side of NoSQL [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: NoSQL Daily &#8211; Wed Oct 6 &#8250; PHP App Engine</title>
		<link>http://codemonkeyism.com/dark-side-nosql/comment-page-3/#comment-338176</link>
		<dc:creator>NoSQL Daily &#8211; Wed Oct 6 &#8250; PHP App Engine</dc:creator>
		<pubDate>Wed, 06 Oct 2010 08:15:48 +0000</pubDate>
		<guid isPermaLink="false">http://codemonkeyism.com/?p=1199#comment-338176</guid>
		<description>[...] Code Monkeyism: The dark side of NoSQL [...]</description>
		<content:encoded><![CDATA[<p>[...] Code Monkeyism: The dark side of NoSQL [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jeff Darcy</title>
		<link>http://codemonkeyism.com/dark-side-nosql/comment-page-3/#comment-332577</link>
		<dc:creator>Jeff Darcy</dc:creator>
		<pubDate>Mon, 27 Sep 2010 12:43:26 +0000</pubDate>
		<guid isPermaLink="false">http://codemonkeyism.com/?p=1199#comment-332577</guid>
		<description>You say that as the querying capability gets better the ad hoc reporting also gets easier, but I think that only hints at the real distinction.  As the *distribution level* increases, just about all of the problems you mention get worse, but this is not the fault of NoSQL.  It&#039;s also true of distributed filesystems, and to a large extent for distributed SQL databases as well.  When you put data in many places, it gets harder to operate on all of it at once.

Is this a dark side of the more distributed NoSQL options?  Certainly.  Every option has its dark side.  The dark side of the less distributed solutions is that they&#039;re more vulnerable to single-node failures.  The dark side of the memory-centric systems (such as InfiniBrag) is that they have limited capacity.  There are data-model tradeoffs, consistency-model tradeoffs, etc. all of which have to be considered.

Jan Lehnart of CouchDB has said that NoSQL is less about SQL or ACID than about choice.  I mildly disagree, since I think we already had all of the choices he mentions, but I do think NoSQL is mostly about giving people motivation to *think* about the choices and tradeoffs they&#039;re making when it comes to how they handle their data.</description>
		<content:encoded><![CDATA[<p>You say that as the querying capability gets better the ad hoc reporting also gets easier, but I think that only hints at the real distinction.  As the *distribution level* increases, just about all of the problems you mention get worse, but this is not the fault of NoSQL.  It&#8217;s also true of distributed filesystems, and to a large extent for distributed SQL databases as well.  When you put data in many places, it gets harder to operate on all of it at once.</p>
<p>Is this a dark side of the more distributed NoSQL options?  Certainly.  Every option has its dark side.  The dark side of the less distributed solutions is that they&#8217;re more vulnerable to single-node failures.  The dark side of the memory-centric systems (such as InfiniBrag) is that they have limited capacity.  There are data-model tradeoffs, consistency-model tradeoffs, etc. all of which have to be considered.</p>
<p>Jan Lehnart of CouchDB has said that NoSQL is less about SQL or ACID than about choice.  I mildly disagree, since I think we already had all of the choices he mentions, but I do think NoSQL is mostly about giving people motivation to *think* about the choices and tradeoffs they&#8217;re making when it comes to how they handle their data.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: No SQL Taxonomy &#171; Andre&#39;s Tech Blog</title>
		<link>http://codemonkeyism.com/dark-side-nosql/comment-page-3/#comment-290647</link>
		<dc:creator>No SQL Taxonomy &#171; Andre&#39;s Tech Blog</dc:creator>
		<pubDate>Thu, 13 May 2010 08:27:13 +0000</pubDate>
		<guid isPermaLink="false">http://codemonkeyism.com/?p=1199#comment-290647</guid>
		<description>[...] The dark side of NoSQL &#8211; CodeMonkey &#8211; Sep. 2009 - slides [...]</description>
		<content:encoded><![CDATA[<p>[...] The dark side of NoSQL &#8211; CodeMonkey &#8211; Sep. 2009 - slides [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jessica</title>
		<link>http://codemonkeyism.com/dark-side-nosql/comment-page-3/#comment-289124</link>
		<dc:creator>Jessica</dc:creator>
		<pubDate>Wed, 05 May 2010 16:33:53 +0000</pubDate>
		<guid isPermaLink="false">http://codemonkeyism.com/?p=1199#comment-289124</guid>
		<description>We recently gave a talk at NoSQL EU which may prove enlightening for some readers. This can be viewed at http://blog.bitzesty.com/tag/nosql</description>
		<content:encoded><![CDATA[<p>We recently gave a talk at NoSQL EU which may prove enlightening for some readers. This can be viewed at <a href="http://blog.bitzesty.com/tag/nosql" rel="nofollow">http://blog.bitzesty.com/tag/nosql</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Arto Bendiken</title>
		<link>http://codemonkeyism.com/dark-side-nosql/comment-page-2/#comment-287321</link>
		<dc:creator>Arto Bendiken</dc:creator>
		<pubDate>Wed, 28 Apr 2010 22:27:13 +0000</pubDate>
		<guid isPermaLink="false">http://codemonkeyism.com/?p=1199#comment-287321</guid>
		<description>In answer to the earlier commenter&#039;s question on how NoSQL relates to RDF, see the &quot;How RDF Databases Differ from Other NoSQL Solutions&quot; blog post at:

http://blog.datagraph.org/2010/04/rdf-nosql-diff</description>
		<content:encoded><![CDATA[<p>In answer to the earlier commenter&#8217;s question on how NoSQL relates to RDF, see the &#8220;How RDF Databases Differ from Other NoSQL Solutions&#8221; blog post at:</p>
<p><a href="http://blog.datagraph.org/2010/04/rdf-nosql-diff" rel="nofollow">http://blog.datagraph.org/2010/04/rdf-nosql-diff</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ben Hoskins</title>
		<link>http://codemonkeyism.com/dark-side-nosql/comment-page-2/#comment-284828</link>
		<dc:creator>Ben Hoskins</dc:creator>
		<pubDate>Mon, 19 Apr 2010 12:25:09 +0000</pubDate>
		<guid isPermaLink="false">http://codemonkeyism.com/?p=1199#comment-284828</guid>
		<description>hey, no-one has mentioned OODBs?  NeoDatis is currently my favourite.  What&#039;s up with them?  
You can do the query AND have no sql AND plug in any backend you want into it as the store (cloud, berkley, oracle whatever...)

Hmmm, ok, you do need to use a sql-like language, or Visitors, to traverse your objects.

However, I can&#039;t see another way, even if you do use unstructured; if you have data that is related, you need to walk it in some way.</description>
		<content:encoded><![CDATA[<p>hey, no-one has mentioned OODBs?  NeoDatis is currently my favourite.  What&#8217;s up with them?<br />
You can do the query AND have no sql AND plug in any backend you want into it as the store (cloud, berkley, oracle whatever&#8230;)</p>
<p>Hmmm, ok, you do need to use a sql-like language, or Visitors, to traverse your objects.</p>
<p>However, I can&#8217;t see another way, even if you do use unstructured; if you have data that is related, you need to walk it in some way.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: stephan</title>
		<link>http://codemonkeyism.com/dark-side-nosql/comment-page-2/#comment-284688</link>
		<dc:creator>stephan</dc:creator>
		<pubDate>Sun, 18 Apr 2010 13:29:12 +0000</pubDate>
		<guid isPermaLink="false">http://codemonkeyism.com/?p=1199#comment-284688</guid>
		<description>@Hans: I don&#039;t think they solve ad hoc reporting. Exporting data to XML is always an option, but a painful one.</description>
		<content:encoded><![CDATA[<p>@Hans: I don&#8217;t think they solve ad hoc reporting. Exporting data to XML is always an option, but a painful one.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Hans Marggraff</title>
		<link>http://codemonkeyism.com/dark-side-nosql/comment-page-2/#comment-284661</link>
		<dc:creator>Hans Marggraff</dc:creator>
		<pubDate>Sun, 18 Apr 2010 09:39:02 +0000</pubDate>
		<guid isPermaLink="false">http://codemonkeyism.com/?p=1199#comment-284661</guid>
		<description>I believe, the second problem can be laid to rest.
There are reporting tools which support NoSql databases, and an article about the options:
http://www.reportsanywhere.com/pebble/2010/04/16/1271437740000.html</description>
		<content:encoded><![CDATA[<p>I believe, the second problem can be laid to rest.<br />
There are reporting tools which support NoSql databases, and an article about the options:<br />
<a href="http://www.reportsanywhere.com/pebble/2010/04/16/1271437740000.html" rel="nofollow">http://www.reportsanywhere.com/pebble/2010/04/16/1271437740000.html</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: busana muslim</title>
		<link>http://codemonkeyism.com/dark-side-nosql/comment-page-2/#comment-283175</link>
		<dc:creator>busana muslim</dc:creator>
		<pubDate>Mon, 12 Apr 2010 08:46:54 +0000</pubDate>
		<guid isPermaLink="false">http://codemonkeyism.com/?p=1199#comment-283175</guid>
		<description>using interfaces you&#039;re not cornering yourself and the user of your API into single inheritance</description>
		<content:encoded><![CDATA[<p>using interfaces you&#8217;re not cornering yourself and the user of your API into single inheritance</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Oracle inspires an open source NoSQL tea party &#124; Open Source &#124; ZDNet.com</title>
		<link>http://codemonkeyism.com/dark-side-nosql/comment-page-2/#comment-279368</link>
		<dc:creator>Oracle inspires an open source NoSQL tea party &#124; Open Source &#124; ZDNet.com</dc:creator>
		<pubDate>Fri, 26 Mar 2010 13:03:50 +0000</pubDate>
		<guid isPermaLink="false">http://codemonkeyism.com/?p=1199#comment-279368</guid>
		<description>[...] NoSQL has its critics. What good tea party doesn&#8217;t? Code Monkeyism points to the dark ad hoc nature of NoSQL. BJ Clark of Marked as Pertinent says it&#8217;s not that [...]</description>
		<content:encoded><![CDATA[<p>[...] NoSQL has its critics. What good tea party doesn&#8217;t? Code Monkeyism points to the dark ad hoc nature of NoSQL. BJ Clark of Marked as Pertinent says it&#8217;s not that [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Enlaces rápidos (15-03-2010) &#124; Sentido Web</title>
		<link>http://codemonkeyism.com/dark-side-nosql/comment-page-2/#comment-276883</link>
		<dc:creator>Enlaces rápidos (15-03-2010) &#124; Sentido Web</dc:creator>
		<pubDate>Mon, 15 Mar 2010 13:03:45 +0000</pubDate>
		<guid isPermaLink="false">http://codemonkeyism.com/?p=1199#comment-276883</guid>
		<description>[...] The dark side of NoSQL [...]</description>
		<content:encoded><![CDATA[<p>[...] The dark side of NoSQL [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: stephan</title>
		<link>http://codemonkeyism.com/dark-side-nosql/comment-page-2/#comment-273424</link>
		<dc:creator>stephan</dc:creator>
		<pubDate>Wed, 24 Feb 2010 15:44:49 +0000</pubDate>
		<guid isPermaLink="false">http://codemonkeyism.com/?p=1199#comment-273424</guid>
		<description>@PigOut: Thanks for the link</description>
		<content:encoded><![CDATA[<p>@PigOut: Thanks for the link</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Pig Out</title>
		<link>http://codemonkeyism.com/dark-side-nosql/comment-page-2/#comment-273423</link>
		<dc:creator>Pig Out</dc:creator>
		<pubDate>Wed, 24 Feb 2010 15:43:00 +0000</pubDate>
		<guid isPermaLink="false">http://codemonkeyism.com/?p=1199#comment-273423</guid>
		<description>Oracle has published something outlining exactly what you suggest:

http://blogs.oracle.com/datawarehousing/2010/01/integrating_hadoop_data_with_o.html</description>
		<content:encoded><![CDATA[<p>Oracle has published something outlining exactly what you suggest:</p>
<p><a href="http://blogs.oracle.com/datawarehousing/2010/01/integrating_hadoop_data_with_o.html" rel="nofollow">http://blogs.oracle.com/datawarehousing/2010/01/integrating_hadoop_data_with_o.html</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: stephan</title>
		<link>http://codemonkeyism.com/dark-side-nosql/comment-page-2/#comment-270712</link>
		<dc:creator>stephan</dc:creator>
		<pubDate>Thu, 11 Feb 2010 06:30:09 +0000</pubDate>
		<guid isPermaLink="false">http://codemonkeyism.com/?p=1199#comment-270712</guid>
		<description>@James: +1</description>
		<content:encoded><![CDATA[<p>@James: +1</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: James</title>
		<link>http://codemonkeyism.com/dark-side-nosql/comment-page-2/#comment-270705</link>
		<dc:creator>James</dc:creator>
		<pubDate>Thu, 11 Feb 2010 04:58:07 +0000</pubDate>
		<guid isPermaLink="false">http://codemonkeyism.com/?p=1199#comment-270705</guid>
		<description>@Gabe

The impedance mismatch for your typical blog and an RDBMS comes when you consider having 2 tables...Posts, and Comments in an RDBMS vs having a collection of Posts each of which has an embedded collection of Comments in, say, MongoDB.  

One of these naturally looks like your object model and one does not.  One of which requires a lot of ORM machinery to traverse the gap between your datastore and your application....the other requires very little.

I think part of the reason a lot of people still think RDBMS are a good for ALL type of problems (excluding the very large scale ones where very few people still think they&#039;re a good fit) is that we&#039;re just so damn used to them.  

I, for one, am happy to let my SQL knowledge become a bit less useful in favor of a happier development experience.</description>
		<content:encoded><![CDATA[<p>@Gabe</p>
<p>The impedance mismatch for your typical blog and an RDBMS comes when you consider having 2 tables&#8230;Posts, and Comments in an RDBMS vs having a collection of Posts each of which has an embedded collection of Comments in, say, MongoDB.  </p>
<p>One of these naturally looks like your object model and one does not.  One of which requires a lot of ORM machinery to traverse the gap between your datastore and your application&#8230;.the other requires very little.</p>
<p>I think part of the reason a lot of people still think RDBMS are a good for ALL type of problems (excluding the very large scale ones where very few people still think they&#8217;re a good fit) is that we&#8217;re just so damn used to them.  </p>
<p>I, for one, am happy to let my SQL knowledge become a bit less useful in favor of a happier development experience.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: The dark side of NoSQL &#8250; ec2base</title>
		<link>http://codemonkeyism.com/dark-side-nosql/comment-page-2/#comment-264189</link>
		<dc:creator>The dark side of NoSQL &#8250; ec2base</dc:creator>
		<pubDate>Mon, 11 Jan 2010 18:57:31 +0000</pubDate>
		<guid isPermaLink="false">http://codemonkeyism.com/?p=1199#comment-264189</guid>
		<description>[...] http://codemonkeyism.com/dark-side-nosql/ [...]</description>
		<content:encoded><![CDATA[<p>[...] <a href="http://codemonkeyism.com/dark-side-nosql/" rel="nofollow">http://codemonkeyism.com/dark-side-nosql/</a> [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Rails Camp Germany 3 &#8211; Saturday sum up &#171; IO 9elements</title>
		<link>http://codemonkeyism.com/dark-side-nosql/comment-page-2/#comment-255041</link>
		<dc:creator>Rails Camp Germany 3 &#8211; Saturday sum up &#171; IO 9elements</dc:creator>
		<pubDate>Sun, 29 Nov 2009 22:15:34 +0000</pubDate>
		<guid isPermaLink="false">http://codemonkeyism.com/?p=1199#comment-255041</guid>
		<description>[...] The next session was about CouchDB. NoSQL was a very strong meme at the rcg3. It&#8217;s a cool thing to see people running CouchDB or MongoDB in their production environment. For those who are unsure about the benefits, there is a good further reading about NoSQL Patterns. For those who are skeptical &#8211; there is also a dark side of NoSQL. [...]</description>
		<content:encoded><![CDATA[<p>[...] The next session was about CouchDB. NoSQL was a very strong meme at the rcg3. It&#8217;s a cool thing to see people running CouchDB or MongoDB in their production environment. For those who are unsure about the benefits, there is a good further reading about NoSQL Patterns. For those who are skeptical &#8211; there is also a dark side of NoSQL. [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: biased_mongodb_contributer</title>
		<link>http://codemonkeyism.com/dark-side-nosql/comment-page-2/#comment-248337</link>
		<dc:creator>biased_mongodb_contributer</dc:creator>
		<pubDate>Sat, 17 Oct 2009 19:58:01 +0000</pubDate>
		<guid isPermaLink="false">http://codemonkeyism.com/?p=1199#comment-248337</guid>
		<description>I&#039;ve had great success storing user and login inoformation in MongoDB.  In fact storage of user objects was always considered a core use case of the project from day one.  I would be careful with things like orders though...although that can work too.</description>
		<content:encoded><![CDATA[<p>I&#8217;ve had great success storing user and login inoformation in MongoDB.  In fact storage of user objects was always considered a core use case of the project from day one.  I would be careful with things like orders though&#8230;although that can work too.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: drittenormalform *Beta* &#187; Blog Archive &#187; NoSQL &#8211; Die dunkle Seite</title>
		<link>http://codemonkeyism.com/dark-side-nosql/comment-page-2/#comment-247095</link>
		<dc:creator>drittenormalform *Beta* &#187; Blog Archive &#187; NoSQL &#8211; Die dunkle Seite</dc:creator>
		<pubDate>Mon, 05 Oct 2009 09:54:17 +0000</pubDate>
		<guid isPermaLink="false">http://codemonkeyism.com/?p=1199#comment-247095</guid>
		<description>[...] The dark side of NoSQL [...]</description>
		<content:encoded><![CDATA[<p>[...] The dark side of NoSQL [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Destillat KW40-2009 &#124; duetsch.info - GNU/Linux, Open Source, Softwareentwicklung, Selbstmanagement, Vim ...</title>
		<link>http://codemonkeyism.com/dark-side-nosql/comment-page-2/#comment-246642</link>
		<dc:creator>Destillat KW40-2009 &#124; duetsch.info - GNU/Linux, Open Source, Softwareentwicklung, Selbstmanagement, Vim ...</dc:creator>
		<pubDate>Fri, 02 Oct 2009 09:46:42 +0000</pubDate>
		<guid isPermaLink="false">http://codemonkeyism.com/?p=1199#comment-246642</guid>
		<description>[...] The dark side of NoSQL [...]</description>
		<content:encoded><![CDATA[<p>[...] The dark side of NoSQL [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: tecosystems &#187; links for 2009-10-01</title>
		<link>http://codemonkeyism.com/dark-side-nosql/comment-page-2/#comment-246591</link>
		<dc:creator>tecosystems &#187; links for 2009-10-01</dc:creator>
		<pubDate>Fri, 02 Oct 2009 01:20:49 +0000</pubDate>
		<guid isPermaLink="false">http://codemonkeyism.com/?p=1199#comment-246591</guid>
		<description>[...] Code Monkeyism: The dark side of NoSQL the tools definitely have their limitations, but a lot of that is lifecycle rather than intrinsic flaws in the approach (tags: nosql altdb database software cloud management databases couchdb criticism cassandra) [...]</description>
		<content:encoded><![CDATA[<p>[...] Code Monkeyism: The dark side of NoSQL the tools definitely have their limitations, but a lot of that is lifecycle rather than intrinsic flaws in the approach (tags: nosql altdb database software cloud management databases couchdb criticism cassandra) [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: stephan</title>
		<link>http://codemonkeyism.com/dark-side-nosql/comment-page-2/#comment-246488</link>
		<dc:creator>stephan</dc:creator>
		<pubDate>Thu, 01 Oct 2009 08:02:13 +0000</pubDate>
		<guid isPermaLink="false">http://codemonkeyism.com/?p=1199#comment-246488</guid>
		<description>@Bill: Sorry again to differ. &quot;[...]  but you need to refute the argument&quot;. I don&#039;t need to refute every argument someone makes on one of my blog posts. But I could give you my opinion.

&quot;If you have scaled up to the point where you need NoSQL, Ad Hoc queries are already out of the question.&quot;

a.) Many companies need NoSQL early in their life cycle, and then still have not enough investment into a data warhouse and BI solution
b.) Many companies that are (too) large have complicated processes leading business users to just go to the DB department requesting ad hoc reports
c.) If your CEO comes to you requesting some information NOW for the next investors call, you tell him &quot;this out of the question?&quot; Cudos to you.

&quot;ad-hoc repair is another matter – does it not indicate you haven’t thought through the operational usecases on the data?&quot;

I don&#039;t know about you, but I have strived for a zero bug strategy for the last years, and still there were bugs in the software we produced. Glad to hear that you do not have bugs because of edge cases no-one thought about or which are caused by the interference of different features in different departments meeting live data and users.

&quot; Keeping olap/ad-hoc queries off the active database is a best practice for relatively small systems, [...]&quot;

Not sure what your point is here.

Also not sure why you ignored &quot;Also see the quote in the post.&quot;</description>
		<content:encoded><![CDATA[<p>@Bill: Sorry again to differ. &#8220;[...]  but you need to refute the argument&#8221;. I don&#8217;t need to refute every argument someone makes on one of my blog posts. But I could give you my opinion.</p>
<p>&#8220;If you have scaled up to the point where you need NoSQL, Ad Hoc queries are already out of the question.&#8221;</p>
<p>a.) Many companies need NoSQL early in their life cycle, and then still have not enough investment into a data warhouse and BI solution<br />
b.) Many companies that are (too) large have complicated processes leading business users to just go to the DB department requesting ad hoc reports<br />
c.) If your CEO comes to you requesting some information NOW for the next investors call, you tell him &#8220;this out of the question?&#8221; Cudos to you.</p>
<p>&#8220;ad-hoc repair is another matter – does it not indicate you haven’t thought through the operational usecases on the data?&#8221;</p>
<p>I don&#8217;t know about you, but I have strived for a zero bug strategy for the last years, and still there were bugs in the software we produced. Glad to hear that you do not have bugs because of edge cases no-one thought about or which are caused by the interference of different features in different departments meeting live data and users.</p>
<p>&#8221; Keeping olap/ad-hoc queries off the active database is a best practice for relatively small systems, [...]&#8221;</p>
<p>Not sure what your point is here.</p>
<p>Also not sure why you ignored &#8220;Also see the quote in the post.&#8221;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Arun Srini</title>
		<link>http://codemonkeyism.com/dark-side-nosql/comment-page-2/#comment-246471</link>
		<dc:creator>Arun Srini</dc:creator>
		<pubDate>Thu, 01 Oct 2009 05:51:55 +0000</pubDate>
		<guid isPermaLink="false">http://codemonkeyism.com/?p=1199#comment-246471</guid>
		<description>I did fail to mention the NoSQL - windows, OORDBMS - Linux :-[]</description>
		<content:encoded><![CDATA[<p>I did fail to mention the NoSQL &#8211; windows, OORDBMS &#8211; Linux :-[]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Arun Srini</title>
		<link>http://codemonkeyism.com/dark-side-nosql/comment-page-2/#comment-246470</link>
		<dc:creator>Arun Srini</dc:creator>
		<pubDate>Thu, 01 Oct 2009 05:49:03 +0000</pubDate>
		<guid isPermaLink="false">http://codemonkeyism.com/?p=1199#comment-246470</guid>
		<description>NoSQL databases vs OORDBMS are like windows vs linux, when you get windows you know you can solve problems to a limit, but can&#039;t rely on them, and not very stable/powerful, while linux are hard to master, tough(er) to monitor and maintain, but no doubt a clear winner between the two.</description>
		<content:encoded><![CDATA[<p>NoSQL databases vs OORDBMS are like windows vs linux, when you get windows you know you can solve problems to a limit, but can&#8217;t rely on them, and not very stable/powerful, while linux are hard to master, tough(er) to monitor and maintain, but no doubt a clear winner between the two.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Knowtu &#187; links for 2009-09-30</title>
		<link>http://codemonkeyism.com/dark-side-nosql/comment-page-2/#comment-246420</link>
		<dc:creator>Knowtu &#187; links for 2009-09-30</dc:creator>
		<pubDate>Thu, 01 Oct 2009 01:21:31 +0000</pubDate>
		<guid isPermaLink="false">http://codemonkeyism.com/?p=1199#comment-246420</guid>
		<description>[...] Code Monkeyism: The dark side of NoSQL (tags: nosql software) [...]</description>
		<content:encoded><![CDATA[<p>[...] Code Monkeyism: The dark side of NoSQL (tags: nosql software) [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Bill de hÓra</title>
		<link>http://codemonkeyism.com/dark-side-nosql/comment-page-2/#comment-246394</link>
		<dc:creator>Bill de hÓra</dc:creator>
		<pubDate>Wed, 30 Sep 2009 22:35:23 +0000</pubDate>
		<guid isPermaLink="false">http://codemonkeyism.com/?p=1199#comment-246394</guid>
		<description>&quot;@Steve: I beg to differ.&quot;

beg away, but you need to refute the argument and not just handwave. Keeping olap/ad-hoc queries off the active database is a best practice for relatively small systems, never mind the outliers than non-relational systems target.

ad-hoc repair is another matter - does it not indicate you haven&#039;t thought through the operational usecases on the data?</description>
		<content:encoded><![CDATA[<p>&#8220;@Steve: I beg to differ.&#8221;</p>
<p>beg away, but you need to refute the argument and not just handwave. Keeping olap/ad-hoc queries off the active database is a best practice for relatively small systems, never mind the outliers than non-relational systems target.</p>
<p>ad-hoc repair is another matter &#8211; does it not indicate you haven&#8217;t thought through the operational usecases on the data?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Chris</title>
		<link>http://codemonkeyism.com/dark-side-nosql/comment-page-2/#comment-246361</link>
		<dc:creator>Chris</dc:creator>
		<pubDate>Wed, 30 Sep 2009 19:24:04 +0000</pubDate>
		<guid isPermaLink="false">http://codemonkeyism.com/?p=1199#comment-246361</guid>
		<description>Good discussion of running both types of DBs in one system:
http://johnpwood.net/2009/09/29/using-multiple-database-models-in-a-single-application/</description>
		<content:encoded><![CDATA[<p>Good discussion of running both types of DBs in one system:<br />
<a href="http://johnpwood.net/2009/09/29/using-multiple-database-models-in-a-single-application/" rel="nofollow">http://johnpwood.net/2009/09/29/using-multiple-database-models-in-a-single-application/</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: stephan</title>
		<link>http://codemonkeyism.com/dark-side-nosql/comment-page-2/#comment-246351</link>
		<dc:creator>stephan</dc:creator>
		<pubDate>Wed, 30 Sep 2009 18:47:24 +0000</pubDate>
		<guid isPermaLink="false">http://codemonkeyism.com/?p=1199#comment-246351</guid>
		<description>@Arne: Yes, a good reporting solution and DWH for reporting is a good thing. Many companies do not have those though. And it doesn&#039;t address the problem with adhoc data fixing which is sometimes needed due to software bugs.</description>
		<content:encoded><![CDATA[<p>@Arne: Yes, a good reporting solution and DWH for reporting is a good thing. Many companies do not have those though. And it doesn&#8217;t address the problem with adhoc data fixing which is sometimes needed due to software bugs.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: stephan</title>
		<link>http://codemonkeyism.com/dark-side-nosql/comment-page-2/#comment-246349</link>
		<dc:creator>stephan</dc:creator>
		<pubDate>Wed, 30 Sep 2009 18:45:56 +0000</pubDate>
		<guid isPermaLink="false">http://codemonkeyism.com/?p=1199#comment-246349</guid>
		<description>@MemDude: I think you&#039;re missing something. I came to this post because I have to deal with adhoc reporting and - in the past -data fixing and because I tried to get data out of Voldermort which I was using.</description>
		<content:encoded><![CDATA[<p>@MemDude: I think you&#8217;re missing something. I came to this post because I have to deal with adhoc reporting and &#8211; in the past -data fixing and because I tried to get data out of Voldermort which I was using.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: MemDude</title>
		<link>http://codemonkeyism.com/dark-side-nosql/comment-page-2/#comment-246332</link>
		<dc:creator>MemDude</dc:creator>
		<pubDate>Wed, 30 Sep 2009 17:11:08 +0000</pubDate>
		<guid isPermaLink="false">http://codemonkeyism.com/?p=1199#comment-246332</guid>
		<description>Maybe I&#039;m missing something in this argument, but it sounds like someone saying: I use &quot;Tool XZY&quot; and have a lot of experience with it, so we should always use &quot;Tool XYZ&quot; since my team is so good using it. If that was a good rule of thumb then we&#039;d have whole lot more people programming in COBOL using IMS databases.</description>
		<content:encoded><![CDATA[<p>Maybe I&#8217;m missing something in this argument, but it sounds like someone saying: I use &#8220;Tool XZY&#8221; and have a lot of experience with it, so we should always use &#8220;Tool XYZ&#8221; since my team is so good using it. If that was a good rule of thumb then we&#8217;d have whole lot more people programming in COBOL using IMS databases.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Gabe da Silveira</title>
		<link>http://codemonkeyism.com/dark-side-nosql/comment-page-2/#comment-246331</link>
		<dc:creator>Gabe da Silveira</dc:creator>
		<pubDate>Wed, 30 Sep 2009 16:58:32 +0000</pubDate>
		<guid isPermaLink="false">http://codemonkeyism.com/?p=1199#comment-246331</guid>
		<description>@Twylite - There are certain types of data that have an impedance mismatch to SQL (eg. graph data), but not the ones you mentioned. The relational model fits the things you mentioned perfectly well.

The impedance mismatch that exists is between sets and objects.  There is nothing about a blog post that makes it more natural to be thought of as an object.  Sets of blog posts and all the regular relational juice is still applicable here.

When you go NoSQL you are deciding the forego flexibility with your data in favor of raw speed and scalability.  Don&#039;t fool yourself into thinking that NoSQL is more &quot;natural&quot; just because you don&#039;t like the leaky ORM abstractions.</description>
		<content:encoded><![CDATA[<p>@Twylite &#8211; There are certain types of data that have an impedance mismatch to SQL (eg. graph data), but not the ones you mentioned. The relational model fits the things you mentioned perfectly well.</p>
<p>The impedance mismatch that exists is between sets and objects.  There is nothing about a blog post that makes it more natural to be thought of as an object.  Sets of blog posts and all the regular relational juice is still applicable here.</p>
<p>When you go NoSQL you are deciding the forego flexibility with your data in favor of raw speed and scalability.  Don&#8217;t fool yourself into thinking that NoSQL is more &#8220;natural&#8221; just because you don&#8217;t like the leaky ORM abstractions.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Arne Claassen</title>
		<link>http://codemonkeyism.com/dark-side-nosql/comment-page-1/#comment-246321</link>
		<dc:creator>Arne Claassen</dc:creator>
		<pubDate>Wed, 30 Sep 2009 15:52:55 +0000</pubDate>
		<guid isPermaLink="false">http://codemonkeyism.com/?p=1199#comment-246321</guid>
		<description>I think ad hoc reporting is a problem in general, since you shouldn&#039;t be doing that against your OLTP either. Really reporting data should be captured either in the data layer and queued for inserting into a reporting SQL DB, or exported via an ETL layer, of course that requries data export.

But in general, I agree that most developers jump into NoSql without operations consideration. Hopefullly that&#039;s just a symptom of the novelty of these data stores and will work itself out as they become more established.

As mentioned above already, MongoDB, while requiring a new set of skills, does provide all three of the capabilities you mention.</description>
		<content:encoded><![CDATA[<p>I think ad hoc reporting is a problem in general, since you shouldn&#8217;t be doing that against your OLTP either. Really reporting data should be captured either in the data layer and queued for inserting into a reporting SQL DB, or exported via an ETL layer, of course that requries data export.</p>
<p>But in general, I agree that most developers jump into NoSql without operations consideration. Hopefullly that&#8217;s just a symptom of the novelty of these data stores and will work itself out as they become more established.</p>
<p>As mentioned above already, MongoDB, while requiring a new set of skills, does provide all three of the capabilities you mention.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: stephan</title>
		<link>http://codemonkeyism.com/dark-side-nosql/comment-page-1/#comment-246310</link>
		<dc:creator>stephan</dc:creator>
		<pubDate>Wed, 30 Sep 2009 15:28:59 +0000</pubDate>
		<guid isPermaLink="false">http://codemonkeyism.com/?p=1199#comment-246310</guid>
		<description>@Colin: Some years back I&#039;ve played with KDB (+K) and was amazed. Thanks for pointing them out.</description>
		<content:encoded><![CDATA[<p>@Colin: Some years back I&#8217;ve played with KDB (+K) and was amazed. Thanks for pointing them out.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Colin</title>
		<link>http://codemonkeyism.com/dark-side-nosql/comment-page-1/#comment-246309</link>
		<dc:creator>Colin</dc:creator>
		<pubDate>Wed, 30 Sep 2009 15:22:33 +0000</pubDate>
		<guid isPermaLink="false">http://codemonkeyism.com/?p=1199#comment-246309</guid>
		<description>Column-oriented databases are another alternative to noSQL.  These nontraditional database systems do support SQL, provide low-latency, and easily manipulate trillions of rows of data.

Some examples are OneTick, MonetDB, Vhayu, KDB.</description>
		<content:encoded><![CDATA[<p>Column-oriented databases are another alternative to noSQL.  These nontraditional database systems do support SQL, provide low-latency, and easily manipulate trillions of rows of data.</p>
<p>Some examples are OneTick, MonetDB, Vhayu, KDB.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: euromix</title>
		<link>http://codemonkeyism.com/dark-side-nosql/comment-page-1/#comment-246307</link>
		<dc:creator>euromix</dc:creator>
		<pubDate>Wed, 30 Sep 2009 15:07:01 +0000</pubDate>
		<guid isPermaLink="false">http://codemonkeyism.com/?p=1199#comment-246307</guid>
		<description>I guess it means NoSql is a god fit for hierachical data that does not need export or queries, like a blog.
Export and reporting was never a strong point in web world anyway. 

Our application developed in Rails was designed to use sqlserver because no other product do what we need like reporting service.

I would have loved to use an open source database and make the ecosystem more consistent, but really, i dont know any system that can compete from far with reporting services.</description>
		<content:encoded><![CDATA[<p>I guess it means NoSql is a god fit for hierachical data that does not need export or queries, like a blog.<br />
Export and reporting was never a strong point in web world anyway. </p>
<p>Our application developed in Rails was designed to use sqlserver because no other product do what we need like reporting service.</p>
<p>I would have loved to use an open source database and make the ecosystem more consistent, but really, i dont know any system that can compete from far with reporting services.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Steve</title>
		<link>http://codemonkeyism.com/dark-side-nosql/comment-page-1/#comment-246299</link>
		<dc:creator>Steve</dc:creator>
		<pubDate>Wed, 30 Sep 2009 14:42:31 +0000</pubDate>
		<guid isPermaLink="false">http://codemonkeyism.com/?p=1199#comment-246299</guid>
		<description>@Twylite I guess I was looking at it more from the OLAP side of things.</description>
		<content:encoded><![CDATA[<p>@Twylite I guess I was looking at it more from the OLAP side of things.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Twylite</title>
		<link>http://codemonkeyism.com/dark-side-nosql/comment-page-1/#comment-246297</link>
		<dc:creator>Twylite</dc:creator>
		<pubDate>Wed, 30 Sep 2009 14:35:56 +0000</pubDate>
		<guid isPermaLink="false">http://codemonkeyism.com/?p=1199#comment-246297</guid>
		<description>@Steve: NoSQL is better suited to some applications than SQL is, no matter how many rows are involved.

The most common forms of web applications - blogs, forums, CMS, wikis - are all examples of structured document storage, and have a natural fit with NoSQL and an impedance mismatch with SQL.

In such cases key-value stores offer higher productivity in development, and higher runtime efficiency.</description>
		<content:encoded><![CDATA[<p>@Steve: NoSQL is better suited to some applications than SQL is, no matter how many rows are involved.</p>
<p>The most common forms of web applications &#8211; blogs, forums, CMS, wikis &#8211; are all examples of structured document storage, and have a natural fit with NoSQL and an impedance mismatch with SQL.</p>
<p>In such cases key-value stores offer higher productivity in development, and higher runtime efficiency.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: stephan</title>
		<link>http://codemonkeyism.com/dark-side-nosql/comment-page-1/#comment-246296</link>
		<dc:creator>stephan</dc:creator>
		<pubDate>Wed, 30 Sep 2009 14:34:54 +0000</pubDate>
		<guid isPermaLink="false">http://codemonkeyism.com/?p=1199#comment-246296</guid>
		<description>@John: Good points, thanks</description>
		<content:encoded><![CDATA[<p>@John: Good points, thanks</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: stephan</title>
		<link>http://codemonkeyism.com/dark-side-nosql/comment-page-1/#comment-246295</link>
		<dc:creator>stephan</dc:creator>
		<pubDate>Wed, 30 Sep 2009 14:34:24 +0000</pubDate>
		<guid isPermaLink="false">http://codemonkeyism.com/?p=1199#comment-246295</guid>
		<description>@Rick: I mentioned MongoDB as the easier ones, the skill issue persists though. I know many excellent SQL admins who whip up complex data reports in minutes, they might not in MongoDB. Same goes for expressive power of MongoDB JS (and I like MongoDB!) and SQL.</description>
		<content:encoded><![CDATA[<p>@Rick: I mentioned MongoDB as the easier ones, the skill issue persists though. I know many excellent SQL admins who whip up complex data reports in minutes, they might not in MongoDB. Same goes for expressive power of MongoDB JS (and I like MongoDB!) and SQL.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Rick</title>
		<link>http://codemonkeyism.com/dark-side-nosql/comment-page-1/#comment-246294</link>
		<dc:creator>Rick</dc:creator>
		<pubDate>Wed, 30 Sep 2009 14:32:14 +0000</pubDate>
		<guid isPermaLink="false">http://codemonkeyism.com/?p=1199#comment-246294</guid>
		<description>I would like to point out that MongoDB, with it&#039;s powerful javascript query system handles all of these issues swimmingly. IMO, most complex operations on datasets are easier when using an imperative/iterative system instead of SQL.</description>
		<content:encoded><![CDATA[<p>I would like to point out that MongoDB, with it&#8217;s powerful javascript query system handles all of these issues swimmingly. IMO, most complex operations on datasets are easier when using an imperative/iterative system instead of SQL.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: John Wood</title>
		<link>http://codemonkeyism.com/dark-side-nosql/comment-page-1/#comment-246293</link>
		<dc:creator>John Wood</dc:creator>
		<pubDate>Wed, 30 Sep 2009 14:26:58 +0000</pubDate>
		<guid isPermaLink="false">http://codemonkeyism.com/?p=1199#comment-246293</guid>
		<description>Ad hoc reporting is very difficult in CouchDB, especially if you are dealing with a large amount of data.

CouchDB does support “temporary views”, which are ad hoc views that you can build and execute on the fly. However, temporary views are not recommended for production use, because they need to be built before they can get you the data you need. This could take hours, or days depending on the size of you database and the processing power of your database server. Temporary views are meant as a way to test new views in development which will eventually be saved into a design document, and not for running ad hoc queries.</description>
		<content:encoded><![CDATA[<p>Ad hoc reporting is very difficult in CouchDB, especially if you are dealing with a large amount of data.</p>
<p>CouchDB does support “temporary views”, which are ad hoc views that you can build and execute on the fly. However, temporary views are not recommended for production use, because they need to be built before they can get you the data you need. This could take hours, or days depending on the size of you database and the processing power of your database server. Temporary views are meant as a way to test new views in development which will eventually be saved into a design document, and not for running ad hoc queries.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Steve</title>
		<link>http://codemonkeyism.com/dark-side-nosql/comment-page-1/#comment-246291</link>
		<dc:creator>Steve</dc:creator>
		<pubDate>Wed, 30 Sep 2009 14:13:08 +0000</pubDate>
		<guid isPermaLink="false">http://codemonkeyism.com/?p=1199#comment-246291</guid>
		<description>@Stephan 10 million rows? That&#039;s still in the scope of any decent RDBMS. Why does he need to use NoSQL? It just sounds like someone that wants to make the jump to the next &quot;latest&quot; technology. When you have a billion rows, that&#039;s a different problem. A normal RDBMS can&#039;t handle that volume of data in a reasonable amount of time. Ad hoc queries aren&#039;t possible. At all. The only way to get answers from a billion+ rows of data is to use a NoSQL system (Hadoop, Cassandra, whatever) or invest in an extremely expensive and extremely proprietary cluster RDBMS system (NetEzza, Vertica, AsterData, etc).

10 million rows of normal data is not NoSQL territory.</description>
		<content:encoded><![CDATA[<p>@Stephan 10 million rows? That&#8217;s still in the scope of any decent RDBMS. Why does he need to use NoSQL? It just sounds like someone that wants to make the jump to the next &#8220;latest&#8221; technology. When you have a billion rows, that&#8217;s a different problem. A normal RDBMS can&#8217;t handle that volume of data in a reasonable amount of time. Ad hoc queries aren&#8217;t possible. At all. The only way to get answers from a billion+ rows of data is to use a NoSQL system (Hadoop, Cassandra, whatever) or invest in an extremely expensive and extremely proprietary cluster RDBMS system (NetEzza, Vertica, AsterData, etc).</p>
<p>10 million rows of normal data is not NoSQL territory.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: website design</title>
		<link>http://codemonkeyism.com/dark-side-nosql/comment-page-1/#comment-246279</link>
		<dc:creator>website design</dc:creator>
		<pubDate>Wed, 30 Sep 2009 13:49:02 +0000</pubDate>
		<guid isPermaLink="false">http://codemonkeyism.com/?p=1199#comment-246279</guid>
		<description>Someone care to explain how NoSQL relates to RDF (and its triple stores)? *edit:* Not implying a connection here, just wondering how they compare to each other. *edit2:* Obviously, Im mostly interested in query performance etc, not in inference or ontology support - NoSQL probably cant do that :)</description>
		<content:encoded><![CDATA[<p>Someone care to explain how NoSQL relates to RDF (and its triple stores)? *edit:* Not implying a connection here, just wondering how they compare to each other. *edit2:* Obviously, Im mostly interested in query performance etc, not in inference or ontology support &#8211; NoSQL probably cant do that :)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tom</title>
		<link>http://codemonkeyism.com/dark-side-nosql/comment-page-1/#comment-246277</link>
		<dc:creator>Tom</dc:creator>
		<pubDate>Wed, 30 Sep 2009 13:40:15 +0000</pubDate>
		<guid isPermaLink="false">http://codemonkeyism.com/?p=1199#comment-246277</guid>
		<description>Steve said, &quot;If you have scaled up to the point where you need NoSQL, Ad Hoc queries are already out of the question.&quot;

I agree.  I see noSql as something to start using when the existing relational datastore can&#039;t handle the load or maybe for quick solutions.</description>
		<content:encoded><![CDATA[<p>Steve said, &#8220;If you have scaled up to the point where you need NoSQL, Ad Hoc queries are already out of the question.&#8221;</p>
<p>I agree.  I see noSql as something to start using when the existing relational datastore can&#8217;t handle the load or maybe for quick solutions.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tom</title>
		<link>http://codemonkeyism.com/dark-side-nosql/comment-page-1/#comment-246276</link>
		<dc:creator>Tom</dc:creator>
		<pubDate>Wed, 30 Sep 2009 13:38:28 +0000</pubDate>
		<guid isPermaLink="false">http://codemonkeyism.com/?p=1199#comment-246276</guid>
		<description>A couple concerns I have that you touched upon:

1. Agility: Are they agile?  If a user at a later date wants a new query that spans across 3 or more entities can I as easily do that with noSql as I can with Sql?

2. Conventions over adhoc design: If a developer can put anything into a database, they will.  This means that as years go buy the datastore becomes murky.  I&#039;ve worked with object-oriented database, XML database and old-school IMS hierarchy database and I can tell you that as time goes by these can start to look very ugly.</description>
		<content:encoded><![CDATA[<p>A couple concerns I have that you touched upon:</p>
<p>1. Agility: Are they agile?  If a user at a later date wants a new query that spans across 3 or more entities can I as easily do that with noSql as I can with Sql?</p>
<p>2. Conventions over adhoc design: If a developer can put anything into a database, they will.  This means that as years go buy the datastore becomes murky.  I&#8217;ve worked with object-oriented database, XML database and old-school IMS hierarchy database and I can tell you that as time goes by these can start to look very ugly.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: stephan</title>
		<link>http://codemonkeyism.com/dark-side-nosql/comment-page-1/#comment-246274</link>
		<dc:creator>stephan</dc:creator>
		<pubDate>Wed, 30 Sep 2009 13:34:09 +0000</pubDate>
		<guid isPermaLink="false">http://codemonkeyism.com/?p=1199#comment-246274</guid>
		<description>@Steve: I beg to differ. Also see the quote in the post.</description>
		<content:encoded><![CDATA[<p>@Steve: I beg to differ. Also see the quote in the post.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Steve</title>
		<link>http://codemonkeyism.com/dark-side-nosql/comment-page-1/#comment-246271</link>
		<dc:creator>Steve</dc:creator>
		<pubDate>Wed, 30 Sep 2009 13:30:57 +0000</pubDate>
		<guid isPermaLink="false">http://codemonkeyism.com/?p=1199#comment-246271</guid>
		<description>If you have scaled up to the point where you need NoSQL, Ad Hoc queries are already out of the question.</description>
		<content:encoded><![CDATA[<p>If you have scaled up to the point where you need NoSQL, Ad Hoc queries are already out of the question.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: stephan</title>
		<link>http://codemonkeyism.com/dark-side-nosql/comment-page-1/#comment-246259</link>
		<dc:creator>stephan</dc:creator>
		<pubDate>Wed, 30 Sep 2009 13:23:39 +0000</pubDate>
		<guid isPermaLink="false">http://codemonkeyism.com/?p=1199#comment-246259</guid>
		<description>@Latinist and Elliot: Thanks, see Bens comment, changed again now to &quot;ad hoc&quot;. Especially annoying because I&#039;ve learned - or so I thought - 5 years Latin ;-)</description>
		<content:encoded><![CDATA[<p>@Latinist and Elliot: Thanks, see Bens comment, changed again now to &#8220;ad hoc&#8221;. Especially annoying because I&#8217;ve learned &#8211; or so I thought &#8211; 5 years Latin ;-)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Latinist Geek</title>
		<link>http://codemonkeyism.com/dark-side-nosql/comment-page-1/#comment-246258</link>
		<dc:creator>Latinist Geek</dc:creator>
		<pubDate>Wed, 30 Sep 2009 13:11:09 +0000</pubDate>
		<guid isPermaLink="false">http://codemonkeyism.com/?p=1199#comment-246258</guid>
		<description>&quot;Ad Hoc&quot;, not &quot;Adhoc&quot;</description>
		<content:encoded><![CDATA[<p>&#8220;Ad Hoc&#8221;, not &#8220;Adhoc&#8221;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Elliot</title>
		<link>http://codemonkeyism.com/dark-side-nosql/comment-page-1/#comment-246256</link>
		<dc:creator>Elliot</dc:creator>
		<pubDate>Wed, 30 Sep 2009 13:09:02 +0000</pubDate>
		<guid isPermaLink="false">http://codemonkeyism.com/?p=1199#comment-246256</guid>
		<description>Err, &quot;ad hoc&quot;, not &quot;adhoc&quot;, right?  Ad hoc is &quot;To this&quot; in latin; &quot;adhoc&quot; is nonsense.</description>
		<content:encoded><![CDATA[<p>Err, &#8220;ad hoc&#8221;, not &#8220;adhoc&#8221;, right?  Ad hoc is &#8220;To this&#8221; in latin; &#8220;adhoc&#8221; is nonsense.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Sergio Bossa</title>
		<link>http://codemonkeyism.com/dark-side-nosql/comment-page-1/#comment-246237</link>
		<dc:creator>Sergio Bossa</dc:creator>
		<pubDate>Wed, 30 Sep 2009 12:33:20 +0000</pubDate>
		<guid isPermaLink="false">http://codemonkeyism.com/?p=1199#comment-246237</guid>
		<description>You gave the solution in your last paragraph: when you have strong querying/reporting needs, RDBMSs are still the way to go, even if you&#039;re using a NoSQL store with query capabilities such as MongoDB. 
RDBMSs are simply far better.

So, you may choose to split your data among (pseudo-)functional/semantic paths as you suggested, or just put everything in your NoSQL store and write behind to your RDBMS ... in both cases, RDBMSs will be part of your architecture for long time.

That&#039;s one reason why NoSQL is indeed a bad name: a NoSQL store doesn&#039;t imply no RDBMS at all.

Just my two euro cents,
Cheers,

Sergio B.</description>
		<content:encoded><![CDATA[<p>You gave the solution in your last paragraph: when you have strong querying/reporting needs, RDBMSs are still the way to go, even if you&#8217;re using a NoSQL store with query capabilities such as MongoDB.<br />
RDBMSs are simply far better.</p>
<p>So, you may choose to split your data among (pseudo-)functional/semantic paths as you suggested, or just put everything in your NoSQL store and write behind to your RDBMS &#8230; in both cases, RDBMSs will be part of your architecture for long time.</p>
<p>That&#8217;s one reason why NoSQL is indeed a bad name: a NoSQL store doesn&#8217;t imply no RDBMS at all.</p>
<p>Just my two euro cents,<br />
Cheers,</p>
<p>Sergio B.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Chris</title>
		<link>http://codemonkeyism.com/dark-side-nosql/comment-page-1/#comment-246236</link>
		<dc:creator>Chris</dc:creator>
		<pubDate>Wed, 30 Sep 2009 12:33:18 +0000</pubDate>
		<guid isPermaLink="false">http://codemonkeyism.com/?p=1199#comment-246236</guid>
		<description>I think if you ask most nosql advocates, you&#039;ll find that they wouldn&#039;t recommend mongo, couch, hadoop, etc for something like $-valued transactions or user signups. These key-value stores are designed with performance and scalability in mind, not 100% transactional reliability. In most real world applications you&#039;ll find a combination of traditional relational databases and these schemaless DBs. You mention this at the end of your post as a possible solution, but I think it is the probable solution.</description>
		<content:encoded><![CDATA[<p>I think if you ask most nosql advocates, you&#8217;ll find that they wouldn&#8217;t recommend mongo, couch, hadoop, etc for something like $-valued transactions or user signups. These key-value stores are designed with performance and scalability in mind, not 100% transactional reliability. In most real world applications you&#8217;ll find a combination of traditional relational databases and these schemaless DBs. You mention this at the end of your post as a possible solution, but I think it is the probable solution.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: stephan</title>
		<link>http://codemonkeyism.com/dark-side-nosql/comment-page-1/#comment-246224</link>
		<dc:creator>stephan</dc:creator>
		<pubDate>Wed, 30 Sep 2009 11:52:56 +0000</pubDate>
		<guid isPermaLink="false">http://codemonkeyism.com/?p=1199#comment-246224</guid>
		<description>@Ben: Thanks, fixed those, visual edit in wordpress removed all style attributes so I copied the mistakes back from my editor to wordpress :-) Fixed again.

&quot;Certainly in the businesses I’ve been involved in, ad hoc reporting has been phenomenally important and to lose that capability would be a deal breaker when considering moving to a different platform.&quot;

Yes, experienced that too. But sometimes adhoc reporting is important (realtime), other times it&#039;s just curiosity, like looking into your email inbox, twitter, .... and a 2 hour gap due to hadoop e.g. is tolerable (for the company, perhaps not for the curious employee)</description>
		<content:encoded><![CDATA[<p>@Ben: Thanks, fixed those, visual edit in wordpress removed all style attributes so I copied the mistakes back from my editor to wordpress :-) Fixed again.</p>
<p>&#8220;Certainly in the businesses I’ve been involved in, ad hoc reporting has been phenomenally important and to lose that capability would be a deal breaker when considering moving to a different platform.&#8221;</p>
<p>Yes, experienced that too. But sometimes adhoc reporting is important (realtime), other times it&#8217;s just curiosity, like looking into your email inbox, twitter, &#8230;. and a 2 hour gap due to hadoop e.g. is tolerable (for the company, perhaps not for the curious employee)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ben Smith</title>
		<link>http://codemonkeyism.com/dark-side-nosql/comment-page-1/#comment-246220</link>
		<dc:creator>Ben Smith</dc:creator>
		<pubDate>Wed, 30 Sep 2009 11:24:45 +0000</pubDate>
		<guid isPermaLink="false">http://codemonkeyism.com/?p=1199#comment-246220</guid>
		<description>&quot;Adhoc&quot; not &quot;Add hoc&quot;.
&quot;problem is&quot; not &quot;problems&quot;.

Aside from that, your third point is a bad one.

Whilst it may be true that your customers expectations are that ad hoc reporting is simple for you (when using traditional SQL, for instance) because each time they ask for something they get it within five minutes, and that they can be trained to expect it to take longer, it&#039;s no good when your boss needs to make a business decision and it will take several days to get him the numbers he needs.

Certainly in the businesses I&#039;ve been involved in, ad hoc reporting has been phenomenally important and to lose that capability would be a deal breaker when considering moving to a different platform.</description>
		<content:encoded><![CDATA[<p>&#8220;Adhoc&#8221; not &#8220;Add hoc&#8221;.<br />
&#8220;problem is&#8221; not &#8220;problems&#8221;.</p>
<p>Aside from that, your third point is a bad one.</p>
<p>Whilst it may be true that your customers expectations are that ad hoc reporting is simple for you (when using traditional SQL, for instance) because each time they ask for something they get it within five minutes, and that they can be trained to expect it to take longer, it&#8217;s no good when your boss needs to make a business decision and it will take several days to get him the numbers he needs.</p>
<p>Certainly in the businesses I&#8217;ve been involved in, ad hoc reporting has been phenomenally important and to lose that capability would be a deal breaker when considering moving to a different platform.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Page Caching using disk (user agent is rejected)
Database Caching using disk

Served from: codemonkeyism.com @ 2012-02-04 07:12:39 -->
