Vladimir, thanks for the extensive description. Everything is clear for me from a user perspective.
Hope Sergi, Taras, and other SQL experts would share their feedback. -- Denis On Mon, Nov 26, 2018 at 6:33 AM Vladimir Ozerov <voze...@gridgain.com> wrote: > Igniters, > > I prepared and IEP-24 [1] for so-called "partition pruning" optimization > for our SQL engine, which will allow us to determine target nodes > containing query data prior to query execution. We already use this > optimization for very simple scenarios - only one expression, no JOINs. > > The goals of this IEP: > 1) Extract partitions from complex expressions > 2) Support common JOIN scenarios > 3) Allow calculation of target partitions on thin client to allow more > efficient request routing > 4) Introduce monitoring capabilities to let user know whether optimization > is applicable to specific query or not > > IEP covers several complex architecture questions, which will be finalized > during actual implementation: > 1) Rules for partition extraction from complex AND and OR expressions, as > well as from "IN (...)", "BETWEEN ... AND ...", and range expressions > 2) Rules for partition extraction from JOINs > 3) Several subquery rewrite rules which will allow to apply optimization to > certain subqueries. > > Also this optimization will introduce some basic building blocks > ("co-location tree") for further improvements of our distributed joins. > > Will appreciate your review and comments. > > Vladimir. > > [1] > > https://cwiki.apache.org/confluence/display/IGNITE/IEP-24%3A+SQL+Partition+Pruning >