When it comes to expression evaluation, Mondrian keeps things
simple. It doesn't tend to cache the results of expressions, but
calculates them each time they are evaluated. Eventually the
calculation tunnels through all calculated members and ends up at
an atomic cell. Atomic cells are retrieved from the database, and
stored in the cell value cache, so they are only calculated
once.
By the way, an atomic cell is not necessarily at the lowest level
of the hierarchy; Mondrian would prefer to load cells at a coarse
granularity, and leave the hard work of aggregating values to the
database, or even better, an aggregate table. And Mondrian does
its best to retrieve atomic cells in batches. It gathers together
requests for lots of cells of the same granularity and generates
a single SQL statement to retrieve them all at once.
Mondrian's 'keep it simple' scheme comes unstuck when a
particular calculation is repeated many times …
Showing entries 1 to 1
Apr
30
2009
Showing entries 1 to 1