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 <rochk...@jhu.edu> 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.

Reply via email to