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 "Anurag Mantripragada (Jira)" <ji...@apache.org> on 2020/07/23 23:43:00 UTC

[jira] [Assigned] (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 ]

Anurag Mantripragada reassigned IMPALA-3531:
--------------------------------------------

    Assignee:     (was: Anurag Mantripragada)

> 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
>            Priority: Major
>              Labels: CBO, performance, ramp-up, sql-language
>
> 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
(v8.3.4#803005)

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