ELT和ETL的区别
1. 提取、加载和转换(ELT): 提取、加载和转换 (ELT) 是从源中提取原始数据并将其存储在目标服务器的数据仓库中并为终端用户准备的技术。
ELT 包括对数据执行的 3 种不同操作:
- 提炼:提取数据是从一个或多个来源中识别数据的技术。源可以是数据库、文件、ERP、CRM 或任何其他有用的数据源。
- 加载:加载是将提取的原始数据存储在数据仓库或数据湖中的过程。
- 转换:数据转换是将原始数据源转换为分析所需的目标格式的过程。
来自源的数据被提取并存储在数据仓库中。不转换整个数据,但仅在必要时进行所需的转换。可以在需要时随时从仓库中检索原始数据。然后将根据需要转换的数据发送前进行分析。使用 ELT 时,会将源系统中存在的整个数据集移动到目标。这意味着与 ETL 方法相比,可以在数据仓库中使用原始数据。
2. 提取、转换和加载(ETL):
ETL 是提取原始数据、根据需要为用户转换并将其存储在数据仓库中的传统技术。ELT是后来发展起来的,以ETL为基础。ETL 和 ELT 中发生的三个操作是相同的,只是它们的处理顺序略有不同。这种顺序变化是为了克服一些缺点。
- 提炼:它是从所有可用数据源(如数据库、文件、ERP、CRM 或任何其他数据源)中提取原始数据的过程。
- 转换:提取的数据会立即根据用户的要求进行转换。
- 加载:然后将转换后的数据加载到用户可以访问的数据仓库中。
从源头收集的数据直接存储在暂存区。对暂存区中的数据执行所需的转换。转换数据后,生成的数据将存储在数据仓库中。ETL 架构的主要缺点是,一旦转换后的数据存储在仓库中,就无法再次修改,而在 ELT 中,原始数据的副本始终在仓库中可用,并且仅在需要时转换所需的数据。
ELT和ETL的区别:
ELT | ETL |
---|---|
ELT 工具不需要额外的硬件 | ETL 工具需要具有自己的引擎的特定硬件来执行转换 |
主要是 Hadoop 或 NoSQL 数据库来存储数据。 | 很少使用 RDBMS RDBMS 专门用于存储数据 |
由于所有组件都在一个系统中,因此只需加载一次 | 由于 ETL 使用暂存区,因此需要额外的时间来加载数据 |
转换数据的时间与数据的大小无关 | 系统必须等待大量数据。随着数据量的增加,转换时间也增加 |
ELT具有成本效益,适用于所有使用 SaaS 解决方案的企业 | 对于中小型企业而言不具有成本效益 |
转换后的数据供数据科学家和高级分析师使用 | 转换后的数据供用户阅读报告和 SQL 编码员使用 |
创建临时视图。构建和维护成本低 | 视图是基于多个脚本创建的。删除视图意味着删除数据 |
最适合非结构化和非关系数据。非常适合数据湖。 | 适合大量数据 最适合关系和结构化数据。更适合中小数据量 |