在数据仓库里对于数据的加工一直有一个很有意思的话题,就是ETL和ELT,我记得零几年那会儿,刚开始有商业智能或者数据仓库概念的时候,只有ETL,直到后来行业逐渐成熟了起来,才又有了ELT的概念。

他们到底是怎么回事从技术角度来解释的方法很多,最近在Linkedin上看到一个图,很有意思,大体如下:

技术领域的理解

这个图片生动的展示了ETL和ELT的区别,也就是你是把水果加工成果汁之后拿去卖,还是把水果运走之后再找地方加工成果汁之后然后拿去卖。

在我们的实际的数据仓库项目中,对应的区别就是,你要去获取的数据,是先原封不动的拿过来,还是拿过来的时候就做好相应的转换。

现实世界中的理解以及问题的提出

我很喜欢这个图,所以在我朋友圈发了出来,很多朋友都看到了,都对这种解释方式很认可,包括我媳妇,虽然她不是做数据方面的,但是她作为一个领域外的人居然看懂了。

不过她的一个问题很有意思,就是什么情况下应该选择前者,什么情况下选择后者呢?

所以在我们数据仓库的建设中,实际上就是根据项目规模的大小来决定,如果是个小型的项目,那么就ETL,如果是大型项目那么就ELT.

所以回到现实世界,回到这个图,就是取决于水果厂的规模,如果只是村里的小规模简单加工,都是农户自己家采摘自己家地里的水果并且自己加工的,比如老张家的果汁,老李家的果汁。

但如果你是一个国内比较大的水果厂,通常这些大厂会在水果产地建立一个比较大的工厂,他们不会从老张家或者老李家去收购果汁,而是会从不止老李家或者老张家去收购水果,把村里镇里或者市里所有的水果都收购了,统一加工处理。这样才能保证产量的基础之上,提高生产效率。而老张家和老李家也不用担心每年的水果和自产的果汁都卖给谁。

关于ETL和ELT的进一步衍生

在数据仓库领域中,后续除了从ETL衍生出了ELT,实际也衍生出过更进一步的方法,比如ETLT,也就是在数据E之后先进行一个T,专注于数据的标准化处理,或者是异构数据的处理。对应到果汁的故事里,就好比在地方工厂里我收集到水果,先把水果加工成浓缩果汁,然后再送给下一步的工厂,加工或者还原成果汁,比如混合型果汁,这种方式应该是目前最主流的方式。当然这又涉及到了原榨果汁和浓缩果汁的区别,讨论起来除了成本和市场占有量之外仍是一个非常复杂的话题,这里超出了本文的范围所以不过多讨论。

关于本文的一些补充:

由于最近在做跟AI相关的事,以前没接触的时候没指望它能帮助太多,但是逐渐了解并且看身边的人使用之后才发现这个东西有时候真的能帮你打开一扇窗。

比如对于这个果汁加工问题的理解,刚开始我以为大厂都是从全国收集水果然后到国内某一个加工大厂一起护理的,经过字节旗下的豆包查询后,我了解到原来大厂不是这么操作的,并且进一步了解到他们都是在产地周边建厂,以减少水果在运输中产生的损耗。所以为了严谨我修改了现实世界中故事的讲述方式。

当然在我对我的理解不是100%确定正确的情况下,我也会在豆包里问ETL和ELT的区别,豆包会汇总它所收集到的信息帮我提炼出区别,让我快速理解,好判断出我描述的方式是否有很大的偏差。

经过这个写作的过程,我们可以看到AI确实是可以帮助我们解决一些特定的问题,而实际了解下不难发现,实际很多人都已经开始这么工作了,原来自己被时代落下了这么远的距离。

所以无论如何,即使你不从事AI方面的工作,我也建议你了解下AI工具,比如我提到的字节旗下的豆包,真的是一个很亲民的平台,没有那么多的门槛,直接拿来用就行。

当然如果你是一个程序员,你也可以了解下字节旗下的AI代码助手,通过博客园顶部的链接就可以了解到,用赵本山的话说:谁用谁知道。

ETL vs ELT的更多相关文章

  1. 使用 Hive 作为 ETL 或 ELT 工具

    用来处理数据的 ETL 和 ELT 工具的概述 数据集成和数据管理技术已存在很长一段时间.提取.转换和加载(ETL)数据的工具已经改变了传统的数据库和数据仓库.现在,内存中转换 ETL 工具使得提取. ...

  2. DataPipeline CTO陈肃:从ETL到ELT,AI时代数据集成的问题与解决方案

    引言:2018年7月25日,DataPipeline CTO陈肃在第一期公开课上作了题为<从ETL到ELT,AI时代数据集成的问题与解决方案>的分享,本文根据陈肃分享内容整理而成. 大家好 ...

  3. 啥是ETL、ELT

    ETL就是Extract.Transfrom.Load即抽取.转换.加载三个英文单词首字母的集合.抽取:就是从源系统抽取需要的数据,这些源系统可以是同构也可以是异构的:比如源系统可能是Excel电子表 ...

  4. Kettle学习系列之数据仓库、数据整合、ETL、ELT和EII之间的区别?

    不多说,直接上干货! 在数据仓库领域里,的一个重要概念就是数据整合(data intergration).数据整合它就是把不同数据库中的数据整合到一起,对外提供统一的数据视图. 数据整合最典型的案例就 ...

  5. 数据分析你需要知道的操作:ETL和ELT

    如果您接触过数据仓库, 您可能会使用 ETL (Extract. Transform. Load) 或 ELT ( Extract.Load. Transform) 将您的数据从不同的来源提取到数据仓 ...

  6. 【原创】大数据基础之ETL vs ELT or DataWarehouse vs DataLake

    ETL ETL is an abbreviation of Extract, Transform and Load. In this process, an ETL tool extracts the ...

  7. 几款开源的ETL工具及ELT初探

    ETL,是英文 Extract-Transform-Load 的缩写,用来描述将数据从来源端经过抽取(extract).转换(transform).加载(load)至目的端的过程.ETL 是构建数据仓 ...

  8. ETL的两种架构——ETL架构和ELT架构优劣势对比

    ​ 导读: 作为现代企业和组织机构的重要资源,信息是进行科学管理与决策分析的基础.ETL 则是把数据转换为信息.知识的关键步骤之一.在 AI 应用场景下,数据集成有哪些特点?随着 AI 应用场景越来越 ...

  9. [目录]Pentaho Kettle解决方案:使用PDI构建开源ETL解决方案

    第一部分:开始 1         ETL入门 1.1   OLTP和数据仓库对比 1.2   ETL是什么 1.2.1          ETL解决方案的演化过程 1.2.2          ET ...

  10. 数据仓库和ETL建设

    这个是Ralph kimball ETL的书籍,其中第10章主要讲如何管理数据仓库团队,ETL团队是属于数据仓库团队的:第一章和第二章是概况性的介绍,强烈建议大家都看下1/2/10章,对于大家形成对数 ...

随机推荐

  1. ORB算法介绍 Introduction to ORB (Oriented FAST and Rotated BRIEF)

    Introduction to ORB (Oriented FAST and Rotated BRIEF) 1. Introduction ORB(Oriented FAST and Rotated ...

  2. emlog pro 文章编辑器(editor.md)的快捷键

    这里是一张图片,上面显示目前 emlog pro 编辑器所有**有效**的快捷键 (注意,是有效的快捷键,与 editor.md 官方公布的有出入,有些在系统是不可用的),对于长期使用emlog写作的 ...

  3. 【调研】Vision Language Model Safety

    Adversarial Attacks White-box Attacks Task-specific Attacks 的目标是针对某个具体的任务(如图像描述生成.指代表达理解等),通过精心设计的对抗 ...

  4. 抽象类的注意事项、abstract关键字的冲突--java进阶day02

    1.注意事项 1.抽象类不允许创建对象 2.抽象类存在构造方法 3.抽象类中可以存在普通成员方法 4.抽象类的子类存在两种处理方式 第一种不多解释,主要讲第二种,子类继承了抽象类,相当于子类里面有了抽 ...

  5. 2025成都.NET开发者Connect圆满结束

    大家好,我是Edison. 2025年成都.NET开发者Connect线下聚会活动于3月29日圆满结束,本次活动吸引了约30位.NET开发者朋友参与,他们分别来自成都各家技术公司,我们相聚城南华府国际 ...

  6. 【QT】使用Qxlsx读取Excel单元格中函数表达式的结果值

    [QT]使用Qxlsx读取Excel单元格中函数表达式的结果值 零.起因 是这样的,目前朋友托我写一款模板生成软件,任务是先把他写的程序文件复制一份出来,然后再根据Excel中对应位置的单元格的值,修 ...

  7. 《机器人SLAM导航核心技术与实战》第1季:第9章_视觉SLAM系统

    <机器人SLAM导航核心技术与实战>第1季:第9章_视觉SLAM系统 视频讲解 [第1季]9.第9章_视觉SLAM系统-视频讲解 [第1季]9.1.第9章_视觉SLAM系统_ORB-SLA ...

  8. study Rust-1【Rust的特点和应用场景】

    Rust语言的特点 高性能 - Rust 速度惊人且内存利用率极高.由于没有运行时和垃圾回收,它能够胜任对性能要求特别高的服务,可以在嵌入式设备上运行,还能轻松和其他语言集成. 可靠性 - Rust ...

  9. Pycharm两种快速激活方式(附最新激活码和插件)

    小张的Pycharm最近弹出提示框 Your license has expired提示过期....纳尼!!!! 是不是看到这个也很头疼,.于是我就在想有没有一种方式可以让他永久免费的,于是小张从网上 ...

  10. zk源码—3.单机和集群通信原理

    大纲 1.单机版的zk服务端的启动过程 (1)预启动阶段 (2)初始化阶段 2.集群版的zk服务端的启动过程 (1)预启动阶段 (2)初始化阶段 (3)Leader选举阶段 (4)Leader和Fol ...