I've finally gotten around to playing with CouchDB . It really reminds me more of an object database than a document store in that your documents are effectively JSON files that can be queried via JavaScript. I'm not sure if you could put something like an image or some other binary data in the store just yet, but seeing as that never seems to be that great an idea, it's probably for the best.

My big question is the speed. I just can't imagine that as things get really large your going to pay a pretty hefty price. If a view (kind of like a query) gets updated on each write, is that an enormous index keeping track of all the documents? If it doesn't keep something like an index, then how could it search its stored items any faster than a typical database?

Seeing as the CouchDB guys must be pretty smart, I'm betting they have thought about these kinds of issues before. There are also many examples of similar ideas in other hash based databases, so hopefully things are effectively solved and the issue is now just a marketing question. In either case, hopefully the Lazyweb can help me out here.