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. > >