Professional Documents
Culture Documents
Informatica
Informatica
Agenda
Introduction
Architecture Best Practices
Use of Metadata
Repository maintenance
Q&A
Introduction
Presenter Contact
Lingaraju Ramasamy (Raju)
lramasamy@informatica.com
408-368-2475 (Mobile)
Technical Architecture Manager, Informatica
Professional Services
Modularity
Develop according to a modular design
Common Error Handling
Reprocessing
Mapping Assistants
Reusability
Focus on reuse to make quick and universal modifications
Mapplets, Worklets, Transformations, reusable functions
7
Simplicity
Multiple simple processes are often better than few complex
processes
Multiple mappings
Simple Queries
Staging Tables
Advantages
Easy to develop, debug, maintain and debug
8
SQ_SC_T_STR
_ATTR_OUTL_
ORG_WK
SEQ_ORG
SC_T_STR_AT
TR_OUTL_HOL
_FN (Oracle)
SQ_SC_T_STR
_ATTR_OUTL_
HOL_FN
SEQ_HOL
EXP_OUTL_OR
G_BOOKEND
EXP_HOL_BOO
KEND
SEQ_OTHERS
SEQ_OUTLET
SC_T_STR_AT
TR_OUTL_FN1
(Oracle)
SQ_SC_T_STR
_ATTR_OUTL_
FN1
EXP_OUTL_BO
OKEND
JAVA_GENERA
TE_MSGID
JAVA_GENERA
TE_SESSID
SEQ_PK_FK_O
UTLET
EXP_CREATE_
HDR_ELEMEN
TS
SEQ_HR_HDR
SC_T_STR_AT
TR_OUTL_HRS
_WK1 (Oracle)
SQ_SC_T_STR
_ATTR_OUTL_
HRS_WK1
SC_T_STR_AT
TR_OUTL_HRS
_WK (Oracle)
SQ_SC_T_STR
_ATTR_OUTL_
HRS_WK
EXP_HRS_HDR
SEQ_HRS
EXP_HRS_BOO
KEND
JNR_HRS_HDR
JNR_OUTL_HR
S
JNR_OUTL_HR
_HOL
SEQ_LANG
SC_T_STR_AT
TR_OUTL_LAN
G_FN (Oracle)
SQ_SC_T_STR
_ATTR_OUTL_
LANG_FN
EXP_LANG_BO
OKEND
JNR_OUTL_LA
NG_HOL_HRS
SEQ_TEAM_ME
MBER
SC_T_STR_AT
TR_OUTL_TM_
FN (Oracle)
SQ_TEAM_ME
MBER
EXP_TEAM_ME
MBER
JNR_TEAM_ME
MBER
JNR_ORGANIZ
ATION
EXP_PASS_TH
ROUGH
SRT
EXP_CHK_NE
W_RECS
TC_TRANSACT
ION_RECS
RTR_HDR_DE
T_DATA
EXP_DETAIL_H
OURS
EXP_SEQ_SER
VICE_REC_3
EXP_SEQ_DET
AIL_HIERARCH
Y_RECS
EXP_SEQ_HEA
DER_HIERARC
HY_RECS11
EXP_HEADER_
HOURS
EXP_SEQ_REC
_BASIC
EXP_SEQ_REC
_TM_ZONE
EXP_SEQ_DET
AIL_HOLIDAY_
RECS
EXP_SEQ_REC
_GEO_TYPE
EXP_SEQ_HEA
DER_TEAM_M
EMBER_RECS
EXP_ACCOUNT
ING_REC_6
EXP_SEQ_DAY
_OF_WEEK
EXP_SEQ_HEA
DER_HOLIDAY
_RECS
EXP_SEQ_IDE
NTIFICATION_
REC_4
EXP_SEQ_STA
TUS_REC_5
EXP_SEQ_DET
AIL_TEAM_ME
MBER_RECS
UNI_OUTLET
EXP_HDR_BOO
KEND
WSC_STR_OU
Tl_SV_OUTL
HOL_LEVEL3 (F
lat File)
SC_T_STR_AT
TR_OUTL_LAN
G_FN (Oracle)
SQ_SC_T_STR
_ATTR_OUTL_
LANG_FN
SC_T_STR_AT
TR_OUTL_CHG
_WK1 (Oracle)
SQ_SC_T_STR
_ATTR_OUTL_
CHG_WK
EXP_LANG_BO
OKEND
SEQ_OUTLET
SEQ_OUTLET
SC_T_STR_AT
TR_OUTL_CHG
_WK (Oracle)
SQ_SC_T_STR
_ATTR_OUTL_
CHG_WK
EXP_SRC_BOO
KEND
SEQ_OTHERS
SC_LKP_GET_
MSGID
EXP_OUTL_BO
OKEND
SEQ_OTHERS
SC_EXP_CREA
TE_HDR_ELEM
ENTS
SC_LKP_GET_
MSGID
SC_T_STR_AT
TR_OUTL_HRS
_WK (Oracle)
SC_EXP_CREA
TE_HDR_ELEM
ENTS
JNR_OUTL_LA
NG_HOL_HRS
EXP_PASS_TH
ROUGH
SRT_INCM_RE
CS
EXP_CHK_NE
W_RECS
RTR_HDR_DE
T_DATA
Staging 1
EXP_HEADER_
LANG
LANG_HEADER
_SC_T_STR_A
TTR_OUTL_W
K (Oracle)
EXP_DETAIL_L
ANG
LANG_DETAIL_
STR_ATTR_OU
TL_WK (Oracle)
SQ_SC_T_STR
_ATTR_OUTL_
HRS_WK
SEQ_HRS
EXP_HRS_BOO
KEND
JNR_OUTL_HR
S
EXP_PASS_TH
ROUGH
SRT_INCM_RE
CS
EXP_CHK_NE
W_RECS
Staging 2
RTR_HDR_DE
T_DATA
EXP_SEQ_DAY
_OF_WEEK
DAY_OF_WEEK
_SC_T_STR_A
TTR_OUTL_W
K2 (Oracle)
EXP_HEADER_
HOURS
HOURS_HDR_
SC_T_STR_AT
TR_OUTL_WK (
Oracle)
EXP_DETAIL_H
OURS
DETAIL_HOUR
S_SC_T_STR_
ATTR_OUTL_
WK1 (Oracle)
SEQ_LANG
SC_T_STR_AT
TR_OUTL_LAN
G_FN (Oracle)
SQ_SC_T_STR
_ATTR_OUTL_
LANG_FN
EXP_LANG_BO
OKEND
SC_T_STR_AT
TR_SITE_FN (O
racle)
SEQ_OUTLET
SC_T_STR_AT
TR_OUTL_CHG
_WK (Oracle)
SQ_SC_T_STR
_ATTR_OUTL_
CHG_WK
SQ_SC_T_STR
_ATTR_SITE_F
N
EXP_SRC_BOO
KEND
EXP_OUTL_BO
OKEND
SEQ_OTHERS
JAVA_GEN_MS
G_ID
JAVA_GEN_SE
SSID
SC_LKP_GET_
MSGID
SEQ_ID
SC_EXP_CREA
TE_HDR_ELEM
ENTS
Staging 3
JNR_OUTL_LA
NG_HOL_HRS
EXP_PASS_TH
ROUGH
SRT_INCM_RE
CS
EXP_CHK_NE
W_RECS
RTR_HDR_DE
T_DATA
EXP_HEADER_
LANG
LANG_HEADER
_SC_T_STR_A
TTR_OUTL_W
K (Oracle)
EXP_DETAIL_L
ANG
LANG_DETAIL_
STR_ATTR_OU
TL_WK (Oracle)
EXP_GET_SEQ
_NUM
WSC_STR_ATT
R_SAVE_SITE
SC_T_STR_AT
TR_SITE_FN1 (
Oracle)
10
11
Mapping Tips
Sources and Targets
Use shortcuts from shared folders
Extract only what is necessary
12
Mapping Tricks
Parameters & Variables
13
Mapping Tricks
Parameters & Variables
Assign Parameter/Variable values in a Session
14
Mapping Tricks
Built-in Mapping Variables
Mapping Name
Workflow Name
Session Name
15
Mapping Tricks
Group Expression (Anchor transformation)
Add expression transformation after a source qualifier and
before a target
16
Mass Update
pmrep massupdate
Session properties
Session config attributes
17
Mapping Assistants
Preview Data
View Data
Accommodate anomalies early
Verification of extraction/loading strategies
Type of Data
Source/Targets
Relational, Flat file
XML Files
18
Mapping Assistants
Mapping Wizard
Pass-Through
Slowly Changing Dimension
Type 1 Dimension (No History)
Type 2 Dimension (All History)
Version Data
Flag Current
Effective Date Range
Type 3 Dimension (Previous Versions)
Mapping Assistants
Mapping Analyst for Excel (MAE)
Standardize specifications
Enhance collaboration between analyst and developer
Improve documentation & audit ability of business logic
Data Analyst
Defines Business Terms
Specifies Transformation Rules
Standardize Excel format
DI Developer
Augments, Tunes
Generated Mappings
from Specifications
Generate Specification
Generate Mapping
20
Mapping Assistants
Mapping Architect for Visio (MAV)
Define consistent methodology & structure for data integration projects
DI Developer
Augments, Tunes
Generated Mappings
Template File
Informatica
Toolbar
Informatica
Stencil
Publish Template
Generate Mappings
Drawing
Window
Parameter File
21
Mapping Assistants
Mapping Architect for Visio (MAV)
Case Study
#1
7 templates were used across 2 projects to generate 600 mappings
97% of mappings were automatically generated and required no additional
changes
3% needed to be manually modified or custom developed
Case Study #2
1 template was used to create 150 mappings for a data migration project
along with PowerCenter sessions and workflows
Total effort was less than one day
Equivalent effort to create 150 mappings manually would have been 2
weeks (10x effort)
22
Transformation Techniques
23
Transformation Tips
Source Qualifier
Apply Default Query when possible
Utilize SQ Attributes
(i.e., User Defined Join, Source Filter)
Transformation Tips
Expressions
Understand Port process order
INs or IN/OUTs
VARIABLEs
OUTPUTs
Optimize Expressions
Numeric operations are faster than string operations
Operators are faster than functions
Un-Nest complicated logic (use IIF or DECODE)
25
Transformation Tips
User-Defined Functions
Build complex expressions and reuse
them within repository
Two Types:
Public: Callable from any transformation
expression
Private: Only callable from another userdefined function
26
Transformation Tips
Filters/Routers
Consider Source Qualifier with
a filter to limit rows within
relational sources
Filter as close to the source as
possible
27
Transformation Tips
Aggregators
Use sorted input to decrease use of aggregate caches
Limit connected input/output or output port
Filter data before aggregating
Use as early as possible
Joiners
Perform joins in Source Qualifier when possible
Limit use to heterogeneous and flat file sources
Transformation Tips
Lookups
Using SQL Override in Lookup
29
Transformation Tips
Lookup Caches
Cache Sizes
Eliminate Paging
Stores condition values in index,
.idx, files
Stores output values in data, .dat, files
Apply the Cache Calculator in Session
30
Transformation Tips
Lookups
Cache Updates
Update the dynamic lookup cache with
results of an expression
Use Case: Update QTY on hand for new timestamp
Add WHERE incoming row timestamp > cached timestamp
Transformation Tricks
Pipeline Lookup
Perform a lookup on an application source that is not a
relational table or file
Partial pipeline contains Source & Source Qualifier but no target
Integration Service reads source data and passes to Lookup
Transformation to create cache
Create partitions to improve performance
32
Transformation Tips
Transaction Control Transformation
Transaction in PowerCenter is
a set of rows bound by commit
or rollback
Control commit and rollback
transactions based on a row or
set of rows that pass through
the transformation
Use Case: Each invoice number is
committed to the target database
as a single transaction
Transformation Tips
Associated Source Qualifier
Use ASQ when MQ data is flat file or COBOL
ASQ is specific to the format of the MQ data
34
Transformation Tips
Sequence
35
36
37
38
Filename Port
Source Filename
Input Filename can be processed and passed
to target
41
Filename Port
Target Filename
Write records to a dynamically named flat file
42
43
44
45
Use of Metadata
46
47
48
Repository Maintenance
49
Repository Maintenance
Purge repository versions
Define version strategy for Dev,
QA and Prod
Archieve if required for future
analysis
Purge unwanted versions
Run the purge in regular interval
daily, weekly or monthly
pmrep connect -r $REPOSITORY_NAME -d $DOMAIN_NAME -n
$ADMIN_USER -X INFA_ENCRYPTED_PASSWD
Repository Maintenance
Purge repository logs
Define log strategy for Dev, QA and Prod
Archieve if required for future analysis
Purge unwanted logs
Run the purge in regular interval daily, weekly or monthly
pmrep connect -r $REPOSITORY_NAME -d $DOMAIN_NAME
-n $ADMIN_USER -X INFA_ENCRYPTED_PASSWD
pmrep truncatelog -t $DAYS_TO_KEEP
51
http://marketplace.informatica.com
Product manuals
Informatica Professional Services
52
Questions?
53