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.