I've been hearing a ton of advantages over using the various nosql solutions (primarily couchdb and mongo). What are the <i>disadvantages</i> to these DBs? Data duplication?
One is that they don't support transactions in the conventional sense. They do support some simpler atomic-operation primitives, but generally not for multiple objects updated in the same atomic operation, and not including other fancy things like rolling back transactions.
Well, with CouchDB, you have to pre-define all of your queries with "views". And the first time you call a view, it has to run your mapping function against -every- document in the database, which takes a ton of time.