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

news2024/12/26 0:05:05

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

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

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

图片 1

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

图片 1

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

f920b48191a959672e42f720b8ba33a.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2160545.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

人工智能代表——无人驾驶:萝卜快跑

人工智能如何改变我们的出行:以“萝卜快跑”无人驾驶为例 随着科技的飞速发展,人工智能(AI)正以前所未有的方式渗透并改变着我们的日常生活,其中出行方式的变革尤为显著。在众多AI驱动的出行创新中,“萝卜…

OpenMV学习第一步安装IDE_2024.09.20

用360浏览器访问星瞳科技官网,一直提示访问不了。后面换了IE浏览器就可以访问。第一个坑。

2. 程序结构

在本章中,我们将开始做一些真正称得上编程的事情。我们将扩展对 JavaScript 语言的掌握,不再局限于目前所见的名词和句子片段,而是能够表达有意义的散文。 表达式和语句 在第 1 章中,我们创建了值,并应用运算符来获取…

【Python报错已解决】NameError: name ‘F‘ is not defined

🎬 鸽芷咕:个人主页 🔥 个人专栏: 《C干货基地》《粉丝福利》 ⛺️生活的理想,就是为了理想的生活! 专栏介绍 在软件开发和日常使用中,BUG是不可避免的。本专栏致力于为广大开发者和技术爱好者提供一个关于BUG解决的经…

《百家姓》中排名第八却是中国人口第一大姓-王姓

王姓在《百家姓》中虽然排名第八,但根据近年来的统计数据和实际人口分布,王姓已成为中国第一大姓。以下是对王姓作为“百家姓之首”的详细解析: 一、人口数量与分布 人口数量:截至当前时间(2024年)&#x…

打破网络安全域限制:跨区域文件传输的创新解决方案

随着经济的快速发展,很多企业在异地都会建立分支机构,比如跨国企业在国外建设分公司,金融机构全国各地都有多级分支机构和网点,集团型企业会设立多家子公司等等。 跨网络安全域文件交换,是大型企业会存在的跨区域文件传…

项目记录点

MES项目点 一、项目局域网访问地址创建 host: 0.0.0.0,二、select下拉表单内容 1、默认值设置为undefined&#xff0c;placeholder才生效 <a-col :sm"24" :md"12" :xl"6"><a-form-itemname"opeCodeList":rules"[{requ…

Pinia从安装到使用

什么是Pinia 添加Pinia到vue项目 使用Pinia实现计数器案例 counter.js import {defineStore} from "pinia"; import {ref} from "vue";export const useCounterStore defineStore(coutner,()>{//定义数据&#xff08;state&#xff09;const count r…

低光照图像增强算法-图像增强(代码+教程)

这是一个使用深度学习技术进行低光照图像增强的项目。是一种旨在提高低光照条件下拍摄的图片质量的方法。该方法利用了注意力机制来指导增强过程&#xff0c;从而改善图像的整体视觉效果。 项目概述 输入: AGLLNet 接受单个RGB彩色图像作为输入&#xff0c;其尺寸为768x1152…

Miniconda 安装教程

1. Miniconda 简介 Miniconda是一个小巧而强大的Python环境管理工具,由Continuum Analytics(现已被Anaconda公司收购)创建。它为用户提供了快速、简便的Python环境创建、隔离、切换和包管理功能。核心组件有Conda包管理器和Python环境,具有轻量级、灵活性、跨平台等特点,…

【命令操作】Windonws端口被占用,查找占用端口的进程id,以及使用id杀死进程

Windonws端口被占用&#xff0c;查找占用端口的进程id,以及使用id杀死进程 Windonws端口被占用 查询端口 netstat -ano查询指定端口-获得占用端口的进程ID netstat -ano | findstr "端囗号"如查询8888端口 netstat -ano | findstr "8888"命令截图 命令…

DeiT(ICML2021):Data-efficient image Transformer,基于新型蒸馏且数据高效的ViT!

Training data-efficient image transformers & distillation through attention&#xff1a;通过注意力训练数据高效的图像转换器和蒸馏 论文地址&#xff1a; https://arxiv.org/abs/2012.12877 代码地址&#xff1a; https://github.com/facebookresearch/deit 这篇论文…

MongoDB的备份和恢复命令

一、下载 MongoDB Database Tools 官方网址&#xff1a;Download MongoDB Command Line Database Tools | MongoDB 将解压后的文件夹移动到MongoDB的bin目录下&#xff0c;同时配置mongodb-database-tools的bin目录进入环境变量。 以上有问题请参考文章&#xff1a;使用cmd命…

GIS留学院校介绍-英国篇

看前须知 关于语言成绩要求&#xff1a; 通常英国院校的雅思成绩要求分为5个等级&#xff0c;标准分别如下&#xff1a; 1级&#xff1a;总分6.5分&#xff0c;每个部分最低6.0分 2级&#xff1a;总分7.0&#xff0c;每个部分至少6.5分 3级&#xff1a;总分7.0分&#xff…

【C++入门必备】C++介绍,命名空间,输入和输出

目录 一&#xff1a;C前言介绍 1.1&#xff1a;什么是C 1.2&#xff1a;C发展史 1.3&#xff1a;如何学好C 二&#xff1a;命名空间 2.1&#xff1a;为什么会有命名空间 2.2&#xff1a;定义命名空间 2.3&#xff1a;使用命名空间 三&#xff1a;C的输入与输出 3.1&a…

go-admin-ui的菜单分割线设计思路和代码实现

在菜单管理添加分割线&#xff0c;类似这种&#xff1a; 思路&#xff1a;利用空间结构和数据特点来唯一区分出分割线&#xff0c;来划分业务区域 <template><div><h1>Split Line Controller</h1><ul><li v-for"route in displayedRout…

基于python+django+vue的旅游景点数据分析系统

作者&#xff1a;计算机学姐 开发技术&#xff1a;SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等&#xff0c;“文末源码”。 专栏推荐&#xff1a;前后端分离项目源码、SpringBoot项目源码、Vue项目源码、SSM项目源码 精品专栏&#xff1a;Java精选实战项目…

Python+appium自动化+夜神模拟器inspector部署验证

1、自动化测试环境部署_总览图检查表流程图 Python需要安装Appium-Python-Clicent去定位元素&#xff1b;Appium是一个中间的服务器&#xff0c;它需要依赖node.js&#xff0c;python的脚本通过appium和手机进行交互&#xff1b;手机app的环境都是java环境&#xff0c;先安装j…

nc检查网络连通性测试和端口扫描

nc可以作为server端启动一个tcp的监听&#xff08;注意&#xff0c;此处重点是起tcp&#xff0c;下面还会讲udp&#xff09; 先关闭A的防火墙&#xff0c;或者放行下面端口&#xff0c;然后测试B机器是否可以访问A机器启动的端口 在A机器上启动一个端口监听&#xff0c;比如 …

链接器查找其他动态库的过程

export LD_DEBUGall 2./your_program 这将输出所有的调试信息&#xff0c;包括搜索路径、库的加载、符号解析等详细信息。 关闭用unset LD_DEBUG 常用的 LD_DEBUG 选项包括&#xff1a; all: 输出所有调试信息。paths: 显示搜索路径信息。files: 显示文件打开和关闭的信息。…