Yeah, I may have gotten it completely wrong.
Okay, help this grasshopper (possibly by pointing me to relevant
documentation), what's the difference between "document-based" and
"key-value store"? When I've looked at CouchDB before, despite it
describing itself as "document based", I haven't been able to tell what
the difference is between it and a "key value store". It seemed to
support storing a "document" by key, and retrieving it by key. It
didn't seem to _do_ anything special with the document other than
storing it there (maybe it DOES, but I missed it?). So you can call it
a "document" instead of a "value", but I couldn't figure out how that
differed from a key-value store.
I guess it's that CouchDB _does_ let you build indexes on values other
than the key? Wacky, wonder how I missed that when I reviewed it last.
Jonathan
Ross Singer wrote:
> On Mon, Apr 12, 2010 at 12:22 PM, Jonathan Rochkind <[log in to unmask]> wrote:
>
>> The thing is, the NoSQL stuff is pretty much just a key-value store.
>> There's generally no way to "query" the store, instead you can simply look
>> up a document by ID.
>>
>
> Actually, this depends largely on the NoSQL DBMS in question. Some
> are key value stores (Redis, Tokyo Cabinet, Cassandra), some are
> document-based (CouchDB, MongoDB), some are graph-based (Neo4J), so I
> think blanket statements like this are somewhat misleading.
>
> CouchDB and MongoDB (for example) have the capacity to index the
> values within the document - you don't just have to look up things by
> document ID.
>
> -Ross.
>
>
|