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 / 问题 / 188332
Accepted
johnny
johnny
Asked: 2017-10-13 08:26:05 +0800 CST2017-10-13 08:26:05 +0800 CST 2017-10-13 08:26:05 +0800 CST

ELT 数据最终会出现在 RDBMS 中吗?

  • 772

我想我在混淆事情。

在ETL中,数据转换从A数据库开始,到B数据库结束,都是关系型数据库。也许我有一个20岁的系统。我使用 ETL 来获取两个数据库之间的数据。我不知道ETL还有什么用。

在 ELT 中,除了数据库A 中的数据永远不会在数据库 B 中结束之外,是否相同?相反,原始数据位于数据库 A 的服务器B上的表或其他数据结构中,但需要类似 Hadoop 的东西将数据转换为专门设计用于使用 Hadoop 的应用程序?

编辑:我又做了一次。Hadoop!= ELT。我只关注 Hadoop,并认为它是 ELT 或它的表现形式。编辑:那个 ELT 意味着你需要一个独特的非 RDBMS 文件数据结构而不是 RDBMS,你完全抛弃了 RDBMS。

etl
  • 5 5 个回答
  • 875 Views

5 个回答

  • Voted
  1. Best Answer
    indiri
    2017-10-13T08:44:56+08:002017-10-13T08:44:56+08:00

    我认为举个例子会更容易:

    数据库A有表C。数据库B有表D。C和D非常相似但不完全相同,数据在加载到D之前需要清理。

    • ETL

      ETL 程序(SSIS、Pentaho 等)从表 C 中提取数据。然后对数据进行一些更改以清理数据并将其放入所需的格式中。然后,ETL 过程将该数据移动/复制到数据库 B 上的表 D。

    • 外语教学法

      从表 C 中提取数据。它作为表 C上传到数据库B。数据库 B 现在有两个表,C 和 D。数据库进程(SQL、作业等)现在对表 C 中的数据进行一些更改,并将其置于所需的格式中。然后,同一进程将现在干净的数据复制到表 D。数据库 B 中不再需要临时表 C,可以将其删除或截断。

    在这两种情况下,数据现在都加载到数据库 B、表 D 中。前端应用程序继续使用表 D。

    • 3
  2. CalZ
    2017-10-13T08:32:10+08:002017-10-13T08:32:10+08:00

    在 ETL 和 ELT 中,来自 A 的数据最终都在 B 中。不,ELT 不需要 Hadoop。实际上,在两个数据库之间使用 Hadoop 更像是 ETL。

    也许图表会有所帮助: 在此处输入图像描述

    • 2
  3. Anthony Genovese
    2017-10-13T08:32:18+08:002017-10-13T08:32:18+08:00

    TLDR; 你想多了。ETL只是一个概念,将任何数据从一个地方移动到另一个地方。无论是 Extract 然后 Load,然后 Transform,还是 Extract、Transform 或 Load,都是一样的。

    ETL 代表提取、转换和加载,这是一个用于从各种来源收集数据、根据业务规则/需求转换数据并将数据加载到目标数据库的过程。使用 ETL 的需要源于这样一个事实,即在现代计算中,业务数据驻留在多个位置并以许多不兼容的格式存在。例如,业务数据可能以各种格式(Word 文档、PDF、电子表格、纯文本等)存储在文件系统中,或者可以存储为电子邮件文件,或者可以保存在各种数据库服务器中,如 MS SQL Server,例如 Oracle 和 MySQL。有效地处理所有这些业务信息是一个巨大的挑战,而 ETL 在解决这个问题中扮演着重要的角色。

    提取、转换和加载

    ETL过程有3个主要步骤,分别是Extract、Transform和Load。

    提取——ETL 过程的第一步是从各种来源提取数据。每个源系统都可能以与其他系统完全不同的格式存储其数据。源通常是平面文件或 RDBMS,但几乎任何数据存储都可以用作 ETL 过程的源。

    转换——一旦数据被提取并转换为预期的格式,就可以进行 ETL 过程的下一步,即根据一组业务规则转换数据。数据转换可以包括各种操作,包括但不限于过滤、排序、聚合、连接数据、清理数据、基于现有值生成计算数据、验证数据等。

    加载——最后的 ETL 步骤涉及将转换后的数据加载到目标中,目标可能是数据库或数据仓库。

    来源http://www.sql-tutorial.net/ETL.asp

    • 0
  4. Evan Carroll
    2017-10-13T08:45:03+08:002017-10-13T08:45:03+08:00

    ELT,“提取、加载、转换”实际上并不存在,可以完全忽略。维基百科文章没有引用,仅在“smartdatacollective.com”网站上提及。这可能是营销手淫或聪明的巨魔。

    但是让我们娱乐一下,它会是什么样子……

    整个想法是这样的,即在将输入放入商店或“湖”之前,您不会对其进行转换。这不是一个新的范例或值得一个新的术语。我们有执行此操作的数据库,即文件系统。而且我们不调用cpELT 脚本。

    你会故意这样做的整个想法也很尴尬。这只是试图美化不良做法。给定一个数据库inode, xmlblob_Lake,我认为每个已建立的数据库管理员都会畏缩不前,而不是认为“哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇”

    • -1
  5. Vaibhav
    2019-10-03T13:39:42+08:002019-10-03T13:39:42+08:00

    我可以通过多种方式想到拥有 ELT 系统并将 Hadoop 视为 ELT 设计。

    1. 在所有应用程序数据库中具有非常高质量密钥的数据仓库。
    2. 根据用户想要查看信息的方式,可以有数百种转换类型。用户根据预定义的转换列表访问数据(例如,在财务规划和分析报告中,我们可以在年初至今、YTD-1、YTD-2、YTD-3、QTD、QTD-1、 QTD-2、QTD3、月初至今……分析师使用了 100 多个这样的计算)

    Hadoop 实现通常从许多数据源获取数据。使用 Pig 或 Hive 等数据提取层执行转换与 ELT 设计非常相似。

    至于 ETL 和 ELT 之间的区别,它基于设计范围。

    • -2

相关问题

  • 在 SSIS 中复制数据流的某些行

  • ActiveX 脚本在 DTS 包内抛出运行时错误

  • SQL 2008:使用 DTS 包打开 excel 文件时出现代理作业错误

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

  • 如何使用 ETL?

Sidebar

Stats

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

    连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目

    • 12 个回答
  • Marko Smith

    如何让sqlplus的输出出现在一行中?

    • 3 个回答
  • Marko Smith

    选择具有最大日期或最晚日期的日期

    • 3 个回答
  • Marko Smith

    如何列出 PostgreSQL 中的所有模式?

    • 4 个回答
  • Marko Smith

    列出指定表的所有列

    • 5 个回答
  • Marko Smith

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

    • 4 个回答
  • Marko Smith

    你如何mysqldump特定的表?

    • 4 个回答
  • Marko Smith

    使用 psql 列出数据库权限

    • 10 个回答
  • Marko Smith

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

    • 4 个回答
  • Marko Smith

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

    • 7 个回答
  • Martin Hope
    Jin 连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目 2014-12-02 02:54:58 +0800 CST
  • Martin Hope
    Stéphane 如何列出 PostgreSQL 中的所有模式? 2013-04-16 11:19:16 +0800 CST
  • 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
    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

热门标签

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