分享

我们可以不再使用ETL了吗?

 天下小粮仓 2019-10-22
目前来说是不行的,ETL任然是大数据时代下数据迁移不可缺少的

首先说一下什么是ETL,ETL是英文Extract-Transform-Load的缩写,用来描述将数据从来源端经过抽取(extract)、转换(transform)、加载(load)至目的端的过程。ETL一词较常用在数据仓库,但其对象并不限于数据仓库。也就是说几乎所有的数据的移动都需要ETL的参与!



目前用到的ETL工具常见的有Datastage,informatica,kettle三种,前两者是收费的,并且占据了大多数国内市场,而kettle是来源免费的!但是在大数据量下Informatica 与Datastage的处理速度是比较快的,比较稳定。Kettle的处理速度相比之下稍慢。所以很多公司尤其是金融机构选Informatica 与Datastage。但是kettle由于是开源的所以有很强的扩展性。



数据要想有价值,就必须把它进行分析,挖掘出来它潜藏的价值,人们日常活动产生的数据一般是放在业务系统中,而在业务系统中的数据是不能直接进行分析处理的,这个时候我就得把这些数据搬运到一个仓库里,再进行分析!也就是所说的数据仓库,在而这个数据的搬运工就是ETL,在搬运的过程中我们还要做一些初步的清洗,去掉一些无用的不全的数据,这也是ETL的功能!最后我们那这些处理过的数据进行商业分析!这就是一个ETL的过程。



在数据就是价值的今天我们更加离不开ETL,当然这个过程也在不断的改进,运用也越来越智能越来越方便

说到ETL,很多开发伙伴可能会有些陌生,我也是在近几年的工作过程中才接触到ETL的,现在的项目是比较依赖于ETL,可以说是项目中重要的一部分。

先看一看ETL是做什么用的:ETL是将各个业务系统的数据,通过抽取、清洗、转换之后,加载到数据仓库的过程;ETL可以将分散、零乱、标准不统一的数据整合到一起。完整的ETL功能有很多(ETL是三个三次的缩写...),我只从我实际使用的场景出发,说明我对ETL的理解和实际应用。

我接触过的项目,使用ETL工具的场景有这个几种:

报表、BI系统:

  • 在公司建设的初期,业务比较少,系统也比较少,一台数据库就搞定了;

  • 随着公司业务的增加,业务系统被拆成很多系统;

  • 随着数据量的继续增加,单个系统的数据增加到一定程度的时候,也做了分库分表;

  • 这时候领导、业务人员在用数据做分析的时候,数据来源可能是多个系统的多张表,这时候企图通过一个复杂的SQL跑出来结果就很困难了;通常公司会建立一个数据仓库,通过ETL工具把数据抽取到数据仓库中,再做数据的拟合和展示。

跨系统的数据加工或查询:

我们现在所在公司,业务系统有几百个,由于业务流程比较复杂,前端系统在做业务操作的时候,在正式提交交易之前,有很多业务校验;比如要查询客户在A系统的交易历史,在B系统的交易历史,在C系统的交易历史;那么就需要分别调用A、B、C系统的接口,这个对前端系统很不友好,那么通常的解决方案是什么?

  • 学阿里,建中台,、把A/B/C系统合并成一个大中台,对外提供服务;这种方法很好,但是非常难;很多公司,别说把A/B/C合成一个系统了,就是A系统本身的重构,都非常地困难;

  • 第二种方案,在前段系统和A/B/C系统之间,增加一层,可以叫做服务中台,它的作用是整合A/B/C系统的服务,然后对外提供一个服务给前端系统调用;好处是前端系统只需要调用服务中台的一个接口即可;

  • 我们现在采用的是第三个方案,把A/B/C系统的数据,通过ETL抽取到一起,并通过Java把数据提前加工好,保存到MongoDB中的同一个Collection中(利用了MongoDB数据结构的特点);再对外提供服务的时候,相当于做了一次单表查询,就可以查询到三个系统的数据;好处是可以调一个接口查出三个系统的数据,并且缓解了三个系统的查询压力;

  • 当然这个方案也有着一个很大的缺陷,就是有一定的延迟,需要根据业务场景进行评估,是否接受这个延迟。

  • ETL的工具也有不少,我们现在使用的是Informatica,这是收费的,开源的只接触过Kettle;

  • 我们现在是根据数据表的时间戳,做增量抽取,在我看来,比较理想的方案是业务系统可以把数据“吐出来”,比如业务系统埋点发送MQ、MySQL可以监听binlog日志,不过在我们公司都非常难以实现;

所以,至少在我们项目,ETL是很难被替换掉的。



    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多