ETL数据加载策略

本文所提到的数据加载策略为OLTP系统作为源系统,并进行ETL数据加载到DW系统中所采用的一般数据加载策略。
根据该方式的特定性,此时ETL数据加载一般存在以下四种方案:时戳方式,日志表方式,全表比对方式,全表删除插入方式

[@more@]


时戳方式
需要在OLTP系统中业务表中统一添加时间字段作为时戳(如表中已有相应的时间字段,可以不必添加),每当OLTP系统中更新修改业务数据时,同时修改时戳字段值。当作ETL加载时,通过系统时间与时戳字段的比较来决定进行何种数据抽取。
优点:ETL系统设计清晰,源数据抽取相对清楚简单,速度快。可以实现数据的递增加载。
缺点:时戳维护需要由OLTP系统完成,需要修改原OLTP系统中业务表结构;且所有添加时戳的表,在业务系统中,数据发生变化时,同时更新时戳字段,需要对原OLTP系统业务操作程序作修改,工作量大,改动面大,风险大。

日志表方式
在OLTP系统中添加系统日志表,当业务数据发生变化时,更新维护日志表内容,当作ETL加载时,通过读日志表数据决定加载那些数据及如何加载。
优点:不需要修改OLTP表结构,源数据抽取清楚,速度较快。可以实现数据的递增加载。
缺点:日志表维护需要由OLTP系统完成,需要对OLTP系统业务操作程序作修改,记录日志信息。日志表维护较为麻烦,对原有系统有较大影响。工作量较大,改动较大。有一定风险。

全表比对方式
在ETL过程中,抽取所有源数据,并进行相应规则转换,完成后先不插入目标,而对每条数据进行目标表比对。根据主键值进行插入与更新的判定,目标表已存在该主键值的,表示该记录已有,并进行其余字段比对,如有不同,进行Update操作,如目标表没有存在该主键值,表示该记录还没有,即进行Insert操作。
优点:对已有系统表结构不产生影响,不需要修改业务操作程序,所有抽取规则由ETL完成,管理维护统一,可以实现数据的递增加载。没有风险。
缺点:ETL比对较复杂,设计较为复杂,速度较慢

全表删除插入方式
每次ETL操作均删除目标表数据,由ETL全新加载数据。
优点:ETL加载规则简单,速度快
缺点:对于维表加代理键不适应,当OLTP系统产生删除数据操作时,OLAP层将不会记录到所删除的历史数据。不可以实现数据的递增加载。

当作系统数据加载策略方案时,基于以上所列方法,及现有系统考虑:
(1)、如果所集成OLTP系统为其他产商产品,则应尽量的降低因ETL而对现有系统产生的影响,及系统风险性。而性能的影响则可以通过两方面解决,一部分由硬件的升级进行解决,因为ETL除读表及写表操作外,所有转换均由ETL服务器在内存中完成,故高配置服务器将大大提升ETL运行速度;一部分由加载时机进行控制,加载时机采取在系统较为空闲时加载,同时并行多个加载等,可以降低对运行系统的影响。所以可以使用全表比对递增加载数据的方式作为此类系统的ETL数据加载规则。
(2)、如果原OLTP系统为自己开发产品,此次所作OLAP系统为在原系统上的系统,则可以考虑使用时辍或日志表方式,区别仅为对原系统的影响大小。
(3)、当数据实现递增加载时,OLAP系统中的聚合表,可由OLAP中的事实表数据二次ETL产生,此时由于OLAP数据的完整性与准确性,可以使用全表删除插入方式。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/16723161/viewspace-1026161/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/16723161/viewspace-1026161/

课程介绍:          Informatica 9.6 实战课程,将从数据仓库体系架构介绍,服务器搭建配置,实例组件操作,丰富的案例,及项目实战开发过程 来讲述ETL工具Informatica的实际应用,真正完成数据仓库全流程开发应用,ODS层,EDW层,DM层,学完该课程具备ETL软件开发工程师能力水平,能独立完成项目开发工作,从入门到高级项目开发应用,每个实例都载图,课件,教程,数据等,能达到中高级ETL开发能力,本课程的学习要求,一定跟着实例动手实战,操作才能掌握实例的开发步骤,及开发注意事项。每个组件都用具体案例讲解,保证学以致用。掌握ETL的开发技能,搭建数据仓库体系架构。应对各环境操作。具体数据实操与应用。 你将收获:ETL软件开发工程师能力与水平数据仓库体系架构案例综合应用实战ETL实战项目开发数据采集与数据处理数据清洗与数据仓库指标统计学会使用Informatica完成项目开发掌握ETL开发流程掌握数据质量管理 适用人群 数据仓库初学者 数据仓库开发工程师 数据库开发工程师 BI开发工程师 数据可视化工程师大数据开发与应用 数据仓库管理 数据管理 数据分析师 业务数据分析 零基础入门ETL ETL数据处理 数据仓库体系架构图: 课程大纲:01_Informatica9.6课程导学02_数据仓库体系介绍03_Oracle_安装04_Oracle_配置.wmv05_PLSQL工具汉化破解06_Informatica9.6安装.wmv07_Informatica9.6服务器配置.wmv08_客户端的安装配置连接.wmv09_客户端工具介绍10_源数据介绍11_入门实例EMP_0112_入门实例EMP_0213_入门实例DEPT14_达式Fx组件实例115_达式Fx组件实例216_聚合组件实例17_查找Lookup组件实例18_过滤Filter组件实例19_Informatica9.6 排序sort组件实例详解20_Informatica9.6 分发器Router组件实例21_Informatica9.6 sql连接查询复习22_Informatica9.6 连接查询同构SQ23_Informatica9.6 连接查询异构JOIN24_Informatica9.6 等级函数Rank实例25_Informatica9.6 数据合并Union组件实例26_Informatica9.6 存储过程Px组件实例27_1行转列案例sql28_2行转列案例ETL过程29_工资大于该职位下平均工资案例30_增量抽取案例31_缓慢变化维案例32_对文件数据的读取写入33_项目1薪酬统计项目介绍34_Informatica 项目1薪酬统计项目接口入库ODS35_Informatica 项目1薪酬统计项目EDW层明细临时1sql36_Informatica 项目1薪酬统计项目EDW层明细临时2ETL37_Informatica 项目1薪酬统计EDW层明细138_Informatica 项目1薪酬统计EDW层明细239_Informatica 项目1薪酬统计EDW层明细340_Informatica 项目1薪酬统计DM层月考勤统计报41_Informatica 项目1开发DM层统计报142_Informatica 项目1开发DM层统计报243_Informatica 项目1开发DM层统计报344_Informatica 项目1开发DM层薪资报145_Informatica 项目1开发DM层薪资报246_Informatica 项目1开发DM层薪资报347_Informatica 项目2计费系统项目介绍48_Informatica 项目2计算系统项目ODS层49_Informatica 项目2计费系统EDW层150_Informatica 项目2计费系统EDW层251_Informatica 项目2计费系统EDW层352_Informatica 项目2计费系统DM层 
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值