当前位置: 首页 > news >正文

ETL 与 ELT的关键区别

ETL 和 ELT 之间的主要区别在于数据转换发生的时间和地点 — 这些变化可能看起来很小,但会产生很大的影响!

ETL 和 ELT 是数据团队引入、转换并最终向利益干系人公开数据的两种主要方式。它们是与现代云数据仓库和 ETL 工具的开发并行发展的流程。

在任一过程中,ETL/ELT 中的字母代表:

  • E:提取,当原始数据从不同的数据源中提取时。这些数据源通常包括后端数据库、营销和电子邮件 CRM、广告平台等。
  • L:加载,当数据加载到中央数据仓库时。
  • T:转换,当原始数据被建模为统一、有意义和标准化的格式时。

这两个过程的分歧在于转换层的时间和位置。简而言之,在 ETL 过程中,原始数据的转换发生在数据仓库之前。在 ELT 流程中,原始数据已丢弃后,数据仓库中会发生转换;在这种方法中,原始数据和转换后的数据都位于数据仓库中。

这不仅仅是语义,转换发生的时间和地点的顺序在数据团队如何存储、治理、标准化、建模和测试数据方面起着至关重要的作用。使用此页面了解这两个过程的不同之处、每个选项的优点和缺点,以及哪种方法最适合您和您的团队。

ETL 与 ELT:高级概述

ETL 和 ELT 之间的主要区别在于转换的时间和位置:它是在数据加载到数据仓库之前还是在存储之后发生。这种转换顺序对以下方面具有相当大的影响:

  • 实施管道所需的技术技能,
  • 支持每个选项所需的产品数量和复杂性,
  • 技能团队雇用的数据团队本身的结构,以及
  • 数据堆栈的准备性和灵活性。

在我们深入了解这些差异的细节之前,让我们清楚地定义什么是 ETL 和 ELT,以及为什么 ELT 已成为分析行业的最新现象。

什么是 ETL?

ETL 或“提取、转换、加载”是首先从数据源中提取数据,对其进行转换,然后将其加载到目标数据仓库的过程。在 ETL 工作流中,许多有意义的数据转换都发生在下游商业智能 (BI) 平台的此主要管道之外。

在许多方面,ETL 工作流可以重命名为 ETLT 工作流,因为相当一部分有意义的数据转换发生在数据管道之外。相同的转换可能发生在 ETL 和 ELT 工作流中,主要区别在于何时(在主 ETL 工作流内部或外部)以及转换数据的位置(ETL 平台/BI 工具/数据仓库)。

什么是 ELT?

提取、加载、转换 (ELT) 是首先从不同数据源提取数据,然后将其加载到目标数据仓库中,最后转换数据的过程。

ELT 已成为如何在现代数据仓库中管理信息流的范例。这代表了以前处理数据的方式的根本转变,当时ETL是大多数公司实施的数据工作流。

从 ETL 过渡到 ELT 意味着您不再需要在将数据初始加载到数据仓库期间捕获转换。相反,您可以加载所有数据,然后在其上构建转换。数据团队报告说,与传统的 ETL 工作流相比,ELT 工作流有几个优点,我们将在下面的部分中介绍这些优势。

ETL 和 ELT 之间的核心区别和相似之处

您可以阅读交替使用 ETL 和 ELT 的其他文章或技术文档。在纸面上,唯一的区别是 T 和 L 出现的顺序。然而,这种简单的字母切换会彻底改变数据在企业系统中存在和流动的方式。

在这两个过程中,来自不同数据源的数据以类似的方式提取。但是,在 ELT 工作流中发生转换之前,数据将直接加载到目标仓库中。现在,原始数据和转换后的数据都可以存在于数据仓库中。在 ELT 工作流中,数据从业者在有机会探索和分析原始数据后,可以灵活地对数据进行建模。ETL 工作流可能更具限制性,因为转换在提取后立即发生。

下面,我们分解了两者之间的其他一些主要区别:

英语电子离
所需的编程技能通常几乎不需要代码即可将数据提取并加载到数据仓库中。SQL 是转换背后的主要力量。通常需要自定义脚本或相当大的数据工程提升,以便在加载之前提取和转换数据。Python,Scala和SQL通常用于转换数据本身。
关注点分离提取层、加载层和转换层可以由不同的产品显式分离出来。ETL 过程通常封装在一个产品中。
变换的分布由于转换是最后发生的,因此建模过程具有更大的灵活性。首先担心将数据放在一个地方,然后您有时间探索数据以了解转换数据的最佳方式。由于转换发生在将数据加载到目标位置之前,因此团队必须先进行彻底的工作,然后才能确保正确转换数据。大量转换通常发生在 BI 层的下游。
数据团队角色ELT 工作流使了解 SQL 的数据团队成员能够创建自己的提取和加载管道及转换ETL 工作流通常需要具有更高技术技能的团队来创建和维护管道

ELT 如何发展现代分析空间

为什么近年来ELT的采用增长如此之快?几个原因:

  • 大量廉价的云存储和现代数据仓库。Redshift 和 Snowflake 等现代数据仓库的创建使得各种规模的团队都可以以更有效的成本存储和扩展他们的数据。这是 ELT 工作流程的巨大推动因素。
  • 开发低代码或无代码数据提取器和加载器。Fivetran 和 Stitch 等需要很少技术专业知识的产品可以从许多数据源中提取数据并将其加载到许多不同的数据仓库中,这有助于降低进入 ELT 工作流程的门槛。数据团队现在可以减轻提取数据和创建复杂转换所需的一些数据工程负担。
  • 一个真正的基于代码、版本控制的转换层,带有 dbt 的开发。在开发dbt之前,没有单一的转换层产品。dbt 帮助数据分析师将软件工程最佳实践(版本控制、CI/CD 和测试)应用于数据转换,最终允许任何了解 SQL 的人参与 ELT 过程。
  • 近年来,ELT层和技术之间的兼容性不断提高。随着提取、加载和转换层的扩展,这些层与云存储紧密集成,ELT 工作流从未如此易于访问。例如,Fivetran 创建和维护 dbt 包,以帮助为它们连接到的数据源编写 dbt 转换。

那么什么是适合您的正确选择?

您已经阅读了本文,反思了当前数据堆栈的胜利和挣扎,并最终提出了一个黄金问题:哪个流程最适合您、您的数据团队和您的业务?

下面,我们分解了您在考虑如何通过数据增强团队和业务能力时应采取的关键考虑因素,以及 ELT/ELT 流程如何影响该方法。

以下内容对您有多重要?

  • 控制数据转换的版本
  • 将原始数据和建模数据存储在统一位置
  • 自动测试和记录数据
  • 使参与数据管道工作的人员民主化 - 您是否希望将数据分析师纳入数据转换的行列,并消除数据工程师对复杂数据管道的责任?
  • 核心业务指标的治理和标准化

如果这些事情对你以及你的数据、团队和业务的健康至关重要,请考虑更多地了解 dbt(鼓励数据从业者体现软件工程最佳实践的工具)如何改变现代分析空间。

相关文章:

ETL 与 ELT的关键区别

ETL 和 ELT 之间的主要区别在于数据转换发生的时间和地点 — 这些变化可能看起来很小,但会产生很大的影响! ETL 和 ELT 是数据团队引入、转换并最终向利益干系人公开数据的两种主要方式。它们是与现代云数据仓库和 ETL 工具的开发并行发展的流程。 在任…...

Thinkphp 6.0模版的杂项和表单令牌

本节课我们来学习一下模版的杂项和表单令牌的功能。 一.模版的杂项 1. 有时,我们需要输出类似模版标签或语法的数据,这时会被模版解析; 2. 此时,我们就使用模版的原样输出标签{literal}; {literal} 变量标…...

linux常问

查看当前进程 ps -l 列出与本次登录有关的进程信息; ps -aux 查询内存中进程信息; ps -aux | grep * 查询 *进程的详细信息; top 查看内存中进程的动态信息; kill -9 pid 杀死进程。...

ToBeWritten之物联网MQTT、Z-Wave等协议

也许每个人出生的时候都以为这世界都是为他一个人而存在的,当他发现自己错的时候,他便开始长大 少走了弯路,也就错过了风景,无论如何,感谢经历 转移发布平台通知:将不再在CSDN博客发布新文章,敬…...

C# 行为型模式之责任链模式

责任链模式:请求从链中的一个对象传递到下一个对象,直到请求被响应为止。通过这种方式在对象之间去除耦合。 用途:请假审批、采购审批等。 案例介绍:以公司采购东西为例子来实现责任链模式。公司规定,采购架构总价在…...

layui实现请求前添加一个加载 loading 的效果,并在请求成功后关闭

1.使用 layui 的 layer 组件来实现请求前添加一个加载 loading 的效果,并在请求成功后关闭。 $("#switch").click(function() {layer.confirm(确认切换至英文环境?, function(index) {var loadingIndex layer.load(1, {shade: [0.1,#fff] //0.1透明度的…...

iostat / sar 命令详解

作用 iostat主要用于监控系统设备的IO负载情况&#xff0c;根据这个可以看出当前系统的写入量和读取量&#xff0c;CPU负载和磁盘负载。 iostat属于sysstat软件包。可以用yum install sysstat 直接安装。 iostat用法 1.用法&#xff1a;iostat [选项] [<时间间隔>] […...

2023-04-06:拥抱Golang,优化FFmpeg音频编码器,探究encode_audio.c的内部结构。

2023-04-06&#xff1a;拥抱Golang&#xff0c;优化FFmpeg音频编码器&#xff0c;探究encode_audio.c的内部结构。 答案2023-04-06&#xff1a; 见moonfdd/ffmpeg-go库。 这段代码是一个示例程序&#xff0c;用于将音频 PCM 数据编码为 MP2 格式的音频文件。下面是代码的详细…...

归排、计排深度理解

归并排序&#xff1a;是创建在归并操作上的一种有效的排序算法。算法是采用分治法&#xff08;Divide and Conquer&#xff09;的一个非常典型的应用&#xff0c;且各层分治递归可以同时进行。归并排序思路简单&#xff0c;速度仅次于快速排序&#xff0c;为稳定排序算法&#…...

设计原则(单一职责原则 开放封闭原则 里氏替换原则 依赖倒置原则 接口隔离原则 迪米特法则)

设计原则单一职责原则(SRP)从三大特性角度看原则:应用的设计模式&#xff1a;开放封闭原则(OCP)从三大特性角度看原则:应用的设计模式&#xff1a;里氏替换原则(LSP)从三大特性角度看原则:应用的设计模式&#xff1a;依赖倒置原则(DIP)从三大特性角度看原则:应用的设计模式&…...

好像模拟了一个引力场

( A, B )---3*30*2---( 1, 0 )( 0, 1 ) 做一个网络让输入只有3个节点&#xff0c;每个训练集里有4张图片&#xff0c;让B的训练集全为0&#xff0c;排列组合A&#xff0c;观察迭代次数平均值的变化。 A-B 迭代次数 0 1 0 2*0*0*7-0*0*0*0 12957.31 0 0 0 2*0*0*7-0*0…...

MySQL优化——Explain分析执行计划详解

文章目录前言一. 查看SQL执行频率二. 定位低效率执行SQL三. explain分析执行计划3.1 id3.2 select_type3.3 table3.4 type3.5 key3.6 rows3.7 extra四. show profile分析SQL前言 在应用的的开发过程中&#xff0c;由于初期数据量小&#xff0c;开发人员写 SQL 语句时更重视功能…...

xcode 14.3 file not found libarclite_iphoneos.a

最近升级到xcode 14.3 版本的同学&#xff0c;会遇到这个一个问题 File not found: /Users/johnson/Downloads/Xcode-beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/arc/libarclite_iphoneos.a 解决方法(亲测有效) 在podfile文件中&#xff0c;增…...

基于AI+数据驱动的慢查询索引推荐

目前&#xff0c;美团内部每天产生的慢查询数量已经超过上亿条。如何高效准确地为慢查询推荐缺失的索引来改善其执行性能&#xff0c;是美团数据库研发中心面临的一项挑战。为此&#xff0c;我们与华东师范大学开展了科研合作&#xff0c;在AI领域对索引推荐进行了探索和实践&a…...

【ESP32】嵌入式FreeRtos--Task

FreeRTOS中文数据手册&#xff1a;https://www.freertos.org/zh-cn-cmn-s/RTOS.html 任务函数 任务函数描述xTaskCreate()使用动态的方法创建一个任务xTaskCreateStatic()使用静态的方法创建一个任务xTaskCreatePinnedToCore指定任务运行的核心(最后一个参数)vTaskDelete()删…...

【操作系统】面试官都爱问的进程调度算法

【操作系统】面试官都爱问的进程调度算法 文章目录【操作系统】面试官都爱问的进程调度算法先来先服务调度算法最短作业优先调度算法高响应比优先调度算法时间片轮转调度算法最高优先级调度算法多级反馈队列调度算法进程调度算法也称 CPU 调度算法&#xff0c;毕竟进程是由 CPU…...

Spring-Web spi机制解析

org.springframework.web.SpringServletContainerInitializer#onStartup 在这里打个断点&#xff0c;查看程序是否会进来 可以发现程序进来了&#xff1a;主要spi机制&#xff0c;看看这里做了什么操作&#xff1f; 去寻找所有实现了WebApplicationInitializer的类 将符合条件…...

数据结构|将链表中小于0的数全部放在大于0的数的前面

题1&#xff1a; 某带头结点的非空单链表L中所有元素为整数&#xff0c;结点类型定义如下&#xff1a; typedef struct node { int data; struct node *next; } LinkNode; 设计一个尽可能高效的算法&#xff0c;将所有小于零的结点移到所有大于等于零的结点的前面。 分…...

分享106个ASP影音娱乐源码,总有一款适合您

分享106个ASP影音娱乐源码&#xff0c;总有一款适合您 106个ASP影音娱乐源码下载链接&#xff1a;https://pan.baidu.com/s/13k8UaJrCci_z4Q0gQbtDtg?pwdjq44 提取码&#xff1a;jq44 Python采集代码下载链接&#xff1a;采集代码.zip - 蓝奏云 我的博客地址&#xff1a;亚…...

win10 PyCharm Anaconda过程记录

1、Anaconda用来配置不同的虚拟环境 进入 Anaconda Prompt 输入conda activate Hui&#xff08;此为自己创建的放置虚拟环境的文件夹&#xff09; 编译运行过程中出现No module named seaborn后 pip install seaborn...

3步打造你的专属游戏串流服务器:Sunshine终极指南

3步打造你的专属游戏串流服务器&#xff1a;Sunshine终极指南 【免费下载链接】Sunshine Self-hosted game stream host for Moonlight. 项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine 还在为无法在客厅大电视上玩PC游戏而烦恼吗&#xff1f;想在平板上继…...

Harness层数据清洗自动化

Harness层数据清洗自动化:解放数据团队生产力的核心方案 开篇引子 上周我帮一家年GMV超20亿的电商客户排查数据故障,他们的数仓团队反馈连续3天的用户订单报表交易额比实际支付金额少了1200万,排查了3个小时才定位到根因:新接入的外卖业务系统的订单状态字段新增了枚举值6…...

蓝牙窃密攻防实战:从协议漏洞到固件后门,国家安全部警示的近场威胁全解析

2026年5月11日&#xff0c;国家安全部官方发布重磅警示&#xff0c;明确指出蓝牙设备已成为不法分子实施近距离窃密、监听、跟踪的"隐形獠牙"。从日常使用的无线耳机、智能手表&#xff0c;到办公场景的蓝牙键鼠、会议音箱&#xff0c;再到工业控制中的蓝牙传感器&am…...

别再手动查字典了!用EggNOG-mapper 5.0一键搞定GO/KEGG/COG注释(附完整流程)

基因功能注释自动化&#xff1a;EggNOG-mapper 5.0实战指南 在基因组学研究中&#xff0c;功能注释是连接序列数据与生物学意义的关键桥梁。传统的手动注释流程往往需要研究人员在多数据库间反复切换&#xff0c;不仅耗时费力&#xff0c;还容易引入人为误差。而EggNOG-mapper…...

HS2-HF_Patch:让Honey Select 2体验全面升级的智能补丁

HS2-HF_Patch&#xff1a;让Honey Select 2体验全面升级的智能补丁 【免费下载链接】HS2-HF_Patch Automatically translate, uncensor and update HoneySelect2! 项目地址: https://gitcode.com/gh_mirrors/hs/HS2-HF_Patch 你是否曾经因为语言障碍而无法完全享受Honey…...

AI应用开发面试题总结(非八股文)

前端请求超过 3 秒&#xff0c;怎么分析原因&#xff1f; 1.看前端和网络 F12开发者模式去查看network&#xff0c;首先判断是前端问题还是后端问题 通过查看接口 Waiting 时间进行判断是后端响应时间太长还是说前端渲染问题 2.给后端接口添加日志进一步定位后端问题 3.如果…...

Cursor智能体监控工具:本地部署与API成本可视化实战

1. 项目概述&#xff1a;一个为开发者量身打造的Cursor智能体监控工具如果你和我一样&#xff0c;是一位重度依赖Cursor进行编码的开发者&#xff0c;那你一定对它的“智能体”&#xff08;Agent&#xff09;功能又爱又恨。爱的是&#xff0c;它能理解上下文、自动补全代码、甚…...

PaspberryPi推流

1. 创建启动脚本sudo nano /usr/local/bin/rtsp-stream.sh添加内容&#xff1a;#!/bin/bash# RTSP 音视频推流服务脚本 # 适配 Raspberry Pi 3B Camera Module USB 麦克风# 配置项 WIDTH1280 HEIGHT720 FRAMERATE15 VIDEO_BITRATE2000000 AUDIO_DEVICE"hw:1,0" …...

音频解密的终极方案:qmcdump高效解密QQ音乐加密格式全解析

音频解密的终极方案&#xff1a;qmcdump高效解密QQ音乐加密格式全解析 【免费下载链接】qmcdump 一个简单的QQ音乐解码&#xff08;qmcflac/qmc0/qmc3 转 flac/mp3&#xff09;&#xff0c;仅为个人学习参考用。 项目地址: https://gitcode.com/gh_mirrors/qm/qmcdump 你…...

PP 蜂窝板挤出成型核心原理与关键设备解析

PP 蜂窝板挤出成型核心原理与关键设备解析一、PP 蜂窝板材料特性与成型难点PP&#xff08;聚丙烯&#xff09;蜂窝板兼具质轻、高刚性、耐水防潮、可循环四大优势&#xff0c;在物流、建筑、车厢、包装领域替代传统实心板材趋势明显。 其成型难点集中在&#xff1a;蜂窝芯超薄、…...