CDC 与 DataStage完美结合,加速业务实时数据分析
随着计算机技术和信息技术的不断发展,海量数据的不断涌现,企业迫切需要对数据进行高效、准确、及时地分析。传统 BI分析系统(例如:数据仓库)一般是按天、周或者月作为数据的更新周期,可以提供对历史数据的分析与查询,能够帮助决策者制定企业运营战略,但却不能实时地反映企业商业信息的变化。然而当前在电子商务、金融证券等领域中,需要及时的将数据发送到决策者手中,为企业提供更有价值的战术型决策支持,因此实时BI分析系统需求和建设应运而生。
数据的实时性和查询的频繁性是实时BI分析系统的两个重要特性,它成为了实时BI分析系统设计中的难点。 而对于实时数据仓库领域的研究,最具有代表性的是以下两个方面:
- 如何实时的对源系统中的变更数据进行抽取、转换、清洗并加载到数据仓库中。
- 如何解决好变更数据不间断持续的更新集成和大规模频繁的并发查询之间的冲突。
大家所熟悉的 (CDC)是一种准确而高效的数据复制工具,可以帮助我们轻松地获取业务生产系统的增量数据;而 则是企业数据集成领域另一个专业而强大的ETL工具,可以高效批量处理海量数据。将CDC与DataStage进行集成,就能实现快速地把业务增量数据,实时地按业务规则进行数据转换和集成处理,把最终处理结果更新到目标的分析系统中。IBM CDC 与 DataStage 集成的方式有四种可选项,具体描述如下:
1、数据库中转
CDC从源数据库系统捕获增量交易数据,复制到目标的数据库表。然后,通过抽取这些数据表数据,进行转换处理并加载到目标数据库。
2、IBM MQ集成
CDC从源数据库系统捕获交易数据增量,并交送到 IBM MQ消息队列中;MQ传送这些数据到 DataStage作为它的数据输入,然后进行转换处理,最后把数据处理结果加载到目标数据库。
3、基于文件
CDC从源数据库系统捕获交易数据增量,生成数据文件。DataStage读取这些数据文件,然后进行数据转换处理,并加载到目标数据库。
4、直接连接
从源数据库系统捕获交易数据增量,并传送到目标端的DataStage服务器内存,DataStage直接读取这些数据文件,然后进行数据转换处理,并加载到目标数据库。
在上述的四种集成选项中,第3和第4种是被客户使用得最多和最广泛的选项,特别是针对需要对大量数据进行复杂逻辑转换处理的系统实施(例如:实时数据仓库系统)。下面,我们给关心技术实施细节的朋友们作些说明。
在上图中, CDC从源系统捕获到增量数据后,经过TCP/IP网络传送到目标 CDC for DataStage Agent,并产生数据文本文件(FlatFile);DataStage ETL工具抽取这些数据文件,进行 ETL处理,并加载到 ETL信息集成平台系统的目标端。这种技术架构的优势很明显:
- 实现了源系统增量数据实时捕获,并自动地产生数据文件,不受到DataStage ETL处理过程中出现的问题及故障干扰,及时地实现增量数据捕获;
- 对应产生的数据文件,用户可灵活的处理,按需要发送到不同系统使用;
- 哪怕是ETL系统出现故障,也不用担心源系统的增量数据来不及捕获,后续要进行“马拉松”式把漏掉的增量数据追回来。
上图采用的 CDC 与 DataStage 连接方式,是把来源于 CDC捕获的增量数据,在DataStage ETL 服务器内存中直接交付给DataStage进行后续的数据转换处理,其特点是:
- 缩短了数据从源系统到达最终目标系统的时间,满足用户对高实时性业务开展的要求;
- 数据处理全过程中,避免数据中途“落地”所带来I/O开销;
- 处理的数据量是适中,原因是:如果太大的数据量,由于需要处理时间较长,出现故障机率高,会导致在故障排除其间,不能及时地捕获源系统的增量数据。
与 DataStage 集成的安装和配置如下:
1、CDC 与 DataStage 基于文件方式集成
产生的数据文件格式有两种,如果选择“Single Record”,那么对于 Update 交易操作,每一笔交易只产生一条记录,把BeforeImage和AfterImage 信息合在一条记录显示;如果选择“MultipleRecords”,那么对于Update 交易操作,每一笔交易会产生两条记录,分别记录BeforeImage和AfterImage信息。
产生的数据文件大小,可在配置 CDC预订过程中,指定合适的“Numberof Rows”和“Time(seconds)”。当记录数达到“Numberof Rows”时,生成一个新的数据文件,如果记录数没达到指定数值,时间超过了指定数值,同样也会触发一个新的数据文件生成。这就实现了对数据文件大小的控制。
2、CDC 与 DataStage 基于直连方式集成
对于 CDC与 DataStage直接连接,DataStage ETL作业由 CDC预订配置完成后自动生成,无需额外开发,该作业配置上需要注意CDC_Transaction 和目标数据库Stage的配置,涉及部分如下图所描述:
总结:
1、与传统的 ETL、批量装载、查询或基于消息的系统不同,InfoSphereCDC 最初的设计目的就是提供可伸缩的高性能实时数据集成,尽可能降低延迟。InfoSphere CDC 独特的变化数据捕捉技术能够大大降低对运营性应用程序性能的影响,这确保源系统上运行的重要应用程序的性能不会受到严重影响。通过使用基于日志的CDC,就不需要修改数据库、应用程序、中间件、硬件或操作系统。
2、CDC 与 DataStage ETL工具无缝集成,可以轻松地处理大量企业数据,同时保持事务的完整性和一致性。
3、IBM 有国内有大型商业银行、电信公司和龙头制造业等客户已使用该方案和技术,并取得成功经验。
详情请咨询!
客服热线:023-66090381