数十年来,由于可从数据库提取信息、重新格式化转换数据,并将数据加载到数据仓库,ETL一直是企业基础架构的关键组件。随着云、SaaS和大数据的出现,新数据源和数据流的急剧增加,迫切需要更强大和更复杂的数据集成工具出现。新一代ETL工具可以实时获取数据,处理数十亿交易以及支持任何来源的结构化或非结构化数据(无论是内部部署还是云中);同时,这些工具还具备可扩展性、灵活性、容错性和安全性,具备传统内部部署解决方案无法实现的所有功能。
ETL简史
ETL出现于20世纪70年代,当时大型企业开始聚合和存储来自多个数据源的信息,这些数据源包括内部工资系统、销售系统、库存系统等。自然需要整合这些数据,为开发ETL工具铺平道路。
数据仓库在20世纪80年代流行起来,这种类型的数据库可以集成来自多个来源的数据。 问题在于许多数据仓库只匹配特定供应商的ETL工具。因此,很多企业经历了多ETL工具的很长一段过渡期。
随着时间的推移,数据源、数据类型以及ETL供应商的数量均急剧增加,ETL工具的价格开始逐渐降低,这让很多中端市场也可以使用ETL工具自行解决问题,帮助公司建立现代化的数据授权的企业。
现代企业部署ETL工具的三种方式
当ETL工具的成本可以被更多企业接受之后,开源ETL工具的发展也开始加速。现代企业部署ETL工具的方式无非有三种:
- 根据自身情况选择合适的开源ETL工具,整个过程需要更多的功能、灵活性与技术支持。(感兴趣的可以查看开源解决方案清单《主流开源ETL工具清单及优劣说明!》)
- 与现有供应商合作,选择一种能够很好处理当前多样数据流和数据源问题的方案,当然,这些供应商一般就是大品牌的厂商,比如IBM、微软等,成本较高;
- 选择一些现代的ETL商用工具,这些工具往往是一些新兴企业支持的,可能也会有不错的开源版本。重要的是,这些工具往往是更切合企业在云计算、大数据环境下的需求,这些方案通常是基于云端的,并且可以提供端到端的ETL支持。(感兴趣的可以阅读上一篇文章《现代ETL工具与传统解决方案清单附对比》,了解可用的工具清单。
开源ETL解决方案的优缺点!
ETL需要从不同的系统中提取数据并将其转换为符合数据仓库格式要求的结果,再将其加载到数据仓库中。
- 提取—提取是从一个或多个来源(在线,实体,传统数据库,Salesforce或其他许多来源)检索数据的过程。检索数据后,ETL将其加载到一个临时区域并为下一阶段做好准备。
- 转换—转换是一个关键功能,因为它为数据集成铺平了道路,就像之前有不同渠道的零售商一样,转换可能涉及重新格式化,但有时这一步骤还有其他类型的操作,比如货币金额从美元到欧元的转换计算。
- 加载—成功将传入数据插入到目标数据库、数据存储或数据仓库中。
开源解决方案可能只足以解决上述三个功能其中之一,但是大部分开源解决方案提供了全部功能。如果企业对自己的技术能力足够自信,可以考虑开源ETL解决方案,因为现在不少开源解决方案不过是商用方案的功能限制版本,并不是真正社区驱动的项目,即便出现问题也可以联系到专业的厂商团队帮忙解决。
对于非关键型或小型项目,开源ETL工具是很合适的选择,成本低且企业可接受非关键型任务上的较低出错率。但是,开源解决方案最大的问题是可能无法解决当今依赖数据决策的企业的复杂动态问题,真正的解决方案不仅需要处理当前存在的大量数据源和数据类型,还需要处理每天都在新增的数据源和数据类型。开源ETL解决方案因为更新不及时很可能让数据海啸瞬时压倒,这一点倒是和不少传统方案不谋而合。但是,成本和性能从来都是等价的,低成本的选择需要企业有较大的包容量,并且不少开源方案其实已经有了很多成功案例可参考。
现代ETL工具:更快,上云,易扩展!
传统的内部部署ETL捆绑了一系列令人头痛的问题。例如,它们通常是内部构建的,很快就会变得过时或缺乏重要功能;维护费用昂贵且耗时;只支持批处理(而不是实时处理),并且不能很好扩展。
相比之下,现代ETL(如Alooma)工具可以在各种数据源和数据流中捕捉、转换和存储数百万(或数十亿)事务的数据。这可以让数据真正为企业带来价值,比如分析历史记录以优化销售流程,实时调整价格和库存,利用ML / AI创建预测模型,开发新的收入流,转向云端等。
现代ETL工具的主要优点是:
- 不拘泥于格式且灵活,足以快速轻松地集成新的数据源。
- 能够实时处理海量数据,实现闪电般的速度分析。
- 易于扩展,因为它利用了弹性云。
- 全托管
- 安全
现代ETL工具和开源方案的边界正在逐渐模糊,成本大多介于开源和传统之间,但是,这类方案一开始就是奔着日益增长的、基于网络的大数据流量所创建的,因此对企业在云计算和大数据时代出现的新需求具备极佳的适应能力,但这类解决方案的能力到底如何,我们会在后续的文章中继续跟进。
结语
传统商用解决方案:适用关键型任务、成本高、服务好、扩展性差,不适合海量复杂数据源的环境。传统工具最大的限制是被设计成批处理模式,甚至仅有批处理模式,很难整合跨平台数据源。查找和解决问题过程十分耗时,需要研发人员逐个排查。
开源ETL工具:适用非关键型和小型项目,成本低,服务分情况,社区驱动的解决方案服务一般,只能依靠社区力量;企业驱动的解决方案可寻求厂商帮助。对海量数据的应变能力一般,需要企业内部具备一定研发实力。
现代ETL工具:成本介于上述两者之间,其中含有个别开源方案,适用于海量复杂的数据源环境,扩展性良好。部分方案内置错误问题响应、监控及报告流程,部分需要通过简单编码实现,后续服务要根据厂商而定,定制化强。