couchdb employs a cool pattern can used in multitude of other scenarios. i'm talking persisted b-tree index of map/reduce results. idea precalculate aggregated data , store @ different levels of b-tree index. index can used efficiently query aggregate without having reaggregate data time. then, if leaf-level value changes, ascending path through tree has recalculated. for example, if data price on time, index store sum , count of items @ day, month, , year levels. then, if wants query average price year-to-date had sum sums , counts full months since year start, plus days available last month, divide total sum total count. if past price has change, change has propagate through index, corresponding day's , month's , year's values have updated, , values other days , other months within year can reused calculation. what generic name of approach? similar exists in of popular rdbmses? experience using in practice? materialized view "a materialized vi...