For any query that populates any layer in your Hopara application, it is crucial that you pay attention to performance. Since all canvases have X and Y axis, you have to make sure that proper indexing is in place to ensure good performance. Usually, there is a “location” field in every table that you want to retrieve which is two-dimensional geometric value, i.e. is an (x,y) value. You should make sure that there is a spatial index on this field; otherwise performance will be miserable.
Sometimes it’s useful to dynamically change the data based on the zoom level. One example is the radius clustering which aggregates objects in a configured pixel radius.
A transform takes the query result and the zoom level as input. The output will depend on the transform, but usually, it will remove categorical columns from the original query and add new aggregated columns which will be available to the layer configuration.