Hello, I am trying to optimize the logical/physical plan of a given streaming query with Calcite and execute it in a separate engine. So far, I am using heuristic planner and some cost-based push-down rules and get a "relational" optimization on the plan. By relational, I mean that this is basic optimization that I would get if my query was executed in a relational database and wasn't a stream. As a result I am not optimizing the query with streaming criteria at all.
Can someone give any suggestions on further optimization on streaming queries? Is there anything more to do using Calcite, or the optimization ends by using the built in rules? Finally, any related work would be welcome. Thanks in advance, George.