You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ignite.apache.org by Chang Chen <ba...@gmail.com> on 2022/01/08 13:14:09 UTC

About IEP-37

Hi, ignite guys

I thought that Apache Ignite does what apache drill does[1], but it makes
me surprised that Ignite uses a top-down calcite optimizer [2]. But I
believe some issues blocks top-down [3].

Except for apace drill, both hazelcast[4] and Flink[5] split optimization
into two independent phases - logical and physical.

Why did Ignite make such a technical decision?

Thanks
- Chang

[1]
https://cwiki.apache.org/confluence/display/IGNITE/IEP-37%3A+New+query+execution+engine
[2] https://issues.apache.org/jira/browse/IGNITE-13117
[3] https://issues.apache.org/jira/browse/CALCITE-4052
[4] https://github.com/hazelcast/hazelcast
[5] https://github.com/apache/flink

Re: About IEP-37

Posted by Chang Chen <ba...@gmail.com>.
For example, please take a look at
https://issues.apache.org/jira/browse/CALCITE-4013. I just tested it with
tpch q7 which is much slower than non-top-down style optimizter.

top-down : about 1 minute
non top-down:  < 20 seconds

Thanks
- Chang


Alex Plehanov <pl...@gmail.com> 于2022年1月11日周二 17:25写道:

> Hello,
>
> Why do you think CALCITE-4052 is a blocker for top-down optimization
> in Ignite? As far as I understand, CALCITE-4052 is an umbrella ticket to
> implement trait propagation for all physical relational operators of the
> "enumerable convention" in Calcite. Ignite doesn't use enumerable
> convention and has its own convention with its own physical relational
> operators. Can you please explain your concerns?
>
> сб, 8 янв. 2022 г. в 16:14, Chang Chen <ba...@gmail.com>:
>
> > Hi, ignite guys
> >
> > I thought that Apache Ignite does what apache drill does[1], but it makes
> > me surprised that Ignite uses a top-down calcite optimizer [2]. But I
> > believe some issues blocks top-down [3].
> >
> > Except for apace drill, both hazelcast[4] and Flink[5] split optimization
> > into two independent phases - logical and physical.
> >
> > Why did Ignite make such a technical decision?
> >
> > Thanks
> > - Chang
> >
> > [1]
> >
> >
> https://cwiki.apache.org/confluence/display/IGNITE/IEP-37%3A+New+query+execution+engine
> > [2] https://issues.apache.org/jira/browse/IGNITE-13117
> > [3] https://issues.apache.org/jira/browse/CALCITE-4052
> > [4] https://github.com/hazelcast/hazelcast
> > [5] https://github.com/apache/flink
> >
>

Re: About IEP-37

Posted by Alex Plehanov <pl...@gmail.com>.
Hello,

Why do you think CALCITE-4052 is a blocker for top-down optimization
in Ignite? As far as I understand, CALCITE-4052 is an umbrella ticket to
implement trait propagation for all physical relational operators of the
"enumerable convention" in Calcite. Ignite doesn't use enumerable
convention and has its own convention with its own physical relational
operators. Can you please explain your concerns?

сб, 8 янв. 2022 г. в 16:14, Chang Chen <ba...@gmail.com>:

> Hi, ignite guys
>
> I thought that Apache Ignite does what apache drill does[1], but it makes
> me surprised that Ignite uses a top-down calcite optimizer [2]. But I
> believe some issues blocks top-down [3].
>
> Except for apace drill, both hazelcast[4] and Flink[5] split optimization
> into two independent phases - logical and physical.
>
> Why did Ignite make such a technical decision?
>
> Thanks
> - Chang
>
> [1]
>
> https://cwiki.apache.org/confluence/display/IGNITE/IEP-37%3A+New+query+execution+engine
> [2] https://issues.apache.org/jira/browse/IGNITE-13117
> [3] https://issues.apache.org/jira/browse/CALCITE-4052
> [4] https://github.com/hazelcast/hazelcast
> [5] https://github.com/apache/flink
>