首页 > 代码库 > informatica介绍
informatica介绍
一、总体概述
ETL包括Extract、Transform、Cleaning和Load,它是用于从生产库中提取数据到数据仓库中,再由具体的报表、统计、分析工具对数据仓库的内容进行分析,分析出自己所需要的数据。
其中ETL培训的内容是如何利用Informatic PowerCenter把源数据库的内容提取存放到目标数据库中。主要
Informatic主要包括四个部分:Client,Reposity Server,Reposity Database和Informatic Server 每个部分实现自己的功能。
二、系统体系结构
此部分介绍了Informatic ETL工具包括的主要内容。
1. Client
Informatic Client主要有五个部分。Client可以和Reposity分离,通过TCP/IP连接,连接到远程的Reposity Server。
² Reposity Manager
主要用于进行一个Reposity库的管理,当用户使用Client工具登录一个Reposity服务器之后,进行文件夹权限的创建,用户权限、密码的管理等。
² Designer
主要是进行数据抽取的转换工具的设计,主要是mapping的设计、设计源数据库的结构,目标数据库的结构,然后设计把源数据导入到目标数据库中,所需要进行的转换操作(Transformation)。
同一个Reposity的folder之间可以建立shortcut方式,多个reposity的folder之间只能做拷贝。
² Workflow Manager
主要用于流程任务(workflow Task)的设计。
进行任务流程的设计、每一个Tast针对一个Session,一个session针对一个mapping,其中workflow中的Folder和Designer中的folder相对应的关系。一版来说,用户都是建立自己的Folder。
² Workflow Monitor
主要进行流程运行、及任务运行时的流程运行情况跟踪。可以跟踪日志。包括Session日志和Workflow日志,可以设置生成日志的循环个数。分析session运行是对源数据库的数据抽出信息和对目标数据库的更新信息。
² Reposity Server Application Console
主要进行Reposity的管理,包括Reposity Server的start,shutdown操作。
进行Reposity 库的backup、restore等操作,进行Reposity库级别的管理,级别较高。
2. Reposity Server
Reposity server是为客户端服务的,客户端可以和各种client不在一台服务器上。关于数据抽取的设计成果转换成为XML格式的源数据,都是通过Reposity Server存放到Reposity Database Server上的。
3. Reposity Database Server
用于存放的是进行ETL设计的元数据。可以支持各类的数据库。方式为数据库中用户的一个表目录和用户关系即可。
Reposity Database可以和Reposity server不安装在一台服务器。如果在一台机器上,server通过native方式连接到database,如果不在一台及其上,需要在database上安装一个reposity agent,用户通过agent,以native方式连接到reposity数据库,然后reposity agent再以tcp/ip方式连接到reposity server。
4. Informatic Server
Informatic server 是实际执行数据抽取任务的运行环境。即workflows、task、sessions等。它是根据定义的workflow元数据库,然后在自己的实际环境中,执行数据抽取操作。
三、系统组件功能
Informatic的功能主要体现在Designer 和Workflow Manager上,其中Designer实现的是对数据抽取的数据转换方式设计,以及效率设计目标等。而在Workflow Manager中再把具体的数据转换方式应用到一个具体的工作任务中,包括目标库、源库的选择,以及一条具体的执行任务的属性设置等等。包括任务的insert、truncate、delete、increment insert等。
1. Designer
² 工作区
在Designer中,涉及到的工作区主要包括有Source Analyzer、Warehouse Designer、Transformation Designer、Mapplet Designer和Mapping Designer。
其中每个工作区的功能分别介绍:
Source Analyzer:
Source Analyzer的功能是实现对源数据库表的设计,可以手工的进行源数据库的设计,一般都是通过从Flat File或者Relation DBMS中导入数据库的表结构。XLS文件结构。
Warehouse Designer
用于设计目标数据库库的结构,可以利用手工设计,也可以利用import工具导入导一个warehouse的结构。
Transformation Designer
用户设计可重用的transformation组件,这里的组件,在一个folder里面都是可以重用的,而且以shortcut的方式使用。Transformation组件的修改,会直接反映到使用此transformation的mapping中。
Mpplet
设计可以重用的多个组件,只要有output组件,可以有input组件,也可以没有input组件,实现的功能就和一个expression的功能类似,实现功能。
Mapping Designer
实现的功能是设计具体进行抽取数据的mapping,这些mapping应用到一个workflow中,形成了workflow的一个session(task)。
² 组件功能
ETL支持的组件主要包括两类:Active组件和Passive组件,其中Active组件是对输入记录集在输出时个数有变化的组件,Passive组件,输入的记录集,输出时记录集的个数不发生改变。
Informatic提供的组件包括:
(1) Source Qualifier: reads data from flat file & relational sources
(2) Expression: performs row-level calculations
(3) Filter: drops rows conditionally
(4) Sorter: sorts data
(5) Aggregator: performs aggregate calculations
(6) Joiner: joins heterogeneous sources
(7) Lookup: looks up values and passes them to other objects
(8) Update Strategy: tags rows for insert, update, delete, reject
(9) Router: splits rows conditionally
(10) Sequence Generator: generates unique ID values
(11) Normalizer: normalizes records from relational or VSAM sources
(12) Rank: filters the top or bottom range of records
(13) Union: merges data from multiple pipelines into one pipeline
(14) Transaction Control: allows user-defined commits
(15) Stored Procedure: calls a database stored procedure
(16) External Procedure : calls compiled code for each row
(17) Custom: calls compiled code for multiple rows
(18) Midstream XML Parser: reads XML from database table or message queue
(19) Midstream XML Generator: writes XML to database table or message queue
每一类组件都有自己独特的功能和特点,这里介绍主要的组件包括上述红色的内容。每一种组件的详细功能这里不详细介绍。
2. Workflow
Workflow是对执行任务的执行进行控制,可以在执行时对执行的任务进行传参数进行传入,这样就能在执行的时候把数据库表进行动态的设置。
可以在执行的时候选择参数文件,对mapping、workflow中的Session的参数进行传入。达到动态执行的目的。
Workflow中定义workflow、session等任务,对这些任务的执行进行管理控制。
四、补充说明
(1) Source Qualifier支持同构数据源的连接,衣钩数据源的连接通过N-1个jointer组件实现。
(2) Lookup为passive组件,查出的多条记录集,要么取first,或者last,或者报错。
(3) Lookup可以时动态/静态 ,可以connected/unconnect