助推智能体企业 观看 Think 主题演讲

什么是 ETL(提取、转换、加载)?

什么是 ETL?

ETL(意为提取、转换、加载)是一个数据集成过程,它将多个来源的数据合并、清理并组织成一个一致的数据集。然后,它将这些数据加载到数据仓库数据湖或其他目标系统中。

ETL 数据管道为数据分析和 机器学习工作流提供基础。通过一系列业务规则,ETL 清理和组织数据以满足特定的商业智能需求,例如月度报告。它还可以处理更高级的分析,从而改善后端流程和最终用户体验。组织通常使用 ETL 管道来:

  • 从旧版系统中提取数据

  • 清理数据以提高数据质量并建立一致性

  • 将数据加载到目标数据库

ETL 如何演变

自算盘时代以来,企业一直在生成数据,但现代分析是在数字计算机和数据存储问世之后,才成为可能。

20 世纪 70 年代,随着向更大规模的集中式数据库的转变,我们取得了重大进展。随后,ETL 作为集成和加载数据以进行计算和分析的过程引入,最终成为处理数据仓库项目数据的主要方法。

20 世纪 80 年代末,数据仓库和从事务型数据库向以关系数据格式存储信息的关系数据库的转变趋势日益流行。较旧的事务数据库会逐笔交易地存储信息,并且每笔交易都会存储重复的客户信息,因此随着时间的推移,没有简单的方法以统一的方式访问客户数据。有了关系数据库,分析成为商业智能 (BI) 的基础和决策的重要工具。

在更复杂的 ETL 软件出现之前,早期的尝试主要是 IT 团队手动从各种系统和连接器中提取数据。然后,他们将数据转换为通用格式,并将其加载到互连的表中。尽管如此,早期的 ETL 步骤还是值得付出努力的,因为先进的算法,加上神经网络的兴起,为洞察分析带来了更深入的机会。

大数据时代在 20 世纪 90 年代到来,这个时代的计算速度和存储空间容量持续快速增长。随后社交媒体和物联网 (IoT) 等新来源带来了大量数据。但限制因素仍然存在,数据通常存储在本地数据仓库中。

计算和 ETL 领域的下一个重大进步是云计算,它在 20 世纪 90 年代末开始流行。现在,使用 Amazon Web Services (AWS)Microsoft AzureSnowflake 等数据仓库,可以从全球访问数据。这些平台还可以快速扩展,从而使 ETL 解决方案能够提供卓越的详细洞察分析和新发现的竞争优势。

最新的发展是 ETL 解决方案使用流数据从大量数据中提供最新的洞察分析。

AI Academy

数据管理是生成式 AI 的秘诀吗?

深入了解为什么高质量数据对于成功使用生成式 AI 至关重要。

ETL 与 ELT

ETL 和 ELT(提取、加载、转换)之间最明显的区别是操作顺序的不同。ELT 从源位置复制或导出数据,但不是将其加载到暂存区域进行转换,而是将原始数据直接加载到目标数据存储,以根据需要进行转换。

虽然这两个流程都利用了各种数据存储库,例如数据库、数据仓库和数据湖,但每个流程都有其优点和缺点。ELT 适用于处理大量非结构化数据集,因为可以直接从源进行加载。ELT 更适合大数据管理,因为它不需要为数据提取和存储进行太多的前期规划。

ETL 流程在一开始就需要更清晰的定义。需要为数据提取确定特定数据点以及任何潜在的“密钥”,以便在不同的源系统之间集成。通常使用元数据来跟踪输入数据的来源。即使在这项工作完成后,还需要构建数据转换的业务规则。

这项工作通常依赖于特定类型数据分析的数据需求,该需求将决定数据需要具有的汇总级别。

虽然随着云数据库的采用,ELT 管道变得越来越受欢迎,但 ELT 技术依然处于开发阶段,这意味着最佳实践仍在建立之中。

ETL 的工作原理

要了解 ETL 的工作原理,最简单的方法就是了解流程中每一步都发生了什么。

提取

在数据提取过程中,原始数据将从源位置复制或导出到暂存区域。数据管理团队可以从结构化或非结构化的不同来源中提取数据。这些数据类型包括但不限于:

  • SQL 或 NoSQL 服务器
  • CRM 和 ERP 系统
  • JSON 和 XML
  • 平面文件数据库
  • 电子邮件
  • 网页

转换

在暂存区,会对原始数据进行数据处理。在这里,数据得到转换和整合,以用于其预期的分析用例。转换过程的这一阶段可以包括:

  • 过滤、清理、汇总、去重、验证和认证数据。
  • 基于原始数据进行计算、转换或汇总。这一过程可能包含更改行标题和列标题以保持一致性、转换货币或其他计量单位、编辑文本字符串等。
  • 进行审计以确保数据质量和合规性,并计算指标。
  • 删除、加密或保护受行业或政府监管机构管理的数据。
  • 将数据格式化为表或联接表,以匹配目标数据仓库的模式。

加载

在这最后一步中,将转换后的数据从暂存区域移至目标数据仓库。通常,该过程涉及到对所有数据进行初始加载,然后定期加载增量数据变化,偶尔需要进行完全刷新以擦除和替换仓库中的数据。

对于大多数使用 ETL 的组织而言,该流程是一个自动化流程,且定义明确、可连续执行和批量驱动。通常,ETL 加载流程发生在非工作时间,此时源系统和数据仓库的流量最低。

ETL 和其他数据集成方法

ETL 和 ELT 只是两种数据集成方法,还有其他方法也可用于促进数据集成工作流。其中一些方法包括:

  • 变更数据捕获 (CDC) 仅识别和捕获已发生变更的源数据,并将该数据移动到目标系统。CDC 可用于减少 ETL 的“提取”步骤所需的资源,它还可以独立用于将已转换的数据实时移动到数据湖或其他存储库。

  • 数据复制将数据源中的更改实时或批量复制到中央数据库。数据复制通常被列为一种数据集成方法。事实上,它最常用于创建灾难恢复备份。

  • 数据虚拟化使用软件抽象层来创建一个统一、集成、完全可用的数据视图,而无需将源数据实际复制、转换或加载到目标系统。数据虚拟化功能使企业能够利用相同的数据存储源数据创建虚拟数据仓库、数据湖和数据市场,而无需为每个数据仓库、数据湖和数据市场建立和管理单独的平台,从而降低了成本和复杂性。虽然数据虚拟化可以与 ETL 一起使用,但它越来越被视为 ETL 和其他物理数据集成方法的替代方案。

  • 流数据集成 (SDI),顾名思义,它可以持续实时使用数据流,对其进行转换,并将其加载到目标系统进行分析。这里的关键词是持续。SDI 不是在特定时间集成从数据源提取的数据快照,而是在数据可用时不断进行集成。SDI 支持数据存储,为分析、机器学习和实时应用程序提供动力,以改善客户体验、欺诈检测等。

ETL 的优势和面临的挑战

ETL 解决方案在将数据加载到不同存储库之前会执行数据清理,以此来提高质量。ETL 是一种耗时的批处理操作,通常用于创建需要较少更新的较小目标数据存储库,而其他数据集成方法 – 包括 ELT(提取、加载和转换)、变更数据捕获 (CDC) 和数据虚拟化 – 则用于集成越来越大且频繁变更的数据或实时数据流。

ETL 工具

过去,组织自己编写 ETL 代码。现在有许多开源和商用 ETL 工具和云服务可供选择。这些产品的典型功能包括:

  • 全面自动化且易于使用:领先的 ETL 工具可自动执行从数据源到目标数据仓库的整个数据流。这样,数据工程师就可以摆脱移动和格式化数据的繁琐任务,从而更快获取结果并实现更高效的操作。

  • 可视化的拖放界面:此功能可用于指定规则和数据流。

  • 支持复杂的数据管理:此功能包括协助复杂计算、数据集成和字符串操作。

  • 安全性和合规性:最好的 ETL 工具会对动态和静态数据进行加密,并经过认证符合行业或政府法规(包括 HIPAA 和 GDPR)。

此外,许多 ETL 工具已经发展到包含 ELT 功能,并支持面向人工智能 (AI) 应用程序的实时数据和流数据集成

ETL 常见问题解答

什么是暂存区域?

暂存区域是介于数据源和目标目的地(例如数据仓库)之间的临时存储位置,用于临时存储原始数据。它相当于数据中转区,原始数据在此完成清理、校验与转换后,再移送至目标目的地。

初始加载和增量加载有什么区别?

初始加载是首次从数据源提取历史数据并加载到目标位置。该操作会导入完整数据集,仅在项目初期执行一次。增量加载是指仅加载自上次加载以来新增、修改或删除的数据。这些流程按照预设周期自动运行。

什么是缓变维度 (SCD)?

该术语释义较为宽泛,主要有两种使用场景。缓变维度是指数据仓库中的维度表会随时间偶发变化,而非按照固定周期更新。客户地址就是一个典型示例。该术语也可指代用于处理和长期追踪维度数据变更的各类方法与技术

如何处理重复数据?

为了应对重复数据问题,组织应建立标准化流程以识别重复数据及其类型,制定明确的重复数据删除与合并规则,并设置管控机制,避免再次产生重复记录。

相关解决方案
IBM® watsonx.data 集成

通过简化的用户体验,将原始数据转化为 AI 就绪数据,支持整合任意类型的数据。

深入了解 watsonx.data integration
数据集成解决方案

利用 IBM 数据集成解决方案,创建弹性、高性能和成本优化的数据管道,以满足您的生成式 AI 计划、实时分析、仓库现代化和运营需求。

深入了解数据集成解决方案
数据和 AI 咨询服务

通过制定适当的战略、数据、安全和治理措施,成功实现 AI 的规模化应用。

深入了解数据和 AI 咨询服务
采取后续步骤

通过多种方式(包括批量处理、实时流和复制)整合结构化和非结构化数据,以免您将时间和金钱浪费在工具切换上。

  1. 深入了解 IBM watsonx.data integration
  2. 深入了解数据集成解决方案