实时ETL解决方案总结

问题导读

1.实时ETL可以选择哪些架构部件?
2.实时ETL有哪些实现方法?
3.实时ETL有哪些难点?




1、简述在架构实时ETL时的可以选择的架构部件。
答:在建立数据仓库时,ETL通常都采用批处理的方式,一般来说是每天的夜间进行跑批。

随着数据仓库技术的逐步成熟,企业对数据仓库的时间延迟有了更高的要求,也就出现了目前常说的实时ETL(Real-Time ETL)。实时ETL是数据仓库领域里比较新的一部分内容。

在构建实时ETL架构的数据仓库时,有几种技术可供选择。

(1)微批处理(microbatch ETL,MB-ETL)

微批处理的方式和我们通常的ETL处理方式很相似,但是处理的时间间隔要短,例如间隔一个小时处理一次。

(2)企业应用集成(Enterprise Application Integration,EAI)

EAI也称为功能整合,通常由中间件来完成数据的交互。而通常的ETL称为数据整合。

对实时性要求非常高的系统,可以考虑使用EAI作为ETL的一个工具,可以提供快捷的数据交互。不过在数据量大时采用EAI工具效率比较差,而且实现起来相对复杂。

(3)CTF(Capture, Transform and Flow)

CTF是一类比较新的数据整合工具。它采用的是直接的数据库对数据库的连接方式,可以提供秒级的数据。CTF的缺点是只能进行轻量级的数据整合。通常的处理方式是建立数据准备区,采用CTF工具在源数据库和数据准备区的数据库之间相连接。数据进入数据准备区后再经过其他处理后迁移入数据仓库。

(4)EII(Enterprise Information Integration)

EII是另一类比较新的数据整合软件,可以给企业提供实时报表。EII的处理方式和CTF很相似,但是它不将数据迁移入数据准备区或者数据仓库,而是在抽取转换后直接加载到报表中。

在实际建立实时ETL架构的数据仓库时,可以在MB-ETL, EAI, CTF, EII及通常的ETL中作出选择或者进行组合。

2、简述几种不同的实时ETL实现方法以及它们的适用范围。
答:实时数据仓库在目前来说还不是很成熟,成功案例也比较少,下面列举了一些实时数据仓库架构的实现方法。

(1)EII ONLY

使用EII技术来代替实时的数据仓库,数据延迟可以保证在1分钟左右,支持数据整合的复杂程度较低。无法保存历史数据。

(2)EII + Static DW

使用EII技术联合非实时的数据仓库,数据延迟可以保证在1分钟左右,1天内的数据整合的复杂程度较低,1天前的数据整合的复杂程度可以较高。可以保存历史数据。

(3)ETL + Static DW

普通的ETL处理,数据延迟在1天。支持复杂程度较高的数据整合。保存历史数据。

(4)CTF + Real-Time Partition + Static DW

使用CTF技术建立实时数据仓库,数据延迟可保证在15分钟左右。数据整合的复杂程度较低。保存历史数据。

(5)CTF + MB-ETL + Real-Time Partition +Static DW

使用CTF技术和MB-ETL联合处理数据迁移,数据延迟可保证在1小时左右,支持数据整合的复杂程度较高,保存历史数据。

(6)MB-ETL + Real-Time Partition + Static DW

直接使用MB-ETL建立实时数据仓库,数据延迟可保证在1小时左右,支持数据整合的复杂程度较高,保存历史数据。

(7)EAI + Real-Time Partition + Static DW

使用EAI技术建立实时数据仓库,数据延迟可保证在1分钟左右,支持数据整合的复杂程度较高。保存历史数据。

上面列出了一些实时数据仓库架构的选择,写的不是很详细,只是提出个思路,供大家自己去找资料学习。

3、简述实时ETL的一些难点及其解决办法。

答:实时ETL的引入给数据仓库的建设带来了很多新的问题和挑战,下面列举了一些问题,其中有些问题有具体的解决办法,有些只能在实际情况下去斟酌。

(1)连续的ETL处理对系统可靠性提出更高的要求。

(2)离散快照数据的间隔时间变短。

(3)缓慢变化维变成快速变化维。

(4)如何确定数据仓库中数据的刷新频率。

(5)目的是只出报表还是要实现数据整合。

(6)做数据整合还是应用整合。

(7)采用点对点的方式还是集中的方式。

4、金三项目如何处理这种情况

(1)微批处理,在年末结算的时候,一般2-3个小时会做一次数据抽取,减小数据抽取量,保证数据正确按时抽取。

有些数据处理是没5分钟做一次,以保证跟源系统的实时同步。

(2)税费信息的抽取采取直接进入统一视图表,避免了准备区的环节。

(3)可以直接从源系统中查数据生成报表,以满足实时性要求较高的数据分析功能。(EII)

(4)在数据仓库端建立物化视图并实时刷新,把较大的数据加载到本地,以减少源系统数据库和数据仓库端的网络传输,也可以使用driving_site的hint使得表的连接发生在小表所在端,减少网络传输

(5)可以采用流式数据处理方式,比如storm等新技术

你可能感兴趣的:(数据分析,BIGDATA,大数据,ETL)