Pushdown Optimization and Transformations
Pushdown Optimization and Transformations
Pushdown Optimization and Transformations
By penchalaRaju.Yanamala
When you configure pushdown optimization, the Integration Service tries to push
each transformation to the database. The following criteria affects whether the
Integration Service can push the transformation to the database:
Type of transformation
Location of the transformation in the mapping
Mapping and session configuration for the transformation
The expressions contained in the transformation
The criteria might also affect the type of pushdown optimization that the
Integration Service can perform and the type of database to which the
transformation can be pushed.
The Integration Service can push logic of the following transformations to the
database:
Aggregator
Expression
Filter
Joiner
Lookup
Router
Sequence Generator
Sorter
Source Qualifier
Target
Union
Update Strategy
The Integration Service processes the transformation logic if any of the following
conditions are true:
The Integration Service processes all transformations in the mapping if any of the
following conditions are true:
Aggregator Transformation
The following table shows the pushdown types for each database to which you
can push the Aggregator transformation:
Expression Transformation
The following table shows the pushdown types for each database to which you
can push the Expression transformation:
Filter Transformation
The following table shows the pushdown types for each database to which you
can push the Filter transformation:
The Integration Service processes the Filter transformation if the filter expression
cannot be pushed to the database. For example, if the filter expression contains
an operator that cannot be pushed to the database, the Integration Service does
not push the filter expression to the database.
Joiner Transformation
The following table shows the pushdown types for each database to which you
can push the Joiner transformation:
Lookup Transformation
Use the following rules and guidelines when you configure the Integration
Service to push Lookup transformation logic to a database:
Use the following rules and guidelines when you configure the Integration
Service to push an unconnected Lookup transformation to a database:
Use the following rules and guidelines when you configure the Integration
Service to push a Lookup transformation with an SQL override to a database:
Router Transformation
The following table shows the pushdown types for each database to which you
can push the Router transformation:
You can use source-side pushdown when all output groups merge into one
transformation that can be pushed to the source database.
The following table shows the pushdown types for each database to which you
can push the Sequence Generator transformation:
The pipeline branches before the Sequence Generator transformation and then
joins back together after the Sequence Generator transformation.
The pipeline branches after the Sequence Generator transformation and does
not join back together.
A sequence value passes through an Aggregator, a Filter, a Joiner, a Sorter, or
a Union transformation.
The Sequence Generator transformation provides sequence values to a
transformation downstream from a Source Qualifier transformation that is
configured to select distinct rows.
Sorter Transformation
The following table shows the pushdown types for each database to which you
can push the Sorter transformation:
Use the following rules and guidelines when you configure the Integration
Service to push Sorter transformation logic to a database:
The Integration Service pushes the Sorter transformation to the database and
processes downstream transformations when the Sorter transformation is
configured for a distinct sort.
The Integration Service processes the Sorter transformation when the Sorter
transformation is downstream from a Union transformation and the port used as
a sort key in the Sorter transformation is not projected from the Union
transformation to the Sorter transformation.
The following table shows the pushdown types for each database to which you
can push the Source Qualifier transformation:
The Integration Service processes the Source Qualifier transformation logic when
any of the following conditions are true:
The transformation contains Informatica outer join syntax in the SQL override or
a user-defined join. Use ANSI outer join syntax in the SQL override to enable
the Integration Service to push the Source Qualifier transformation to the
database.
The source is configured for database partitioning.
The source is an Oracle source that uses an XMLType datatype.
Use the following rules and guidelines when you configure pushdown
optimization for a session containing a Source Qualifier transformation with an
SQL override:
The SELECT statement in a custom SQL query must list the port names in the
order in which they appear in the transformation. If the ports are not in the
correct order, the session can fail or output unexpected results.
Configure the session for pushdown optimization with a view.
The session fails if the SELECT statement in the SQL override refers to a
database sequence.
The session fails if the SQL override contains an ORDER BY clause and you
push the Source Qualifier transformation logic to an IBM DB2, a Microsoft SQL
Server, a Sybase ASE, or a Teradata database.
If a Source Qualifier transformation is configured to select distinct values and
contains an SQL override, the Integration Service ignores the distinct
configuration.
If the session contains multiple partitions, specify the SQL override for all
partitions.
Test the SQL override query on the source database before you push it to the
database because PowerCenter does not validate the override SQL syntax. The
session fails if the SQL syntax is not compatible with the source database.
Target
The following table shows the pushdown types for each database to which you
can push the target logic:
The Integration Service processes the target logic when you configure the
session for full pushdown optimization and any of the following conditions are
true:
If you configure full pushdown optimization and the target uses a different
connection than the source, the Integration Service cannot push the all
transformation logic to one database. Instead, it pushes as much transformation
logic as possible to the source database and pushes any remaining
transformation logic to the target database if it is possible.
The Integration Service processes the target logic when you configure the
session for target-side pushdown optimization and any of the following conditions
are true:
Union Transformation
The following table shows the pushdown types for each database to which you
can push the Union transformation:
The Integration Service processes the Union transformation logic when any of
the following conditions are true:
The Integration Service cannot push all input groups to the source database.
The input groups do not originate from the same source.
Some ports in the Union transformation are not connected to the upstream
transformation that outputs distinct rows.
The following table shows the pushdown types for each database to which you
can push the Update Strategy transformation:
Use the following rules and guidelines when you configure the Integration
Service to push Update Strategy transformation logic to a database: