Opened 5 years ago

Last modified 4 months ago

#311 new feature

Dynamic re-tiling of arrays

Reported by: dmisev Owned by: dmisev
Priority: major Milestone: Future
Component: rasserver Version: 8.3
Keywords: Cc: bbell
Complexity: Very Hard

Description

Multidimensiona arrays in rasdaman are broken-down and stored as tiles (more info on tiling).

At the moment the tiling is static and can be only specified when the data is initially inserted into rasdaman. Furthermore, the tiling is global to the array, i.e. it is not possible to tile one part of the array using one strategy, and another with a different strategy.

The idea is to make tiling dynamic, so that an array or even parts of the array can be re-tiled at any time with a different tiling strategy. This could be part of the UPDATE statement in rasql:

update collName as c
set c[domainToBeTiled]
tiling ...

Once this is achieved, further enhancement would be to make the server self-aware of data access patterns. Rasdaman would keep statistics and learn what's the best tiling based on the queries that are typically run, and re-tile the data accordingly.

Change History (3)

comment:1 Changed 4 years ago by pbaumann

  • Complexity set to Very Hard

the overall tiling choice affects the index used. Changing the tiling locally within an array object might compromise the indexing scheme. Hence, implementing such a feature might mean that the complete index has to be rebuilt, choosing an index which can accommodate all situations found after this update.

For example, we might always resort to an R+ Tree as the most common on - however, this may not be optimal. Another option could be to allow specifying an indexing scheme in the update statement, but this seems a little cumbersome, and we need to carefully ponder the effects.

comment:2 Changed 4 years ago by dmisev

  • Cc sebrecht added

comment:3 Changed 4 months ago by dmisev

  • Cc bbell added; sebrecht removed
Note: See TracTickets for help on using tickets.