You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "Kurt Young (JIRA)" <ji...@apache.org> on 2019/01/30 10:19:00 UTC

[jira] [Closed] (FLINK-6066) Separate logical and physical RelNode layer in Flink

     [ https://issues.apache.org/jira/browse/FLINK-6066?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Kurt Young closed FLINK-6066.
-----------------------------
    Resolution: Unresolved

> Separate logical and physical RelNode layer in Flink
> ----------------------------------------------------
>
>                 Key: FLINK-6066
>                 URL: https://issues.apache.org/jira/browse/FLINK-6066
>             Project: Flink
>          Issue Type: Improvement
>          Components: Table API &amp; SQL
>            Reporter: Kurt Young
>            Assignee: Kurt Young
>            Priority: Major
>
> Currently flink-table contains two layer of RelNodes to work with Calcite. One is actually from Calcite itself, such as TableScan, Project, Filter and so on. Then depends on what environment we are using, the RelNode translate to DataSetXXX or DataStreamXXX, like DataSetScan or DataStreamAggregate. All the optimization rules happened in the phase in a cost base manner. 
> I suppose to further separate the second layer into two, one is more logical just like Calcite, and the other one is more physical. In the logical layer, we can do lots of optimization without real statistics involved, like partition pruning, projection pushdown. And we may even use rule-based optimization for logical optimize. In physical optimize phase, we then introduce some real statistics and to choose what ever physical strategy we want to use in a cost base manner, like join strategy selection or join reorder. 
> Since the complexity for cost base optimization grows exponentially when the plan is complex. By separating the optimization can make it more efficient and easier to maintain.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)