Only if the database spends more computational effort on each request than the web server does. It's very common to have a single Redis instance handling the combined request volume from many servers, and in general in-memory caching tiers are smaller than the tier they support. Given that RAID arrays of modern SSDs can yield over a million IOPS, it's not impossible to imagine a disk-backed database which does the same.
This is also false where network RTT is higher than the time to process a request on the backend. If a request takes < 100us from the backend's perspective, but network overhead adds 10ms from the web server's perspective, the number of in-flight requests is 100x higher for the web server than for the backend. In this situation, a database server needs to only handle 10 requests concurrently to exhaust a web server with 1000 threads for handling in-flight requests.
I didn't take it this way. But if data.int-map weren't a drop-in replacement for a normal hash-map with integer keys, it wouldn't really be worth writing or maintaining. If you're right about how niche the async model is, then I question the need for any sort of update at all; just leave it to the supersets exposed by Aleph, Pedestal, et al.
As far as I can tell, the only value of having a standard API for async is that the core Ring middleware can be async-compatible. Since only a few of these modify the response (which is the only case where special async middleware is required), maybe we can just make them pluggable? That certainly doesn't solve the general form of the problem, but speaking from experience, that's a very hard problem to solve in a way that doesn't bring a lot of API baggage with it.
As far as examples, I just meant that when you're building a product, it's common to have prototypical customers that you can reference when evaluating a new feature or design. We could define half a dozen or so use cases for Ring which we think span the design space, and try to understand how our approaches succeed or fail for each.
At the end of the day, this design is easy for me to support in Aleph, and I don't feel the need to strongly argue against it. Certainly I understand the desire to use something simple and universal like callbacks, instead of a more complex promise-like data structure. But I can't reconcile the fact that you think async is so niche and that you think this was a worthwhile change. I'd be interested to hear your thoughts.