One of the strengths of mondrian's design is that you don't need
to do any processing to populate special data structures before
you start running OLAP queries. More than a few people have
observed that this makes mondrian an excellent choice for
'real-time OLAP' -- running multi-dimensional queries on a
database which is constantly changing.
The problem is that mondrian's cache gets in the way. Usually the
cache is a great help, because it ensures that mondrian only goes
to the DBMS once for a given piece of data, but the cache becomes
out of date if the underlying database is changing.
This is solved with a new set of APIs for cache control in
mondrian-2.3. Before I explain the API, let's understand how
mondrian caches data.
How mondrian's cache works
Mondrian's cache ensures that once a multidimensional cell -- say the Unit Sales of Beer in Texas in Q1, 1997 -- has been retrieved from …
[Read more]