Print

Print


SQL-style JOINs can be done in CouchDB (can't speak for the other NoSQL 
DB's).

In CouchDB, it's called view collation:
http://chrischandler.name/couchdb/view-collation-for-join-like-behavior-in-couchdb/

It's a different way of thinking (as there are no tables, and map/reduce 
goes through every document to generate it's output), but it is possible 
to get interestingly combined data out of the whole database.

Later,
Benjamin

-- 
President
BigBlueHat
P: 864.232.9553
W: http://www.bigbluehat.com/
http://www.linkedin.com/in/benjaminyoung


On 4/12/10 11:08 AM, Robert Sanderson wrote:
> Depends on the sort of features required, in particular the access
> patterns, and the hardware it's going to run on.
>
> In my experience, NoSQL systems (for example apache's Cassandra) have
> extremely good distribution properties over multiple machines, much
> better than SQL databases.  Essentially, it's easier to store a bunch
> of key/values in a distributed fashion, as you don't need to do joins
> across tables (there aren't any) and eventually consistent systems
> (such as Cassandra) don't even need to always be internally consistent
> between nodes.
>
> If many concurrent write accesses are required, then NoSQL can also be
> a good choice, for the same reasons as it's easily distributed.
> And for the same reasons, it can be much faster than SQL systems with
> the same data given a data model that fits the access patterns.
>
> The flip side is that if later you want to do something that just
> requires the equivalent of table joins, it has to be done at the
> application level.  This is going to be MUCH MUCH slower and harder
> than if there was SQL underneath.
>
>
> Rob
>
>
> On Mon, Apr 12, 2010 at 7:55 AM, Thomas Dowling<[log in to unmask]>  wrote:
>    
>> So let's say (hypothetically, of course) that a colleague tells you he's
>> considering a NoSQL database like MongoDB or CouchDB, to store a couple
>> tens of millions of "documents", where a document is pretty much an
>> article citation, abstract, and the location of full text (not the full
>> text itself).  Would your reaction be:
>>
>> "That's a sensible, forward-looking approach.  Lots of sites are putting
>> lots of data into these databases and they'll only get better."
>>
>> "This guy's on the bleeding edge.  Personally, I'd hold off, but it could
>> work."
>>
>> "Schedule that 2012 re-migration to Oracle or Postgres now."
>>
>> "Bwahahahah!!!"
>>
>> Or something else?
>>
>>
>>
>> (<http://en.wikipedia.org/wiki/NoSQL>  is a good jumping-in point.)
>>
>>
>> --
>> Thomas Dowling
>> [log in to unmask]
>>
>>