Impedance mismatch with CouchDB
brehaut.net
brehaut.net
Seriously, who in the world thought that site's color scheme was reasonable?
"For instance I cannot have a view that filters out fragments that have publish dates in the future."
Isn't this as simple as ?startkey=0&endkey=[now] ?
The other issue is that it splits the 'is this a visible fragment' logic across the db and application code boundary. I now have to ensure that all the appropriate checks are in place in two layers rather than one.
The inability to chain map/reduce calls is the biggest thing holding CouchDB back, particularly w.r.t. CouchApps that don't have the luxury of an easy workaround. There is a bug https://issues.apache.org/jira/browse/COUCHDB-249 however no progress has been made recently.
By allowing views on the output of other views, more "normalized" document structures could exist that would still be transformable into useful outputs.
Views aren't really synonymous with queries; they're conceptually closer to indexes: They rearrange the data in such a way that allows certain types of queries to be fast.
So in reality, you are forced to manage your indexes (views) in CouchDB.