Inatica开发规范.doc_第1页
Inatica开发规范.doc_第2页
Inatica开发规范.doc_第3页
Inatica开发规范.doc_第4页
Inatica开发规范.doc_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

神州数码(中国)有限公司Informatica项目开发规划冷鹏2006年9月1. 引言以前看到过whyu小记写过Informatica的一个开发规范,觉得不错,也碰到外面一些项目组在参考他写的规范,非常好!我也碰到很多公司的项目组有非常不错的DW项目规范文档,只是很少有拿出来给大家参考共享的,觉得非常的遗憾!反观自己当时做JAVA、C、Web时,项目标准和规范都是成套的有下载。所以在这里我呼吁大家可以将项目里敏感的内容去掉,将文档的骨头拿出来,让大家做项目吸取更多的经验,少走弯路,走更正规的路,毕竟大家都在这个圈子里混,都是做技术的,这个圈子如果长久都停留在这个水平,自己也不会走出圈子里这个水平。我扒拉的这篇规范也算不上是什么规范,结合了whyu小记、Informatica里的一些内容希望在这里给大家抛砖引玉。希望大家总结出DW项目的更多管理规范、更多产品的开发方法以提高你我。2. 命名约定在进行Informatica开发规划时,对引用PowerCenter内的组件、变量、参数等最好参考一个统一的命名规则,官方的样例也有一些命名规划,我认为可以分个级别如Mapping、Session、Task这样的分为一个级别,统一以1个小写字母加下划线为规范,转换组件可以也可以为分为一个级别,以3个小写字母加下划线为规范。如果不用命名规范也没多大关系,因为这些内容各自都有对应的Folder进行管理,比较好辨认。2.1. 组件命名Transformation Name Rule Description Aggregator Agg_Performs aggregate calculations. Application Source Qualifier ASQ_Represents the rows that the Integration Service reads from an application, such as an ERP source, when it runs a session. Custom Cus_Calls a procedure in a shared library or DLL. Expression Exp_Calculates a value. External Procedure Calls a procedure in a shared library or in the COM layer of Windows. Filter Fil_Filters data. Input Inp_Defines mapplet input rows. Available in the Mapplet Designer. Java Executes user logic coded in Java. The byte code for the user logic is stored in the repository. Joiner Jnr_Joins data from different databases or flat file systems. Lookup Lkp_Looks up values. Normalizer Nrm_Source qualifier for COBOL sources. Can also use in the pipeline to normalize data from relational or flat file sources. Output Opt_Defines mapplet output rows. Available in the Mapplet Designer. Rank Rnk_Limits records to a top or bottom range. Router Rot_Routes data into multiple transformations based on group conditions. Sequence Generator Sqg_Generates primary keys. Sorter Sort_Sorts data based on a sort key. Source Qualifier Sq_Represents the rows that the Integration Service reads from a relational or flat file source when it runs a session. Stored Procedure Sp_Calls a stored procedure. Transaction Control Tc_Defines commit and rollback transactions. Union Uni_Merges data from different databases or flat file systems. Update Strategy Ust_Determines whether to insert, delete, update, or reject rows. XML Generator Xmlg_Reads data from one or more input ports and outputs XML through a single output port. XML Parser Xmlp_Reads XML from one input port and outputs data to one or more output ports. XML Source Qualifier Xmlsq_Represents the rows that the Integration Service reads from an XML source when it runs a session. 2.2. 其它命名Application Name Rule Description Mapping M_Performs aggregate calculations. Mapplet Mp_Represents the rows that the Integration Service reads from an application, such as an ERP source, when it runs a session. TransformationT_WorkflowW_WorkletWl_SessionS_TaskT_Repository ServiceIntergration Service3. 主题说明往往在一个数据仓库项目内ETL都占了很大的开发量,在一个ETL过程中会涉及到多个操作步骤,如从不同数据源中提取出到本地,通过网络发送数据到目标域,装入Staging Area,再转换到ODS Area,进入数据仓库,通过层层汇总,再刷进Cube,因此在ETL开发时分主题就有很多方法,可以按ETL操作步骤来分为SourceStaging AreaODSDWView DMOLAP SERVER,也可以按照各数据源中数据类型,也可从目标事实表出发以完成一个目标主题为主,或者多种方法综合使用来进行ETL主题划分。在划分好主题后,每个主题都画出工作流程图来,对其流程结点进行操作描述。一个主题可以由一个Workflow和多个Mapping组成。对主题的Workflow和Mapping可以按照下面的表格进行描述。4. 主题开发4.1. 主题设计4.1.1. Mapping设计Mapping说明Mapping名称Mapping描述源类型目标类型抽出记录数入库记录数ETL执行周期ETL前处理工作ETL后处理工作错误处理机制重新装载机制源主键Source说明TablesTable NameSchema/OwnerSelection/FilterTarget说明TablesSchema OwnerTable NameUpdateDeleteInsertUnique KeyLOOKUP说明Lookup NameTableLocationMatch Condition(s)Filter/SQL OverrideMapping视图视图说明Source与Target映射说明Target TableTarget ColumnSource TableSource ColumnExpressionDefault Value if Null4.1.2. Workflow设计Workflow说明Workflow NameDescriptionItemItem NameMapping NameSource NameTarget NameTasksSessionsWorkflow视图视图说明5. 系统管理5.1. 用户管理Informatica开发分为2类用户组Administrator和Public即可,虽然权限很多,划分用户组很灵活,但2类用户组已经够用,具体分组标准视项目开发复杂程度而定。Administrator用户不宜多,2个足矣。系统成功移植后Public用户组最好Disable掉。用户组个数建议执行功能分配备注Administrator2个Workflow OperatorBrowse Repository Use Designer Use Repository Manager Use Workflow ManagerAdmin Repository Admin Integration Service Super User Manage Connection Manage Label Manage Folder Deploy Manage Deployment GroupAdmin用户建议只进行Informatica管理工作事务,如Admin Repository Admin Integration Service Super User Manage Connection Manage Label Manage Folder Deploy Manage Deployment GroupPublic若干Workflow OperatorBrowse Repository Use Designer Use Repository Manager Use Workflow ManagerAdmin RepositoryPublic用户建议只做开发项目,对移动后的项目进行修改或添加应用时,协助Admin用户更新5.2. 系统调优Informatica有自己的一套调优方法论,其宗旨就是:定义调优性能标准(合理的期望值),找到最大的bottleneck,消除它;重复,直到无法调整为止。瓶颈类型:Target, Source, Mapping, Session, System查找瓶颈的方法1) Target:写到本地文件2) Source:每个Source Qualifer后跟Filter组件,Filter Condition设为False,移走所有的转换组件,将数据写到文件中。将SQL Query在Database 中执行。3) Mapping:每个Target前面跟Filter组件,Filter Condition设为False,查看Peformance Details:Target调优 删除目标索引和约束 增加checkpoint interval 使用Bulk loading和External Loading 增加Database network Packet size Oracle数据库调优:n Large intial and next value(storage clause)n Rollback segmentsn 最优化redo log,见:init.oran 当Oracle跟Informatica在同一机器上,使用IPC协议。Source调优 针对文件:调优Line Sequential Buffer Length(1024) 调优Query:添加索引;优化SQL语句 使用tempdb,关联Sybase和SQL Server的表 增加Database network Packet size 当Oracle跟Informatica在同一机器上,使用IPC协议,见listener.ora和 tnsnames.ora文件。Mapping调优 最少化转换组件 减少不必要的link 对Aggregator, Joiner, Rank, Lookup 等组件,减少连接的input/output和output字段。 Single Pass:读一次数据,多处使用。 减少数据类型转换:数值的比较比字符串要快。 减少转换错误:使用session tracing terse。 调优lookup组件:索引,cache,优化lookup条件。在同一个mapping中共享unamed lookup,在不同的Mapping中共享named lookup;使用persistent cache。 调优Filter组件:尽量使用Source Qualifer过滤数据;Filter组件要靠近Source Qualifer;Filter条件要简单; 调优Aggregator组件:Group by简单的column;Sorted Input;Incremental Aggregation 调优Joiner组件:小表为Master;足够的内存;数据库作同构关联 调优Sequence Generator:多个Mapping共享一个Sequence Generator; Number of Cached Value1000 调优表达式:多个流公用重复出现的计算;减少汇总函数:sum(A)+sum(B)和sum(A+B);使用Local Variable;尽量使用数值比较;Treat CHAR as CHAR On Read option;DECODE versus LOOKUP;Using Operators Instead of Functions:|和concat; 找到Expression的瓶颈:折半法常量Session调优增加Partition调优Session参数Session 调优参数设置项缺省值建议最小值建议最大值DTM Buffer Pool Size12,000,000 bytes6,000,000 bytes128,000,000 bytesBuffer block size64,000 bytes4,000 bytes128,000 bytesIndex cache size1,000,000 bytes1,000,000 bytes12,000,000 bytesData cache size2,000,000 bytes2,000,000 bytes24,000,000 bytesCommit interval10,000 rowsN/AN/AHigh PrecisionDisabledN/AN/ATracing LevelNormalTerseN/A 每个Source和Target都至少需要两个Buffer Blocks 公式:(session Buffer Blocks) = (.9) * (DTM Buffer Pool Size) / (Default Buffer Block Size) * (number of partitions) 缺省的Session有的Buffer Block数 = 0.9*12000000/(64000*1) 168.75 缺省能够支持83个源和目标。 增加:DTM buffer pool size: 可以增加Buffer Block的数目。 增加:buffer block

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论