企业有了ELT就不需要ETL了?别被忽悠了

最近几年,ELT(Extract, Load, Transform)这个词在数据圈里挺火。有些人甚至说,有了ELT,ETL(Extract, Transform, Load)就该退出历史舞台了。作为一个干了十多年ETL的老兵,我觉得有必要说道说道。

先说说这两个概念。ETL是先把数据抽取出来,经过处理转换后再加载到目标系统。ELT则是先把原始数据加载进来,然后在目标系统里做转换。乍一看,ELT似乎更高效,毕竟少了中间环节。

ETL架构,大部分转换在ETL中完成:

ELT架构,ETL的转换是在数仓中通过调度平台来实现的:

ELT确实有它的优势。比如说:

  • 数据加载快,因为不用预先处理

  • 灵活性强,想怎么转换都行

  • 充分利用目标系统(通常是数据仓库)的计算能力

但是,这就意味着ETL没用了吗?那可不是。

扫描二维码关注公众号,回复: 17399824 查看本文章

首先,ETL的应用范围远不止数据仓库。很多人以为ETL就是为了给数仓导数据,其实不然。ETL还经常用作数据总线,在不同的业务系统之间打通数据。比如,把CRM系统的客户数据同步到ERP系统,或者把线上订单数据传到物流系统。这种场景下,ETL的作用无可替代。

其次,并不是所有数据都适合直接加载。有些数据质量差,有些格式复杂,直接丢进去会让后续工作变得一团糟。ETL在数据进入主系统前就能解决这些问题。

再者,很多企业的数据来源五花八门,格式各异。ETL可以在中间层统一处理,让数据仓库专注于分析而不是清洗。

还有就是安全性。ETL可以在数据进入核心系统前就做好脱敏、过滤等工作,降低风险。

值得一提的是,现代的ETL工具其实已经包含了ELT的功能。它们可以根据需要灵活选择在哪个阶段进行转换。这就意味着,使用ETL工具并不等于放弃了ELT的优势。

那么,到底该用哪个?其实要根据具体情况来定:

  • 如果是跨系统的数据集成,ETL更合适。

  • 如果数据质量高,格式统一,而且后续分析需求变化快,用ELT不错。

  • 如果数据来源复杂,质量参差不齐,安全要求高,还是ETL更靠谱。

  • 大多数情况下,两种方法一起用效果最好。

ETL和ELT各有所长。ETL不仅仅是为了数据仓库,它在企业数据集成中扮演着重要角色。同时,很多ETL工具已经能够灵活地支持ELT模式。明白了它们的特点,才能在合适的地方用合适的工具。别被新概念忽悠了,关键是解决实际问题。

选择数据处理方案时,要考虑你的具体需求:是简单的数据仓库加载,还是复杂的跨系统集成?是否需要严格的数据质量控制?系统间的实时性要求如何?回答这些问题,才能找到最适合你的解决方案。

微软开源基于 Rust 的 OpenHCL 字节跳动商业化团队模型训练被“投毒”,内部人士称未影响豆包大模型 华为正式发布原生鸿蒙系统 OpenJDK 新提案:将 JDK 大小减少约 25% Node.js 23 正式发布,不再支持 32 位 Windows 系统 Linux 大规模移除疑似俄开发者,开源药丸? QUIC 在高速网络下不够快 RustDesk 远程桌面 Web 客户端 V2 预览 前端开发框架 Svelte 5 发布,历史上最重要的版本 开源日报 | 北大实习生攻击字节AI训练集群;Bitwarden进一步脱离开源;新一代MoE架构;给手机装Linux;英伟达真正的护城河是什么?
{{o.name}}
{{m.name}}

猜你喜欢

转载自my.oschina.net/u/6912122/blog/15973244