Monday, July 28, 2014

Dynamic Cache in Informatica Lookup Transformation

As we saw in our previous informatica tutorial , that  look transformation cache need to be enabled to boost the performance of Lookup transformation( by avoiding lookup in the lookup source again and again)
Now if Look up source is getting changed , then we  need to also refresh lookup cache. Dynamic cache in lookup Transformation solves our purpose  :).
If you want to cache the target table and insert new rows into cache and the target,you can create a look up transformation to use dynamic cache.The informatica server dynamically inserts data to the target table. 
 
  1. You cannot share the cache between a dynamic Lookup transformation and static Lookup transformation in the same target load order group.
  2. You can create a dynamic lookup cache from a relational table, flat file, or source qualifier transformation.
  3. The Lookup transformation must be a connected transformation.
  4. Use a persistent or a non-persistent cache.
  5. If the dynamic cache is not persistent, the Integration Service always rebuilds the cache from the database, even if you do not enable Re-cache from Lookup Source.
  6. When you synchronize dynamic cache files with a lookup source table, the Lookup transformation inserts rows into the lookup source table and the dynamic lookup cache. If the source row is an update row, the Lookup transformation updates the dynamic lookup cache only.
  7. You can only create an equality lookup condition. You cannot look up a range of data in dynamic cache.

Informatica Powercenter Architecture

After so many Informatica tutorial  on so many topics ( transformation  , tuning of transformation), question arises , what exactly is happening behind the scene. So time has come to discuss about architecture of Informatica in details. We will discuss about the various component of Informatica architure , various services and how they are interlinked to each other. Hope you will enjoy this Informatica tutorial. By the way , it is one of the most  asked interview question in Informatica.
Informatica Powercenter  Architecture
 

Component of Informatica Architecture

Domain: Domain is the primary unit for management and administration of services in Powercenter. The components of domain are one or more nodes, service manager an application services.
Node: Node is logical representation of machine in a domain. A domain can have multiple nodes. Master gateway node is the one that hosts the domain. You can configure nodes to run application services like integration service or repository service. All requests from other nodes go through the master gateway node.
Service Manager: Service manager is for supporting the domain and the application services. The Service Manager runs on each node in the domain. The Service Manager starts and runs the application services on a machine.
Application services: Group of services which represents the informatica server based functionality. Application services include powercenter repository service, integration service, Data integration service, Metadata manage service etc.
Powercenter Repository: The metadata is store in a relational database. The tables contain the instructions to extract, transform and load data.
Powercenter Repository service: Accepts requests from the client to create and modify the metadata in the repository. It also accepts requests from the integration service for metadata to run workflows.
Powercenter Integration Service: The integration service extracts data from the source, transforms the data as per the instructions coded in the workflow and loads the data into the targets.
Informatica Administrator: Web application used to administer the domain and powercenter security.
Metadata Manager Service: Runs the metadata manager web application. You can analyze the metadata from various metadata repositories.
I also found a good article on Informatica Architecture here 

Monday, June 23, 2014

Informatica Interview question with answer for lookup Transformation

In below article , we will go through the some the Informatica Interview question based on the lookup transformation in Informatica. In last tutorial , we have gone through the detailed explanation of lookup Transformation.
You can find a good details of Lookup transformation here.
We also checked some of the example of connected and unconnected lookup transformation also.

Check here : Difference connected and unconnected Lookup Transformation here .

Que: What is a pipeline lookup transformation??
Ans :A pipeline lookup transformation is used to perform lookup on application sources such as JMS, MSMQ or SAP. A pipeline lookup transformation has a source qualifier as the lookups source.
Que: What are the different type of Sources for Lookup ?
Ans :
  • Relational source or target definition in the repository
  • Flat file source or target definition in the repository
  • Table or file that the Integration Service and PowerCenter Client machine can connect to
  • Source qualifier definition in a mapping
Ques. What is a lookup transformation?
Ans : A lookup transformation is used to look up data in a flat file, relational table, view, and synonym.
Ques: What are the tasks of a lookup transformation?
Ans : The lookup transformation is used to perform the following tasks?
  • Get a related value: Retrieve a value from the lookup table based on a value in the source.
  • Perform a calculation: Retrieve a value from a lookup table and use it in a calculation.
  • Update slowly changing dimension tables: Determine whether rows exist in a target.
Ques: . What is "Output Old Value on Update"?
Ans : This option is used when dynamic cache is enabled. When this option is enabled, the integration service outputs old values out of the lookup/output ports. When the Integration Service updates a row in the cache, it outputs the value that existed in the lookup cache before it updated the row based on the input data. When the Integration Service inserts a new row in the cache, it outputs null values. When you disable this property, the Integration Service outputs the same values out of the lookup/output and input/output ports.

Ques: . How do you configure a lookup transformation?
Ans : Configure the lookup transformation to perform the following types of lookups:
  • Relational or flat file lookup
  • Pipeline lookup
  • Connected or unconnected lookup
  • Cached or uncached lookup
Ques: What are the options available to configure a lookup cache?
Ans : The following options can be used to configure a lookup cache:
  • Persistent cache
  • Recache from lookup source
  • Static cache
  • Dynamic cache
  • Shared Cache
  • Pre-build lookup cache
Check here : Difference Static Cache and dynamic Cache  in Informatica here .
I also found a good article on Informatica Interview question on Lookup Transformation  here and here

Saturday, June 21, 2014

Slowly Changing Dimension Type 2 Examples (SCD 2)

 SCD Type-2 In Informatica SCD Type-2 In Informatica[/caption] Slowly Changing  Dimension Type-2 ,(also known as SCD -2)  tracks historical changes  by  keeping multiple records for a given natural key in the dimensional tables .For example , we may need to track the current location of a supplier along with its previous location just to track his sales in different region .
 Example of SCD Type -2

For Example : If we want to keep track of DEPT of an employee , we can add two extra fields , Say Start-date , End_date to keep track of those records: EMP_SCD2
SRG_KEY EMPNO NAME DEPT START_DATE END_DATE
101
1
JOHNSON OPERATIONS 12/17/1990 4/13/1992
102
2
HARDING ACCOUNTING 2/2/1998 9/17/1998
103
3
TAFT RESEARCH 1/2/1996
104
4
HOOVER SALES 4/2/1990 7/11/1993
105
1
JOHNSON ACCOUNTING 4/13/1992
106
2
HARDING SALES 9/17/1998
107
4
HOOVER OPERATIONS 7/11/1993
108
5
LINCOLN OPERATIONS 6/23/1994
As you see in above example , we can keep track of records by adding effective _date fields . Other way to accomplish this process is to
  • Effective Date
  • Flagging
  • Versioning
I found a good article on "Slowly Changing Dimension Type 2 Examples (SCD 2)"  here and full implementation of SCD Type -2 in Informatica can be found here Other good article on SCD are as below :-
  Hope you enjoyed this small and useful article on SCD Type -2 (Slowly changing dimension type -2 ) and example of SCD Type-2 In Informatica  :)  

Wednesday, May 21, 2014

Type of SQL join in Oracle

SQL Joins are to combine data from different tables to show relation between them . Example you can join  EMP table with DEPT table to get department along with Employee records.
See Also : Learn about Oracle Architecture here 
There are basically below type of Joins :

1. INNER Join :

SELECT emp.empno, emp.ename ,emp.job, dept.deptno,dept.dname
FROM emp
INNER JOIN dept
ON emp.deptno= dept.deptno;

2. Left Outer Join :


SELECT emp.empno, emp.ename ,emp.job, dept.deptno,dept.dname
FROM emp
LEFT OUTER JOIN dept
ON emp.deptno= dept.deptno;

3. Right Outer Join


SELECT emp.empno, emp.ename ,emp.job, dept.deptno,dept.dname
FROM emp
RIGHT OUTER JOIN dept
ON emp.deptno= dept.deptno;

4. Full Outer Join

SELECT emp.empno, emp.ename ,emp.job, dept.deptno,dept.dname
FROM emp
FULL OUTER JOIN dept
ON emp.deptno= dept.deptno;
I Found a good article on "Type of Oracle join with Example"  here
See Also : Learn about Oracle Architecture here 
Hope you enjoyed this small and useful article on SQL joins in Oracle :)


Saturday, May 17, 2014

XML Source in Informatica

XML is gaining its popularity as Data sharing and Data storage medium . With Newer version , Informatica started providing support to XML files as well,
We basically have 3 XML functionality in  Informatica :
3. XML transformation.

Here we will discuss about XML File source definition . First of all , e will need to import XML file source definition in Informatica . by
1. Clicking on Source -> Import XML Definition
2. Selecting the  sample XML File and then getting all node information .
3.Checking the format of various nodes
4.Closing the Dialog box
A more detailed example of XML File Source definition  in Informatica  can be found  here.
Another example to xreate XML Target file in Informatica can be found here.

XML Target in Informatica

XML is gaining its popularity as Data sharing and Data storage medium . With Newer version , Informatica started providing support to XML files as well,
We basically have 3 XML functionality in  Informatica :
3. XML transformation.

Here we will discuss about XML File Target  definition . First of all , e will need to import XML file source definition in Informatica . by
1. Clicking on Source -> Import XML Definition
2. Selecting the  sample XML File and then getting all node information .
3.Checking the format of various nodes
4.Closing the Dialog box

A more detailed example of XML File Source definition  in Informatica  can be found  here.
Another example to xreate XML Target file in Informatica can be found here.