[
https://issues.apache.org/jira/browse/SPARK-15302?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Ruslan Dautkhanov updated SPARK-15302:
--------------------------------------
Description:
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.
RELY clause:
https://docs.oracle.com/database/121/SQLRF/clauses002.htm#SQLRF52223
"Overview of Constraint States":
https://docs.oracle.com/database/121/DWHSG/schemas.htm#DWHSG9053
- 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 explained 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...".
was:
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.
RELY clause:
https://docs.oracle.com/database/121/SQLRF/clauses002.htm#SQLRF52223
"Overview of Constraint States":
https://docs.oracle.com/database/121/DWHSG/schemas.htm#DWHSG9053
- 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...".
> Implement FK/PK "rely novalidate" constraints for better CBO
> ------------------------------------------------------------
>
> Key: SPARK-15302
> URL: https://issues.apache.org/jira/browse/SPARK-15302
> Project: Spark
> Issue Type: New Feature
> Components: Optimizer, Spark Core
> Affects Versions: 2.0.0
> Reporter: Ruslan Dautkhanov
>
> 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.
> RELY clause:
> https://docs.oracle.com/database/121/SQLRF/clauses002.htm#SQLRF52223
> "Overview of Constraint States":
> https://docs.oracle.com/database/121/DWHSG/schemas.htm#DWHSG9053
> - 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 explained 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...".
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]