Instead of storing a MBR(4 doubles) for a point(2 doubles) in R-Tree leaf node, PointMBR concept is introduced. PointMBR is a way to store a point as 2 doubles in R-Tree leaf node. This reduces R-Tree index size roughly in half.

In order to fully benefit from the PointMBR concept, besides R-Tree, external sort operator during bulk-loading (from either data loading or index creation) must deal with point as 2 doubles instead of 4 doubles. Otherwise, external sort will suffer from twice as many doubles as it actually requires. For this purpose, PointMBR specific optimization logic is added as follows:

1) CreateMBR function in assign operator generates 2 doubles, instead of 4 doubles.

2) External sort operator sorts points represented with 2 doubles.

3) Bulk-loading in RTree takes 4 doubles by reading 2 doubles twice and then, do the same work as non-point MBR cases.

  • No labels