
Welcome to the Informatica Power Center course!
What should be the goal of any Performance Tuning exercise? is discussed in this lecture.
Performance Tuning is always an iterative approach. In this lecture, we see how the iterative process works and how to track the numbers.
In this lecture, we understand the importance of Business process in resolving the Performance Tuning issues.
In this lecture, we understand the importance of Technology Landscape in resolving the Performance Tuning issues.
In this lecture, we discuss about the impact of development and design process on the performance tuning exercise.
In this lecture, we see how the known issues, concerns and the expectations of multiple stakeholders will help resolve lot of questions on the non functional requirements and fix the performance tuning issues.
What really happens once the workflow is triggered is discussed in this lecture.
How does a Source Bottleneck occur is discussed in this lecture.
How does a Target Bottleneck occur is discussed in this lecture.
How does a Transformation Bottleneck occur is discussed in this lecture.
How does a Session Bottleneck occur?
In this lecture, we discuss about the System Bottlenecks.
A quick review on all the types of bottlenecks.
Thread statics gives run time information from the reader, transformation and writer thread. The session log provides enough run time thread statistics to help us understand and identify the performance bottleneck.
In this lecture,we talk about the different situations in which Partitions can be used.
By default, IS sets partition points at various transformations in the pipeline. Partition points mark thread boundaries and divide the pipeline into stages.A stage is a section of a pipeline between any two partition points.
In this lecture, we talk about the different types of partitions available in Informatica.
In this lecture, the Database Partitions are discussed.
This difference between the Database partitions and Informatica partitions are discussed in this lecture.
What happens at the back end of the database and how Informatica gets the database partition information is discussed in this lecture.
In this lecture, an example of the Database Partitions is shown.
This lecture details the Passthrough partitions with an example.
The PowerCenter Integration Service distributes blocks of data to one or more partitions. Use round-robin partitioning so that each partition processes rows based on the number and size of the blocks.
Dynamic Partitioning:
If the volume of data grows or you add more CPUs, session run time increases. In dynamic partitioning, Integration Service determines the number of partitions to create at run time based on factors such as source database partitions or the number of nodes in a grid.
Types of Dynamic Partitioning:
1. Based on Source Partitioning - Determines the number of partitions using database partition information. The number of partitions is the maximum of the number of partitions at the source.
2. Based on number of CPUs - Sets the number of partitions equal to the number of CPUs on the node that prepares the session. If the session is configured to run on a grid, dynamic partitioning sets the number of partitions equal to the number of CPUs on the node that prepares the session multiplied by the number of nodes in the grid.
3. Based on number of Nodes in Grid - Sets the partitions to the number of nodes in the grid running the session. If you configure this option for sessions that do not run on a grid, the session runs in one partition and logs a message in the session log.
4. Based on No. of Partitions - Sets the partitions to a number that you define in the Number of Partitions attribute. Use the $DynamicPartitionCount session parameter, or enter a number greater than 1.
In this lecture, we talk about the Dynamic Partitions with the option of 'Based on Source Partitions'
Pushdown optimization technique in inIormatica pushes the part or complete transformation logic to the source or target database. The integration service translates the transformation logic into SQL queries and sends those SQL statements to the database. Then the source or target database runs those SQL queries to process the transformation logic.
The amount of transformation logic you can push to the database depends on the database, transformation logic, mapping and session configuration. The Integration Service processes all transformation logic that it cannot push to a database.
To preview the SQL statements and mapping logic that the integration service pushes to the source or target database, use the pushdown optimization viewer.
The Integration Service translates the transformation logic into SQL queries and sends the SQL queries to the source or the target database which executes the SQL queries to process the transformations. The amount of transformation logic one can push to the database depends on the database, transformation logic, and mapping and session configuration. The Integration Service analyzes the transformation logic it can push to the database and executes the SQL statement generated against the source or target tables, and it processes any transformation logic that it cannot push to the database.
There are three types of pushdown optimization techniques that you can configure in a session. They are:
Source-Side Pushdown Optimization:
The Integration Service first analyzes the mapping from the source to the target or until it reaches a downstream transformation that it cannot push to the source database. Then the integration service generates the SELECT statement and executes the SQL in the source database. Then it reads the result rows and process the remaining transformations.
Target-Side Pushdown Optimization:
The Integration Service first analyzes the mapping from the target to the source or until it reaches an upstream transformation that it cannot push to the target database. Then the integration service generates the Insert, Update or Delete statements. The integration service processes the transformation logic up to the point that it can push the transformation logic to the database. Then, it executes the generated SQLs on the target database.
Full Pushdown Optimization:
You can use full pushdown optimization only when the source and target databases are in the same relational database management system.
The Integration Service analyzes the mapping from the source to the target or until it reaches a downstream transformation it cannot push to the target database. If the Integration Service cannot push all transformation logic to the target database, it tries to push all transformation logic to the source database.
If it cannot push all transformation logic to the source or target, the Integration Service pushes as much transformation logic to the source database, processes intermediate transformations that it cannot push to any database, and then pushes the remaining transformation logic to the target database. The Integration Service generates and executes an INSERT SELECT, DELETE, or UPDATE statement for each database to which it pushes transformation logic.
In this lecture, we discuss the different options available at session level for PDO.
Example of the PDO.
In this lecture, we see the list of different databases which can be used for Push Down Optimization.
This lecture, has the details of Error handling while performing the PDO.
Try to use reusable sequence generator than using separate sequence generator if you are using it for generating unique primary key.
Whenever possible, sort source data in the database i.e. the source qualifier itself.
New lectures will be added on a weekly basis.
The purpose of this course is to walk you through the steps to identify performance bottlenecks in Informatica Power Center and different optimization techniques to fix them. After completing this course, you will have a working understanding of the different performance bottlenecks, how to identify them based on the iterative approach and the thread statistics. Different best practices and optimization techniques which should be consideration while designing the mapping or fine tuning the existing ones.