[Mondrian] RE: Spatial index

Julian Hyde jhyde at pentaho.com
Wed Apr 20 15:08:25 EDT 2011


 Luc wrote: 

As for the rollup(Map<SpatialDimension, Object> dimensions), I think there
might be an issue with it. Right now, it would only allow us to lookup one
cell at a time. The API we need must be able to lookup all the regions
necessary to populate a region "superset". Maybe I'm not understanding the
API right.

The idea is that if you ask for one cell, it will try to create a segment,
by rolling up, that contains that cell. 
What about the next cell that mondrian needs? There are no guarantees, but
there is a good chance that the next cell would be in that segment too.
Computing a segment via rollup is so cheap (in terms of CPU and memory) that
we might as well just do it, then see if the segment is useful. It's simpler
than looking at thousands of cell requests and trying to create the optimal
set of segments for them.
The return from rollup is a list of SpatialRegions to combine. Those could
be input to some procedure that generates the rolled up segment. I guess
you'd also have to tell the procedure the desired dimensionality of the
rolled up segment. Then it would create the largest rolled up segment that
it can.
(Possibly that segment wouldn't be 'rectangular' (actually
hyper-rectangular). In which case, should the roll up process 'cut off the
corners' to produce a rectangle? Or should it produce multiple segments? I
don't know the answer yet, but I think the indexing API I've proposed is
giving us the right information, anyway.)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.pentaho.org/pipermail/mondrian/attachments/20110420/a8a9e0c9/attachment.html 

More information about the Mondrian mailing list