AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / dba / 问题 / 19242
Accepted
HelloWorld1
HelloWorld1
Asked: 2012-06-15 00:24:19 +0800 CST2012-06-15 00:24:19 +0800 CST 2012-06-15 00:24:19 +0800 CST

赞成使用 ELT 流程而不是 ETL 的论据是什么?

  • 772

我意识到我的公司使用的是 ELT(提取-加载-转换)流程,而不是使用 ETL(提取-转换-加载)流程。
这两种方法有什么区别,在哪些情况下一种会比另一种“更好”?如果您能提供一些示例,那就太好了。

etl data-warehouse
  • 3 3 个回答
  • 13620 Views

3 个回答

  • Voted
  1. Best Answer
    AmmarR
    2012-06-15T03:29:33+08:002012-06-15T03:29:33+08:00

    那里有很多关于 ETL 与 ELT 的讨论。

    ETL 与 ELT 之间的主要区别在于处理发生的位置 ETL 数据处理发生在 ETL 工具中(通常是一次记录和内存中) ELT 数据处理发生在数据库引擎中

    数据相同,两种方法都可以达到数据的最终结果。

    这在很大程度上取决于您和您的环境如果您拥有强大的数据库引擎和良好的硬件并且您可以对其进行繁重的处理,那么 ELT 对您有好处,如果您有一个繁忙的数据仓库引擎并且您需要将其从处理中解放出来用于 ETL。

    请注意,拥有 ETL 工具可为您提供两种选择,例如 ETL(T),您可以在 ETL 工具中进行转换,也可以在数据库引擎中进行转换

    但是 ELT 您只能选择在数据库引擎中进行转换,但您应该知道数据库在基于集合的操作方面比一次记录 ETL 工具更好。

    在SO上提出了类似的问题,但支持 ETL,还有一篇比较 ETL 与 ELT 的好文章,但支持 ELT

    • 16
  2. ConcernedOfTunbridgeWells
    2012-06-15T10:44:08+08:002012-06-15T10:44:08+08:00

    这几乎是语义问题。在关于这个问题的讨论中释放了很多热空气,但我并不相信两者之间的区别有任何真正的哲学深度。

    在某种程度上,您可以将 ETL 视为在最终加载之前在客户端工具中转换数据,ELT 意味着数据被传输到某种暂存区域,而格式的变化相对较小。之后会发生“转变”。

    这些是非常模糊的定义,可以应用于各种各样的技术架构,并且有许多可能的设计可以用任何一个术语来描述。

    我非常支持所有转换和业务逻辑都可以构建到或多或少同质的代码库中的架构,并且我已经完成了很多转换逻辑非常复杂的系统。这往往只是使用 ETL 工具来获取数据,然后所有的转换都在存储过程中完成。可以说,这可以描述为 ETL 或 ELT,区别仅在于语义之一。

    但是,有些工具非常以数据库为中心(例如,Oracle Data Integrator 通常被称为 ELT 工具)。如果您订阅此视图,则“提取”和“加载”在数据被转换之前发生,因为它们被降落到暂存区域,然后由 SQL 或 PL/SQL 代码(可能由工具或手写)。与我交谈过的几个人似乎认为 ODI 的主要优点是它不是 OWB。

    如果您使用 Informatica Powercentre 或 MS SQL Server Integration Services 等客户端工具,则该工具可以对数据客户端进行广泛的转换。一些 ETL 工具(例如 Ascential Datastage 和 Ab Initio)旨在对平面文件和内存数据结构进行大量工作以提高速度。在这种架构中,转换在加载之前就已经完成。也许这种类型的架构可以明确归类为“ETL”,尽管我见过许多以工具为中心的项目,其中所有实际工作都是由一堆存储过程代码完成的。

    各种工具和架构方法各有优势,但不能一概而论地说明“ETL”与“ELT”方法的优点,因为术语太宽泛以至于差异几乎没有意义。某些工具和架构可能具有特定优势 - 例如,Ab Initio 大量使用平面文件使其在处理大数据量时具有显着的性能优势。

    在实践中,如果不对系统需求、平台和技术架构进行更深入的讨论,那么区分“ETL”和“ELT”是毫无意义的。

    • 11
  3. Suraj Singh
    2014-07-10T09:21:52+08:002014-07-10T09:21:52+08:00

    这也是钱的问题。正如您所指出的那样,在数据量很高的情况下,基于平面文件的解决方案(如 Ab Initio 和 DataStage Parallel Extender)确实更快,但可能是中高的六位数命题。IRI CoSort 非常以 ETL 为中心(根据他们的 ELT 比较),除了复杂的 Hadoop 实现之外,这是我见过的以文件系统速度解决转换量的唯一经济实惠的方法。我还认为通常将硬件用于解决问题(ELT 设备和内存数据库也这样做),在成本方面也不能很好地扩展。

    • 1

相关问题

  • 有任何开源/免费 ETL 吗?[关闭]

  • 开源商业智能/DWH 解决方案 [关闭]

  • 数据仓库创建

  • 如何使用 ETL?

  • 在数据仓库中实现多对多关系有哪些方法?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何查看 Oracle 中的数据库列表?

    • 8 个回答
  • Marko Smith

    mysql innodb_buffer_pool_size 应该有多大?

    • 4 个回答
  • Marko Smith

    列出指定表的所有列

    • 5 个回答
  • Marko Smith

    从 .frm 和 .ibd 文件恢复表?

    • 10 个回答
  • Marko Smith

    如何在不修改我自己的 tnsnames.ora 的情况下使用 sqlplus 连接到位于另一台主机上的 Oracle 数据库

    • 4 个回答
  • Marko Smith

    你如何mysqldump特定的表?

    • 4 个回答
  • Marko Smith

    如何选择每组的第一行?

    • 6 个回答
  • Marko Smith

    使用 psql 列出数据库权限

    • 10 个回答
  • Marko Smith

    如何从 PostgreSQL 中的选择查询中将值插入表中?

    • 4 个回答
  • Marko Smith

    如何使用 psql 列出所有数据库和表?

    • 7 个回答
  • Martin Hope
    Mike Walsh 为什么事务日志不断增长或空间不足? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland 列出指定表的所有列 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney MySQL 能否合理地对数十亿行执行查询? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx 如何监控大型 .sql 文件的导入进度? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison 你如何mysqldump特定的表? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    pedrosanta 使用 psql 列出数据库权限 2011-08-04 11:01:21 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 对 SQL 查询进行计时? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas 如何从 PostgreSQL 中的选择查询中将值插入表中? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 列出所有数据库和表? 2011-02-18 00:45:49 +0800 CST
  • Martin Hope
    bernd_k 什么时候应该使用唯一约束而不是唯一索引? 2011-01-05 02:32:27 +0800 CST

热门标签

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve