Informatica Pushdown Optimization
Informatica Pushdown Optimization
developers to balance data transformation load among servers. This article describes
pushdown techniques.
logic to the database. It generates the following SQL statement to process the
transformation logic:
INSERT INTO EMP_TGT(EMPNO, ENAME, SAL, COMM, DEPTNO)
SELECT
EMP_SRC.EMPNO,
EMP_SRC.ENAME,
EMP_SRC.SAL,
EMP_SRC.COMM,
EMP_SRC.DEPTNO
FROM EMP_SRC
WHERE (EMP_SRC.DEPTNO >40)
The Integration Service generates an INSERT SELECT statement and it filters the data using
a WHERE clause. The Integration Service does not extract data from the database at this
time.
We can configure pushdown optimization in the following ways:
source-side or target-side pushdown optimization instead. Also the source and target must
be on the same database. The Integration Service analyzes the mapping starting with the
source and analyzes each transformation in the pipeline until it analyzes the target.
When it can push all transformation logic to the database, it generates an INSERT SELECT
statement to run on the database. The statement incorporates transformation logic from all
the transformations in the mapping. If the Integration Service can push only part of the
transformation logic to the database, it does not fail the session, it pushes as much
transformation logic to the source and target database as possible and then processes the
remaining transformation logic.
For example, a mapping contains the following transformations:
SourceDefn -> SourceQualifier -> Aggregator -> Rank -> Expression -> TargetDefn
SUM(SAL), SUM(COMM) Group by DEPTNO
RANK PORT on SAL
TOTAL = SAL+COMM
The Rank transformation cannot be pushed to the database. If the session is configured for
full pushdown optimization, the Integration Service pushes the Source Qualifier
transformation and the Aggregator transformation to the source, processes the Rank
transformation, and pushes the Expression transformation and target to the target
database.
When we use pushdown optimization, the Integration Service converts the expression in the
transformation or in the workflow link by determining equivalent operators, variables, and
functions in the database. If there is no equivalent operator, variable, or function, the
Integration Service itself processes the transformation logic. The Integration Service logs a
message in the workflow log and the Pushdown Optimization Viewer when it cannot push an
expression to the database. Use the message to determine the reason why it could not push
the expression to the database.
Database
that
Optimization
supports
Informatica
Pushdown
We can configure sessions for pushdown optimization having any of the databases like
Oracle, IBM DB2, Teradata, Microsoft SQL Server, Sybase ASE or Databases that use ODBC
drivers.
When we use native drivers, the Integration Service generates SQL statements using native
database SQL. When we use ODBC drivers, the Integration Service generates SQL
statements using ANSI SQL. The Integration Service can generate more functions when it
generates SQL statements using native language instead of ANSI SQL.