ETL是企业数据仓库构建过程中的一个核心步骤Y我们可以借助于ETL
工具来高效地完成数据抽取转换和加载工作之所以需要ETL工具Y
主要有以下几个原因X
??0??5
1??0??6当数据来自不同的物理主机Y这时候如果使用SQL语句去处理的
话Y就显得比较吃力且开销也更大
??0??5
2??0??6数据来源可以是各种不同的数据库或者文件Y这时候需要先把它
们整理成统一的格式后才可以进行数据的处理Y这一过程用代码实现
显然有些麻烦
??0??5
3??0??6在数据库中我们当然可以使用存储过程去处理数据Y但是Y处理
海量数据的时候Y存储过程显然比较吃力Y而且会占用较多数据库的
资源Y这可能会导致数据库资源不足Y进而影响数据库的性能。
。
在选择ETL工具时主要考虑如下因素X
??6??1对平台的支持程度
??6??1抽取和装载的性能是不是较高Y且对业务系统的性能影响大不
大,高不高。
??6??1对数据源的支持程度。
??6??1是否具有良好的集成性和开放性。
??6??1数据转换和加工的功能。
??6??1是否具有管理和调度的功能。
CDC解决方案包括变化捕捉代理变化数据服务和变化分发机制三个
组成部分
??0??5
1??0??6变化捕捉代理变化捕捉代理是一个软件组件Y它负责确定和捕
捉发生在操作型数据存储源系统中的数据变化可以对变化捕捉代理
进行专门优化Y使它适用于特定的源系统Y比如使用数据库触发器
也可以使用通用的方法Y比如数据日志比较。
变化数据服务变化数据服务为变化数据捕捉的成功实现了
一系列重要的功能Y包括过滤排序附加数据生命周期管理和审
计等表64给出了每个功能的解释。
变化分发机制变化分发机制负责把变化分发到变化的消费者??0??5通
常是ETL程序??0??6那里变化分发机制可以支持一个或多个消费者Y并且提
供了灵活的数据分发方式Y包括推ph或拉pull的方式Pull方式需要
消费者周期性地发送请求Y通常采用标准接口实现Y比如ODBC或JDBC
Ph方式需要消费者一直监听和等待变化的发生Y一旦捕捉到变化Y就立
刻转移变化的数据Y通常采用消息中间件来实现变化分发机制的另一个
重要功能就是动态返回和请求旧的变化的能力Y从而满足重复处理和
恢复处理等任务。
变化数据捕捉技术有两个典型的应用场景X面向批处理的CDC
??0??5
pull CDC??0??6和面向实时的CDC??0??5
ph CDC??0??6
1.面向批处理的CDC
在这种场景中YETL工具周期性地请求变化Y每次都接收批量数据Y
这些批量数据是在上次请求和这次请求之间所捕捉到的变化变化
分发请求可以采取不同的频度Y比如一天两次或每隔15分钟1次。
对于许多组织而言Y变化数据的一种比