Hi all,
In my current research project, I am interested in studying and creating
query plans that prioritize latency of individual answers rather than the
throughput of the overall query in order to promote progressive query
answering. For that, we want to create a new plan, an "interactive" plan to
supplement the original blocking plan that the planner creates.
An example usage of interactive plan might be the use of an index
to expedite the processing of a group of values that will be useful earlier
to the user.
I am trying to implement this on top of Asterix DB and I am currently in
the process of finalizing my design. One thing that I am debating with is,
where do I put the logic of rewriting the blocking plan into the
interactive plan? Several options come to mind:-
1. Doing it after the final physical plan has been generated by the planner.
2. Doing it at the beginning, where a compiler compiles two plans - one for
the interactive method and the other for the blocking method.
3. Doing it in the middle, where some logical rewrites have taken place,
but the physical operators haven't been finalized yet.

Any opinions/thoughts about the matter are highly welcome! Happy to provide
more details if necessary.

-- 
Best Regards,
Pratyoy

Reply via email to