You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tajo.apache.org by "Hyunsik Choi (JIRA)" <ji...@apache.org> on 2013/12/02 18:05:35 UTC

[jira] [Updated] (TAJO-316) Improve GreedyHeuristicJoinOrderAlgorithm to deal with non-commutative joins

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

Hyunsik Choi updated TAJO-316:
------------------------------

    Attachment: TAJO-316.patch

I've uploaded the first patch. 

This patch does as follows:
 * Improve GreedyHeuristicJoinOrder to handle non-commutative joins, such as left/right/outer and anti/semi joins
 * Improve GreedyHeuristicJoinOrder to generate a bushy join tree
  ** This class is based on the greedy operator order algorithm, whose complexity is O(n^3).
  **  It has more possibility to generate more optimal join orders and still is  fast.
 * Improve GlobalPlanner to handle a bushy join tree
 * Improve ExecutionBlockCursor to handle a bushy tree distributed execution plan

This work almost done, but this patch still is in progress for more refactors, test, and documentations. I'll post the completed patch tomorrow.

> Improve GreedyHeuristicJoinOrderAlgorithm to deal with non-commutative joins
> ----------------------------------------------------------------------------
>
>                 Key: TAJO-316
>                 URL: https://issues.apache.org/jira/browse/TAJO-316
>             Project: Tajo
>          Issue Type: Improvement
>          Components: planner/optimizer
>            Reporter: Hyunsik Choi
>            Assignee: Hyunsik Choi
>              Labels: cbo
>             Fix For: 0.8-incubating
>
>         Attachments: TAJO-316.patch
>
>
> GreedyHeuristicJoinOrderAlgorithm is a default cost-based join order algorithm. It is designed only for inner joins, and it cannot deal with non-commutative joins, such as left/right/full outer join and semi/anti join. The main goal of this issue is to improve this algorithm to deal with them.



--
This message was sent by Atlassian JIRA
(v6.1#6144)