Manage the distribution of the data
I am working on a project which involves distributed servers that
contain chunks of the data. At the moment, I'm connecting to each of
these nodes through calcite (jdbc adapters) and integrating everything
with a view in the schema. I use calcite to come up with a optimized plan.
I would like to enforce some kind of constraints on the movement of the
data (e.g. joins involving some attribute are allowed to execute only on
certain servers) and I though of doing it using traits.
My questions are:
- Should and Can I do this using Conventions and Converters? I though
about it as coloring the relational tree according to the
location(=jdbcconvention) where the operation is executed.
- I notice that there are distribution traits and exchange operators,
are they useful for my case?
- Is it possible to take into account the shipping cost using RelNodes?