<?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: NoSQL First Impressions: Object Databases Missed the Boat</title>
	<atom:link href="http://www.vancelucas.com/blog/nosql-first-impressions-object-databases-missed-the-boat/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.vancelucas.com/blog/nosql-first-impressions-object-databases-missed-the-boat/</link>
	<description>Web Entrepreneur and Freelance PHP/Javascript Developer</description>
	<lastBuildDate>Sat, 14 Jan 2012 15:22:43 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<item>
		<title>By: Dwayne</title>
		<link>http://www.vancelucas.com/blog/nosql-first-impressions-object-databases-missed-the-boat/comment-page-1/#comment-747</link>
		<dc:creator>Dwayne</dc:creator>
		<pubDate>Sun, 06 Jun 2010 19:18:20 +0000</pubDate>
		<guid isPermaLink="false">http://www.vancelucas.com/?p=551#comment-747</guid>
		<description>I couldn&#039;t agree anymore people should move away from design schemas and fitting their objects them is way way old-fashion!

Great read, Im off to read another!

-Dwayne</description>
		<content:encoded><![CDATA[<p>I couldn&#8217;t agree anymore people should move away from design schemas and fitting their objects them is way way old-fashion!</p>
<p>Great read, Im off to read another!</p>
<p>-Dwayne</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Chris Henry</title>
		<link>http://www.vancelucas.com/blog/nosql-first-impressions-object-databases-missed-the-boat/comment-page-1/#comment-719</link>
		<dc:creator>Chris Henry</dc:creator>
		<pubDate>Thu, 13 May 2010 05:08:22 +0000</pubDate>
		<guid isPermaLink="false">http://www.vancelucas.com/?p=551#comment-719</guid>
		<description>Hi Vance: Thanks for your perspective on this topic.  After hearing about how many web companies at the forefront are using NoSQL to solve difficult problems, I&#039;ve started to seriously evaluate Mongo as an alternative to MySQL.  We have a number of applications that need to store data that doesn&#039;t necessarily fit well in an RDMS.  Hearing the term &#039;impedance mismatch&#039; really hit home.

One question I do have: Using MySQL has been comfortable for a while, as we know that when we retrieve data from there, it will have a structure, and that structure won&#039;t change often, becuase it can&#039;t.  When working with schema-less technologies, what do dev teams need to do differently or be more aware of?</description>
		<content:encoded><![CDATA[<p>Hi Vance: Thanks for your perspective on this topic.  After hearing about how many web companies at the forefront are using NoSQL to solve difficult problems, I&#8217;ve started to seriously evaluate Mongo as an alternative to MySQL.  We have a number of applications that need to store data that doesn&#8217;t necessarily fit well in an RDMS.  Hearing the term &#8216;impedance mismatch&#8217; really hit home.</p>
<p>One question I do have: Using MySQL has been comfortable for a while, as we know that when we retrieve data from there, it will have a structure, and that structure won&#8217;t change often, becuase it can&#8217;t.  When working with schema-less technologies, what do dev teams need to do differently or be more aware of?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Vance Lucas</title>
		<link>http://www.vancelucas.com/blog/nosql-first-impressions-object-databases-missed-the-boat/comment-page-1/#comment-711</link>
		<dc:creator>Vance Lucas</dc:creator>
		<pubDate>Sat, 08 May 2010 03:11:08 +0000</pubDate>
		<guid isPermaLink="false">http://www.vancelucas.com/?p=551#comment-711</guid>
		<description>As a clarification to some comments here - I don&#039;t believe that NoSQL databases are just a drop-in replacement for any RDBMS, nor do I believe that they should be used in every circumstance, every time.

The main gist of this post was simply that NoSQL databases often provide a way to persist your data that is closer to the way you actually use it and pass it around in your application, and eliminates a lot of setup work normalizing tables and data structures that probably isn&#039;t that important for most web projects.

NoSQL is simply a tool, and you should always choose your tools based on your work requirements. It just happens that this tool is rapidly increasing in relevance, and I believe will be a very significant player in the near future because of all the benefits it provides and flexibility it has.</description>
		<content:encoded><![CDATA[<p>As a clarification to some comments here &#8211; I don&#8217;t believe that NoSQL databases are just a drop-in replacement for any RDBMS, nor do I believe that they should be used in every circumstance, every time.</p>
<p>The main gist of this post was simply that NoSQL databases often provide a way to persist your data that is closer to the way you actually use it and pass it around in your application, and eliminates a lot of setup work normalizing tables and data structures that probably isn&#8217;t that important for most web projects.</p>
<p>NoSQL is simply a tool, and you should always choose your tools based on your work requirements. It just happens that this tool is rapidly increasing in relevance, and I believe will be a very significant player in the near future because of all the benefits it provides and flexibility it has.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: luke</title>
		<link>http://www.vancelucas.com/blog/nosql-first-impressions-object-databases-missed-the-boat/comment-page-1/#comment-704</link>
		<dc:creator>luke</dc:creator>
		<pubDate>Wed, 05 May 2010 02:21:31 +0000</pubDate>
		<guid isPermaLink="false">http://www.vancelucas.com/?p=551#comment-704</guid>
		<description>I&#039;ve been working with mongo for a couple months now and am still very &quot;meh&quot; on the whole NoSQL idea. I&#039;m doing maintenance mode on a system that was built on mongo and find debugging date-related issues on mongo much more difficult than MySQL or postgres - lack of development tools and lack of sophisticated querying functions are making things more tedious than I&#039;m used to. The only &quot;killer feature&quot; I&#039;ve encountered seems to be performance?</description>
		<content:encoded><![CDATA[<p>I&#8217;ve been working with mongo for a couple months now and am still very &#8220;meh&#8221; on the whole NoSQL idea. I&#8217;m doing maintenance mode on a system that was built on mongo and find debugging date-related issues on mongo much more difficult than MySQL or postgres &#8211; lack of development tools and lack of sophisticated querying functions are making things more tedious than I&#8217;m used to. The only &#8220;killer feature&#8221; I&#8217;ve encountered seems to be performance?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Vagif Verdi</title>
		<link>http://www.vancelucas.com/blog/nosql-first-impressions-object-databases-missed-the-boat/comment-page-1/#comment-703</link>
		<dc:creator>Vagif Verdi</dc:creator>
		<pubDate>Tue, 04 May 2010 00:58:39 +0000</pubDate>
		<guid isPermaLink="false">http://www.vancelucas.com/?p=551#comment-703</guid>
		<description>OODBMS missed the boat for very simple reason. It is not their boat. It&#039;s a completely different boat that some moron wrongly labeled &quot;NoSQL&quot;.

The right name on that boat should have been &quot;Horizontally Scalable Data Storages&quot;. And as the name suggests, the main passengers on that boat are cassandra, hadoop, bigtable, riak, voldemort.

Interestingly enough MongoDB team initially also missed the point of modern &quot;NoSQL&quot; phenomenon. But they quickly learned, and now automatic sharding is their top priority for next version.

As for impedance mismatch, the real NoSQL camp (oodb databases) were trying to sell it for decades. They failed. But this is a completely different story.</description>
		<content:encoded><![CDATA[<p>OODBMS missed the boat for very simple reason. It is not their boat. It&#8217;s a completely different boat that some moron wrongly labeled &#8220;NoSQL&#8221;.</p>
<p>The right name on that boat should have been &#8220;Horizontally Scalable Data Storages&#8221;. And as the name suggests, the main passengers on that boat are cassandra, hadoop, bigtable, riak, voldemort.</p>
<p>Interestingly enough MongoDB team initially also missed the point of modern &#8220;NoSQL&#8221; phenomenon. But they quickly learned, and now automatic sharding is their top priority for next version.</p>
<p>As for impedance mismatch, the real NoSQL camp (oodb databases) were trying to sell it for decades. They failed. But this is a completely different story.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Robert Greene</title>
		<link>http://www.vancelucas.com/blog/nosql-first-impressions-object-databases-missed-the-boat/comment-page-1/#comment-698</link>
		<dc:creator>Robert Greene</dc:creator>
		<pubDate>Fri, 30 Apr 2010 18:06:36 +0000</pubDate>
		<guid isPermaLink="false">http://www.vancelucas.com/?p=551#comment-698</guid>
		<description>I would also point out that in most systems dealing with remote references efficiently across networks and then updating those together as a unit of work is pretty important.

I think it is a real problem that MongoDB does not have transactions which span linked objects.  I also think it&#039;s not good that there are not ways to optimize the load of multiple linked objects across the network ... which is generally a performance killer.  For those developing it, these are some of the things I would suggest taking a look at in future implementations.  Lessons learned nearly a decade ago in the object database space.

-Robert</description>
		<content:encoded><![CDATA[<p>I would also point out that in most systems dealing with remote references efficiently across networks and then updating those together as a unit of work is pretty important.</p>
<p>I think it is a real problem that MongoDB does not have transactions which span linked objects.  I also think it&#8217;s not good that there are not ways to optimize the load of multiple linked objects across the network &#8230; which is generally a performance killer.  For those developing it, these are some of the things I would suggest taking a look at in future implementations.  Lessons learned nearly a decade ago in the object database space.</p>
<p>-Robert</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Robert Greene</title>
		<link>http://www.vancelucas.com/blog/nosql-first-impressions-object-databases-missed-the-boat/comment-page-1/#comment-697</link>
		<dc:creator>Robert Greene</dc:creator>
		<pubDate>Fri, 30 Apr 2010 17:50:43 +0000</pubDate>
		<guid isPermaLink="false">http://www.vancelucas.com/?p=551#comment-697</guid>
		<description>Nice topic.  I view this subject as someone who lives in the object database space.  I work for Versant ( the guys behind the Versant object database and db4o ).

It&#039;s been said, &quot;necessity is the mother of all invention&quot;.  I see this NoSQL &quot;movement&quot;  as innovation driven by necessity.

The necessity stems from the fact that in the last decade, data has grown and continues to grow out of bounds, the internet has brought unprecedented concurrency, business value has driven software model complexity.  

RDB&#039;s are runtime relationship execution engines. Even though their called &quot;relational&quot;, they don&#039;t actually store relations.  They store descrete data and then at runtime the descrete data is &quot;related&quot; by performing set based operations.  That was all well and good when you were dealing with 10&#039;s of thousands of records and 20 tables.  However today lots of systems are dealing with millions of objects and 100&#039;s of classes with inheritance, recursive relationships, containment, polymorphism, etc.  It&#039;s not hard to imagine why the JOIN operation is having issues keeping up with near real-time requests in the face of these realities. 

So, invention or ( existing alternate technologies - i.e. ODB&#039;s ) which help to deal with this new reality are what is represented by the spirit of NoSQL.  In the end, it just comes down to using the right tool for the job.  RDB&#039;s are still fine for the majority of applications, but when you are trying to build LinkedIn, Network Management, Protein-Protein analysis, Fuel flight path optimization, etc etc ... these things need a better tool.   

In some cases a MongoDB is the right tool and in other the Versant object database is the right tool and in other cases something else.  

As software engineers we all need to become familiar with our choices and use the right tool for the job.

-Robert</description>
		<content:encoded><![CDATA[<p>Nice topic.  I view this subject as someone who lives in the object database space.  I work for Versant ( the guys behind the Versant object database and db4o ).</p>
<p>It&#8217;s been said, &#8220;necessity is the mother of all invention&#8221;.  I see this NoSQL &#8220;movement&#8221;  as innovation driven by necessity.</p>
<p>The necessity stems from the fact that in the last decade, data has grown and continues to grow out of bounds, the internet has brought unprecedented concurrency, business value has driven software model complexity.  </p>
<p>RDB&#8217;s are runtime relationship execution engines. Even though their called &#8220;relational&#8221;, they don&#8217;t actually store relations.  They store descrete data and then at runtime the descrete data is &#8220;related&#8221; by performing set based operations.  That was all well and good when you were dealing with 10&#8242;s of thousands of records and 20 tables.  However today lots of systems are dealing with millions of objects and 100&#8242;s of classes with inheritance, recursive relationships, containment, polymorphism, etc.  It&#8217;s not hard to imagine why the JOIN operation is having issues keeping up with near real-time requests in the face of these realities. </p>
<p>So, invention or ( existing alternate technologies &#8211; i.e. ODB&#8217;s ) which help to deal with this new reality are what is represented by the spirit of NoSQL.  In the end, it just comes down to using the right tool for the job.  RDB&#8217;s are still fine for the majority of applications, but when you are trying to build LinkedIn, Network Management, Protein-Protein analysis, Fuel flight path optimization, etc etc &#8230; these things need a better tool.   </p>
<p>In some cases a MongoDB is the right tool and in other the Versant object database is the right tool and in other cases something else.  </p>
<p>As software engineers we all need to become familiar with our choices and use the right tool for the job.</p>
<p>-Robert</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: romanb</title>
		<link>http://www.vancelucas.com/blog/nosql-first-impressions-object-databases-missed-the-boat/comment-page-1/#comment-695</link>
		<dc:creator>romanb</dc:creator>
		<pubDate>Thu, 29 Apr 2010 20:51:15 +0000</pubDate>
		<guid isPermaLink="false">http://www.vancelucas.com/?p=551#comment-695</guid>
		<description>All of the following just IMHO, of course, just like your blog post ;)

Neither are &quot;NoSQL&quot; databases a general-purpose replacement for relational databases (the tone of your post seems to imply that, sorry if I got that wrong), nor have object databases &quot;missed the boat&quot;.

They can&#039;t be a general-purpose &quot;replacement&quot; for relational databases because they don&#039;t do the same thing, and they don&#039;t want to, thats what its about. They want to choose different priorities than relational databases that have their strenghts and weaknesses elsewhere.

It&#039;s also interesting how you:

1) seem to imply that using a relational database means an impedance mismatch per-se

and

2) that you don&#039;t see an impedance mismatch between all the NoSQL databases (except object databases) and OO code. An object database is the only database that lets you store objects without any mismatch.

When you use relational data as relational data in your application, there is no impedance mismatch.

There are surely many reasons why object databases did not get as widespread acceptance as relational databases but discussing them here would go a bit too far. Object databases are still strong in their particular fields, mostly embedded systems. There is nothing easier than a small footprint object database on an embedded system to persist your objects when you&#039;re programming in an OO language on such a device.

If I may link to a nice post by a core couchdb contributor about what NoSQL is about: http://blog.couch.io/post/511008668/nosql-is-about

You may just be overly enthusiastic over your recent findings but the new databases just mean more alternatives and thats a good thing. More alternatives you can choose from when you&#039;re looking for the storage that best fits your usecase and data requirements of a particular application or even just a part of a particular application (polyglot persistence anyone?). Each of these databases have their own set of (different) characteristics that make them suitable for some tasks and not for others.

All this impedance mismatch talk is nice but at the end of the day its nothing more than transforming/moving data between different representations, sometimes its more difficult, sometimes less. Relational to OO is surely not easy. Documents to OO may be easier, it looks like it, but no mismatch at all? I dont think so. Transforming data between different representations is something we do all the day in all kinds of different ways in IT. If you can avoid it sometimes or make it easier, good.

Using an RDBMS is not &quot;going back&quot;. You should just make sure that it is the right tool for the job, as always. If you&#039;re not aware yet of the *strenghts* of relational databases you should spent some time to learn them. Otherwise you may find yourself using some NoSQL database where a relational database would be the much better fit (yes, there are many such cases). Not everything is better with the new shiny databases ;)

Just relax and enjoy the new choices. Don&#039;t exchange one hammer for the other. Put them all into your toolbox.</description>
		<content:encoded><![CDATA[<p>All of the following just IMHO, of course, just like your blog post <img src='http://www.vancelucas.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Neither are &#8220;NoSQL&#8221; databases a general-purpose replacement for relational databases (the tone of your post seems to imply that, sorry if I got that wrong), nor have object databases &#8220;missed the boat&#8221;.</p>
<p>They can&#8217;t be a general-purpose &#8220;replacement&#8221; for relational databases because they don&#8217;t do the same thing, and they don&#8217;t want to, thats what its about. They want to choose different priorities than relational databases that have their strenghts and weaknesses elsewhere.</p>
<p>It&#8217;s also interesting how you:</p>
<p>1) seem to imply that using a relational database means an impedance mismatch per-se</p>
<p>and</p>
<p>2) that you don&#8217;t see an impedance mismatch between all the NoSQL databases (except object databases) and OO code. An object database is the only database that lets you store objects without any mismatch.</p>
<p>When you use relational data as relational data in your application, there is no impedance mismatch.</p>
<p>There are surely many reasons why object databases did not get as widespread acceptance as relational databases but discussing them here would go a bit too far. Object databases are still strong in their particular fields, mostly embedded systems. There is nothing easier than a small footprint object database on an embedded system to persist your objects when you&#8217;re programming in an OO language on such a device.</p>
<p>If I may link to a nice post by a core couchdb contributor about what NoSQL is about: <a href="http://blog.couch.io/post/511008668/nosql-is-about" rel="nofollow">http://blog.couch.io/post/511008668/nosql-is-about</a></p>
<p>You may just be overly enthusiastic over your recent findings but the new databases just mean more alternatives and thats a good thing. More alternatives you can choose from when you&#8217;re looking for the storage that best fits your usecase and data requirements of a particular application or even just a part of a particular application (polyglot persistence anyone?). Each of these databases have their own set of (different) characteristics that make them suitable for some tasks and not for others.</p>
<p>All this impedance mismatch talk is nice but at the end of the day its nothing more than transforming/moving data between different representations, sometimes its more difficult, sometimes less. Relational to OO is surely not easy. Documents to OO may be easier, it looks like it, but no mismatch at all? I dont think so. Transforming data between different representations is something we do all the day in all kinds of different ways in IT. If you can avoid it sometimes or make it easier, good.</p>
<p>Using an RDBMS is not &#8220;going back&#8221;. You should just make sure that it is the right tool for the job, as always. If you&#8217;re not aware yet of the *strenghts* of relational databases you should spent some time to learn them. Otherwise you may find yourself using some NoSQL database where a relational database would be the much better fit (yes, there are many such cases). Not everything is better with the new shiny databases <img src='http://www.vancelucas.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Just relax and enjoy the new choices. Don&#8217;t exchange one hammer for the other. Put them all into your toolbox.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Alex Sharp</title>
		<link>http://www.vancelucas.com/blog/nosql-first-impressions-object-databases-missed-the-boat/comment-page-1/#comment-694</link>
		<dc:creator>Alex Sharp</dc:creator>
		<pubDate>Thu, 29 Apr 2010 17:12:52 +0000</pubDate>
		<guid isPermaLink="false">http://www.vancelucas.com/?p=551#comment-694</guid>
		<description>So well put Vance. I agree, getting away from the idea of design schemas and fitting your objects to them is so antiquated. As software developers, what we really want is to persist our objects, or state, more generally. I have totally fallen in love with mongo for this reason alone. Great post.</description>
		<content:encoded><![CDATA[<p>So well put Vance. I agree, getting away from the idea of design schemas and fitting your objects to them is so antiquated. As software developers, what we really want is to persist our objects, or state, more generally. I have totally fallen in love with mongo for this reason alone. Great post.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: [Web] 連結分享 - 傑夫碎碎唸-有線電視、漫畫、PHP、Pushmail、Blackberry</title>
		<link>http://www.vancelucas.com/blog/nosql-first-impressions-object-databases-missed-the-boat/comment-page-1/#comment-691</link>
		<dc:creator>[Web] 連結分享 - 傑夫碎碎唸-有線電視、漫畫、PHP、Pushmail、Blackberry</dc:creator>
		<pubDate>Thu, 29 Apr 2010 09:01:27 +0000</pubDate>
		<guid isPermaLink="false">http://www.vancelucas.com/?p=551#comment-691</guid>
		<description>[...] NoSQL First Impressions: Object Databases Missed the Boat [...]</description>
		<content:encoded><![CDATA[<p>[...] NoSQL First Impressions: Object Databases Missed the Boat [...]</p>
]]></content:encoded>
	</item>
</channel>
</rss>

