使用ODI进行数据整合过程中的数据源、目标与临时区域(staging area)的分布情况与执行方式
2010-10-22 10:28
435 查看
数据源、目标、临时区域在相同的服务器
IKM为上图中的join 、filter、转换生成合适的sql产生结果数据流。效率最高,数据不用在不同的服务器之间传送。
目标和临时区域在同一个服务器
A、B在同一个数据源上,LKM生成sql在IBM DB2上,生成一个数据集,并把这个数据集放到目标数据服务器的C$0表;(源与目标在同一个服务器时不需要LKM 也不需要临时表C$);然后在目标服务器上的IKM把临时表和D表生成数据流。
上面的两种结构不同之处在于图1是在数据源先两个表连接再LKM,图2先LKM然后再连接。取决于那种方式更节省时间。
临时区域在ODI内存
这个设置在接口的定义tab中设定:
上图中的LKM0、LKM1、LKM2将会装载所有的数据源数据到ODI内存。有IKM整合成流然后写入目标。
注意:这种方法一般不推荐使用,但是在下面的情况下会很有用:
·每个数据源的数据量很小(少于10000条记录)
·对处理的实时要求很高
·临时区域目标区不同的时候,不能使用流控制
临时区域在一个数据源
也可以在这里设定
LKM0和LKM1从数据源上加载数据到C$0和C$1,然后IKM在DB2上把A、B、C$0、C$1整合起来到目标。
·当A和B的数据量很大(超过5,000,000)
·C和D很小
·A B C$0 C$1整合后很小
IKM为上图中的join 、filter、转换生成合适的sql产生结果数据流。效率最高,数据不用在不同的服务器之间传送。
目标和临时区域在同一个服务器
A、B在同一个数据源上,LKM生成sql在IBM DB2上,生成一个数据集,并把这个数据集放到目标数据服务器的C$0表;(源与目标在同一个服务器时不需要LKM 也不需要临时表C$);然后在目标服务器上的IKM把临时表和D表生成数据流。
上面的两种结构不同之处在于图1是在数据源先两个表连接再LKM,图2先LKM然后再连接。取决于那种方式更节省时间。
临时区域在ODI内存
这个设置在接口的定义tab中设定:
上图中的LKM0、LKM1、LKM2将会装载所有的数据源数据到ODI内存。有IKM整合成流然后写入目标。
注意:这种方法一般不推荐使用,但是在下面的情况下会很有用:
·每个数据源的数据量很小(少于10000条记录)
·对处理的实时要求很高
·临时区域目标区不同的时候,不能使用流控制
临时区域在一个数据源
也可以在这里设定
LKM0和LKM1从数据源上加载数据到C$0和C$1,然后IKM在DB2上把A、B、C$0、C$1整合起来到目标。
·当A和B的数据量很大(超过5,000,000)
·C和D很小
·A B C$0 C$1整合后很小
相关文章推荐
- 使用注解方式进行spring和hibernate整合
- SpringBoot整合Netty并使用Protobuf进行数据传输(附工程)
- thinkPHP多域名情况下使用memcache方式共享session数据的实现方法
- 4.Spark SQL:数据源Parquet之使用编程方式加载数据
- 使用cli(命令行)方式执行php程序进行高效的程序调试
- 使用文件映射的方式进行共享数据中CreateFileMapping、MapViewOfFile函数参数说明
- 在学习过程中总结的LoaderManager的LoaderCallbacks刷新数据以使onLoadFinished回调方法能被执行的两种方式
- 4.Spark SQL:数据源Parquet之使用编程方式加载数据
- excel内一键进行sql查询(使用方法 1.选择’需要进行sql查询区域 包括字段名 2 输入sql语句 3.选择输出数据的单元格)
- Android学习之Http使用Post方式进行数据提交(普通数据和Json数据)
- 使用注解方式进行spring和hibernate整合
- Android Http使用Post方式进行数据提交
- C#中的类SqlCommand对象使用方法ExecuteNonQuery()调用SQLServer存储过程时,存储过程执行成功,数据发生改变,但是返回-1
- 4.Spark SQL:数据源Parquet之使用编程方式加载数据
- 在非英文字符集的页面上,如果使用Ajax方式进行数据交互的话,就必须要注意保证前后端数据的统一编码,否则,很容易就出现乱码!
- IOS中的数据存储方式,特点,使用情况
- 使用物化视图的方式进行表级数据同步示例
- 使用自定义的数据源进行DataGrid控件的数据绑定
- 一次 read by other session 的处理过程--数据走索引需要看索引字段的数据分布情况
- 4.Spark SQL:数据源Parquet之使用编程方式加载数据