An example of advice for dimension ordering

Hi,
At Creating the Array Domain - TileDB Docs, the following advice is provided.

“Remember to give priority to more selective dimensions, in order to maximize the pruning power during slicing.”

I was wondering if someone could give an example of how to interpret this statement. When one says “selective dimension”, is the idea:

  • similar to for e.g. some databases asking the left table of a join to be smaller than the right table. That way, less data has to be handled
  • to have the most expressive dimension(more selective power). e.g. real numbers are more granular than integers so they should be given priority.

Thanks,
Rajiv

In retrospect, I think they both mean the same. Also I found the folllowing link which gives more detail

https://docs.tiledb.com/main/solutions/tiledb-embedded/performance-tips/choosing-dimensions

" The order of the dimensions in the array schema matters. More selective dimensions (i.e., with greater pruning power) should be defined before less selective ones."

I think you have the right idea. I will revise that section a bit soon and provide examples. I realize that the statement may not be accurate for certain orders, so I’ll give examples given specific tile and cell orders to clarify better.

1 Like