﻿<?xml version="1.0" encoding="utf-8"?><rss version="2.0"><channel><title>Ayende @ Rahien</title><link>http://ayende.com</link><description>Ayende @ Rahien</description><copyright>Copyright (C) Ayende Rahien  2004 - 2021 (c) 2026</copyright><ttl>60</ttl><item><title>Ayende Rahien commented on That No SQL Thing – Document Databases</title><description>Karl,
  
For the most part, MongoDB is a drastically different beast than CouchDB or RavenDB.
  
You are correct, by the way, in that MongoDB's idea of how to deal with documents isn't really a key based approach. 
  
I would say that you _id is much more than an implementation details, this is how you address the document, and MongoDB has a lot of support to make this as fast as possible.
  
But yes, while you _can_ do something like this:
  
 db.people.findOne( { _id: ObjectId( "47cc67093475061e3d95369d" ) } )
  
That isn't really how I think about a key store.
  
</description><link>http://ayende.com/4459/that-no-sql-thing-document-databases#comment10</link><guid>http://ayende.com/4459/that-no-sql-thing-document-databases#comment10</guid><pubDate>Tue, 20 Apr 2010 20:35:37 GMT</pubDate></item><item><title>Karl Seguin commented on That No SQL Thing – Document Databases</title><description>I can't agree that a document db is, at its core, a key/value store. A key value store is a document db, but not all document dbs are key value stores.
  
  
The definition of a key value store is that the data can only be accessed by key - this is fundamental to what they are. MongoDB, CouchDB and presumably RavenDB allow, as you state, more complex querying. Once you allow for secondary indexes, you are very far away from key/value.
  
  
My experience is more with MongoDB, so I can speak about it best. Sure it requires an _id, but that's an internal implementation detail...you can skip it and it'll generate one for you (I wouldn't be surprised if SQL server did the same thing when no PK was present). Also, the structure of a MongoDB document isn't keyed at all, the _id is part of the document, not the key of the document.
</description><link>http://ayende.com/4459/that-no-sql-thing-document-databases#comment9</link><guid>http://ayende.com/4459/that-no-sql-thing-document-databases#comment9</guid><pubDate>Tue, 20 Apr 2010 18:59:12 GMT</pubDate></item><item><title>Ayende Rahien commented on That No SQL Thing – Document Databases</title><description>Parag,
  
Yes, I think it would be ideally suited for that. It is a much more natural model for those sort of things than a RDBMS.
</description><link>http://ayende.com/4459/that-no-sql-thing-document-databases#comment8</link><guid>http://ayende.com/4459/that-no-sql-thing-document-databases#comment8</guid><pubDate>Tue, 13 Apr 2010 04:04:52 GMT</pubDate></item><item><title>Steve Bohlen commented on That No SQL Thing – Document Databases</title><description>@Parag:
  
  
To my understanding, the initial meaning for 'NoSQL' was actually intended to be 'NOSQL' (standing for N.ot O.nly SQL) rather than the more often-used colloquialism 'NoSQL' taken to me 'No' SQL at all.
  
  
This original meaning would be closer to the spirit of what you suggest ('PlusSQL') than the more common (mis)interpretation as being 'against' SQL in its entirety.
  
  
Sadly, I cannot seem to find an authoritative reference to corroborate my understanding in any 'official' sense, but I do believe this was its initial intent.
  
  
-Steve B.
</description><link>http://ayende.com/4459/that-no-sql-thing-document-databases#comment7</link><guid>http://ayende.com/4459/that-no-sql-thing-document-databases#comment7</guid><pubDate>Mon, 12 Apr 2010 14:36:49 GMT</pubDate></item><item><title>Parag commented on That No SQL Thing – Document Databases</title><description>Do you think this can be excellent source to store Temporal data for eg, an Invoice document etc ? The more I search, the more I realize it's not replacement to RDBMS but can be excellent addon to store Temporal and denornmized data which most systems seems to be having(think invoice, think payment receipt etc). I think NoSQL should be renamed to PlusSQL or something similar :)
</description><link>http://ayende.com/4459/that-no-sql-thing-document-databases#comment6</link><guid>http://ayende.com/4459/that-no-sql-thing-document-databases#comment6</guid><pubDate>Mon, 12 Apr 2010 13:18:04 GMT</pubDate></item><item><title>Rafal commented on That No SQL Thing – Document Databases</title><description>Can I ask few questions?
  
What is the underlying storage of Raven DB? Esent? If so, what about its performance?
  
Does Raven support distributed transactions/System.Transactions API?
  
I'd be happy to use it if it supported DTC, I'm thinking about transactional message queue &amp; document operations, which is quite common pattern. Or maybe you have an idea how to implement transactional document &amp; MQ operations without DTC?
  
</description><link>http://ayende.com/4459/that-no-sql-thing-document-databases#comment5</link><guid>http://ayende.com/4459/that-no-sql-thing-document-databases#comment5</guid><pubDate>Mon, 12 Apr 2010 06:03:10 GMT</pubDate></item><item><title>Ayende Rahien commented on That No SQL Thing – Document Databases</title><description>Jason,
  
A DocDBs isn't really about replacing RDBMS, those still have an important role to play.
  
I'll talk about usecases for DocDbs in a future post
</description><link>http://ayende.com/4459/that-no-sql-thing-document-databases#comment4</link><guid>http://ayende.com/4459/that-no-sql-thing-document-databases#comment4</guid><pubDate>Sun, 11 Apr 2010 22:04:37 GMT</pubDate></item><item><title>Jason Meckley commented on That No SQL Thing – Document Databases</title><description>with the RESTful JSON access it sounds like Raven is a good candidate for view model persistence. Since raven takes care of the Lucene indexing through linq views it's that much easier to introduce searching into an application. (searching as I have heard Udi describe it).
  
  
I'm still on the fence if a document DB should replace a RDBMS, but that could simply be my own resistance to change.  I know everyone says "what about reporting". I think that is where an RDBMS comes into play. store the domain and/or view data in the document DB and export data to an RDBMS for reporting/mining.
</description><link>http://ayende.com/4459/that-no-sql-thing-document-databases#comment3</link><guid>http://ayende.com/4459/that-no-sql-thing-document-databases#comment3</guid><pubDate>Sun, 11 Apr 2010 21:24:10 GMT</pubDate></item><item><title>Ayende Rahien commented on That No SQL Thing – Document Databases</title><description>Eric,
  
I read through the code base of CouchDB, went over all the documentation available for CouchDB, etc.
  
Nothing spectacular, I am afraid.
</description><link>http://ayende.com/4459/that-no-sql-thing-document-databases#comment2</link><guid>http://ayende.com/4459/that-no-sql-thing-document-databases#comment2</guid><pubDate>Sun, 11 Apr 2010 20:59:38 GMT</pubDate></item><item><title>Eric commented on That No SQL Thing – Document Databases</title><description>For those of us that are still trying to wrap our heads around document databases, their uses as well as the paradigm in general, would you recommend some reading material? 
  
  
For instance, I understand the relatively easy concept of serializing and deserializing POCO's to and from JSON (or some other format) for storage and retrieval.  There's a ton of material about the easy parts of the paradigm. But I haven't been able to find a good reference for the harder concepts such as differences between querying data in a RDMS and document database.  Or for that matter the proper way data should be queried in document databases.
  
  
What material did you use to learn document databases?
  
</description><link>http://ayende.com/4459/that-no-sql-thing-document-databases#comment1</link><guid>http://ayende.com/4459/that-no-sql-thing-document-databases#comment1</guid><pubDate>Sun, 11 Apr 2010 19:08:15 GMT</pubDate></item></channel></rss>