Informatica PowerCenter 开发规范

 

Informatica PowerCenter 开发规范

一、 资料库管理
          在资料库的管理过程中,由于各种原因,需要重起资料库服务时,需要通知各位相关人员并在重起时同时重   起Informatica服务。
         Folder的建立,由管理员根据业务需求建立,并对其进行授权。建立与用户同名文件夹,
     并设置该文件夹的Owner为该用户,且设置其它用户及组只有读权限。(如图 2)

图 2
二、设计规范
     1、Source导入
         关系数据库:采用ODBC方式读入元数据,且元数据放置位置与ODBC命名有关,本地ODBC命名需与服务器        相同。对于各用户,ODBC命名采用:用户名_SOURCE(例:MM_SOURCE)。ODBC须采用与服务器相同的版本。Oracle   客户端也须与服务器采用相同版本。
          文本文件:采用Flat文件导入方式,Flat文件的规范为,第一行为各字段名,第二行开始为数据,各数据   间的分隔符为TAB键。一个通常的做法为,在Excel表格中填入所有数据,直接拷贝至文本中,此时分隔符自动        为TAB键。文本文件的服务器位置,在服务器上分别建立各模块文件夹,各文本文件按模块放置于相应的文件夹       内。文本文件命名为目标表名。     
     2、Target导入
         Target导入存在同样的三种方式:关系数据库、文本文件、XML文件。
         Target的元数据管理与Source方式有所不同,其统一放置于Targets下,与本
     地ODBC命名无关,需要导入的目标表名唯一。
     3、 Mapping建立
         1、Normal Create 方式
          命名为:m_表名(例:m_MM_PLAN)
         2、Slowly Changing Dimensions方式
          缓慢变化维方式是的数据加载模式,可以实现表的全历史纪录记录及源表的数据变化后的主键更新方式。开       发中由于实际表需求与数据加载的对接,需要在各种转换后加一个表达式模块(EXP_TARGET),其字段内容 同Target 表,在缓慢变化维前加一个表达式模块(EXP_SOURCE),其字段内容也同Target表,这两个表达式作为 最终的业务     需求转换与数据加载的接口。(如图 3)
          在Mapping设计中,使用的各个转换模块,其命名为模块类型名的前三个字母加操作名,查找模块为LKP_        表名。(例:EXP_CAL、LKP_HRM_DEPT)

图 3
           一些各个模块需要注意的设置:
          (1)、模块中尽量不要有多余的字段,没有向下流出的字段尽量删除。
          (2)、只属于Input型的字段,应去除其O选项;同样只属于Output型的字段,去除其I选项。
         (3)、模块中出现需计算的数值字段,其输入默认值设为0(Default Value)。这些字段类型大
              小统一改为Decimal (20  6),由于计算的精度不同会造成数值得高精度误差,故统一计
              算精度大小,可以避免该错误发生。
          (4)、用户在模块中手动添加的字段,Input型的字段,添加前缀INPUT_,Output型的字段添加前缀OUTPUT_。
              (5)、SEQ模块在作为公用模块时,即Make Reusable时,设置其Number of Cached Values为1。
              (6)、汇总模块的数据输入最好在之前放一个排序模块对数据进行先排序,并选中汇总模块的Sorted Input              选项。
              (7)、由于建缓慢变化维产生的Temp表,应在完成后及时删除。
     4、Mapplet建立
              命名为:ml_操作(例:ml_CAL_ASS)
     5、Session建立
               命名为:s_m_mapping名(例:s_m_MM_PLAN)
     如果Mapping中存在数值计算,则需要在其Session的属性页选中Enable high precision(允许高精度计 算)。      
     6、 WorkLet建立
              命名为:wl_业务名(例:wl_MM_PLAN)
     应尽量把业务相关的几个Session建为一个Worklet,统一调度。
     7、WorkFlow建立
              命名为:wf_业务(例:wf_MM_CODE01、wf_MM_OLTP01)      
     Scheduler命名为Scheduler_模块名_英文(例:Scheduler_MM_WEEK)
     WorkFlow中应尽量少的出现直接的Session,把一些相关性的Session统一作为Worklet,在WorkFlow中调用。
三、 环境发布
          在进行发布时,导入的信息,当设计到覆盖时,需要注意:
     (1)、Mapping改动后,可以直接覆盖,当需要检查引用到它的Session是否失效,如果失效,应进行Validate。
     (2)、Mapping覆盖时,注意其中包括的Seq值,不能覆盖目标。
     (3)、公用模块、Source、Target的导入,将会影响到引用到它们的所有对象(将会造成大部分对象失效),所      以需要特别谨慎,如果确认需要导入,则在导入后,需要进入系统,找出所有失效对象,进行Validate。
     (4)、一般不需要覆盖的对象,在导入时选择Reuse。
     (5)、新发布的Mapping,需要将其Seq的初始值改为1。

 

你可能感兴趣的:(Informatica)