You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues-all@impala.apache.org by "Greg Rahn (JIRA)" <ji...@apache.org> on 2019/03/08 05:33:00 UTC

[jira] [Updated] (IMPALA-3531) Implement deferrable and optionally enforced PK/FK constraints

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

Greg Rahn updated IMPALA-3531:
------------------------------
    Summary: Implement deferrable and optionally enforced PK/FK constraints  (was: Implement deferrable and optionally enforced PK/FK constraints for better CBO)

> Implement deferrable and optionally enforced PK/FK constraints
> --------------------------------------------------------------
>
>                 Key: IMPALA-3531
>                 URL: https://issues.apache.org/jira/browse/IMPALA-3531
>             Project: IMPALA
>          Issue Type: New Feature
>          Components: Catalog, Frontend, Perf Investigation
>    Affects Versions: Impala 2.5.0, Impala 2.6.0
>         Environment: CDH
>            Reporter: Ruslan Dautkhanov
>            Assignee: Anurag Mantripragada
>            Priority: Minor
>              Labels: CBO, performance, ramp-up
>
> Oracle has "RELY NOVALIDATE" option for constraints.. Could be easier for Hive to start with something like that for PK/FK constraints. So CBO has more information for optimizations. It does not have to actually check if that constraint is relationship is true; it can just "rely" on that constraint.
> https://docs.oracle.com/database/121/SQLRF/clauses002.htm#sthref2289
> So it would be helpful with join cardinality estimates, and with cases like IMPALA-2929.
> https://docs.oracle.com/database/121/DWHSG/schemas.htm#DWHSG9053
> "Overview of Constraint States":
> - Enforcement
> - Validation
> - Belief
> So FK/PK with "rely novalidate" will have Enforcement&Validate disabled but Belief = RELY as it is possible to do in Oracle and now in Hive (HIVE-13076).
> It opens a lot of ways to do additional ways to optimize execution plans.
> As exxplined in Tom Kyte's "Metadata matters"
> http://www.peoug.org/wp-content/uploads/2009/12/MetadataMatters_PEOUG_Day2009_TKyte.pdf
> pp.30 - "Tell us how the tables relate and we can remove them from the plan...".
> pp.35 - "Tell us how the tables relate and we have more access paths available...".
> Also it might be helpful when Impala is being integrated with Kudu as the latter have to have a PK.



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

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-all-unsubscribe@impala.apache.org
For additional commands, e-mail: issues-all-help@impala.apache.org