Lasse,
Thank you for your reply. I think what might be the best is to call all the views with stale=false that relate to city after a city is updated or changed as part of the save process. There will be less changes to city than there will be reads in cities. So I would hate for the reads to take a hit each time, when we can just kind of force a rebuild on save.
The only issue with them seeing items a few seconds later is the product is all API based, so we are not sure how the customers will utilize the API. They might create some process where they insert a record, then the next call could be listing the records. In that case they would get odd results b/c the item they just inserted would not be in the list yet.
So the save process might be slightly longer in this setup, but I think it will be ok since the reads are really what needs to be super fast since there will much more of those.
One quick followup. From your experience (or anyone out there seeing this), about how long does it take a simple view with 2 million records to run when specifying stale=false? Are we talking 5 secs, 10+ secs, etc. Trying to get a feel for how bad of a high things will take once we start getting into a larger number of records.
Again, thanks for the time!