ETL 数据管道为数据分析和机器学习工作流提供了基础。通过一系列业务规则,ETL 清理和组织数据以满足特定的商业智能需求,例如月度报告,但它也可以进行更高级的分析,从而改善后端流程和最终用户体验。组织通常使用 ETL 管道来:
从旧版系统中提取数据
清理数据以提高数据质量并建立一致性
将数据加载到目标数据库
自算盘时代以来,企业一直在生成数据,但现代分析是在数字计算机和数据存储问世之后,才成为可能。
20 世纪 70 年代,随着向更大规模的集中式数据库的转变,我们取得了重大进展。随后,ETL 作为集成和加载数据以进行计算和分析的过程引入,最终成为处理数据仓库项目数据的主要方法。
20 世纪 80 年代末,数据仓库和从事务型数据库向以关系数据格式存储信息的关系数据库的转变趋势日益流行。较旧的事务数据库会逐笔交易地存储信息,并且每笔交易都会存储重复的客户信息,因此随着时间的推移,没有简单的方法以统一的方式访问客户数据。有了关系数据库,分析成为商业智能 (BI) 的基础和决策的重要工具。
在更复杂的 ETL 软件出现之前,早期的尝试主要是 IT 团队手动从各种系统和连接器中提取数据,将数据转换为通用格式,然后将其加载到互连的表中。尽管如此,早期的 ETL 步骤还是值得付出努力的,因为先进的算法,加上神经网络的兴起,为分析洞察带来了更深入的机会。
大数据时代在 20 世纪 90 年代到来,这个时代的计算速度和存储空间容量持续快速增长,社交媒体和物联网 (IoT) 等新来源带来了大量数据。限制因素仍然存在,数据通常存储在本地数据仓库中。
计算和 ETL 领域的下一个重大进步是云计算,它在 20 世纪 90 年代末开始流行。使用 Amazon Web Services (AWS)、Microsoft Azure 和 Snowflake 等数据仓库,现在可以从全球访问数据并快速扩展,从而使 ETL 解决方案能够提供卓越的详细洞察分析和新发现的竞争优势。
最新的发展是 ETL 解决方案使用流数据从大量数据中提供最新的见解。
ETL 和 ELT(提取、加载、转换)之间最明显的区别是操作顺序的不同。ELT 从源位置复制或导出数据,但不是将其加载到暂存区域进行转换,而是将原始数据直接加载到目标数据存储,以根据需要进行转换。
虽然这两个流程都利用了各种数据存储库,例如数据库、数据仓库和数据湖,但每个流程都有其优点和缺点。ELT 适用于提取大量非结构化数据集,因为可以直接从源进行加载。ELT 更适合大数据管理,因为它不需要为数据提取和存储进行太多的前期规划。
ETL 流程在一开始就需要更多的定义。需要为数据提取确定特定数据点以及任何潜在的“密钥”,以便在不同的源系统之间集成。通常使用元数据来跟踪输入数据的来源。即使在这项工作完成后,还需要构建数据转换的业务规则。这项工作通常依赖于特定类型数据分析的数据需求,该需求将决定数据需要具有的汇总级别。
虽然随着云数据库的采用,ELT 管道变得越来越受欢迎,但 ELT 技术依然处于开发阶段,这意味着最佳实践仍在建立之中。
要了解 ETL 的工作原理,最简单的方法就是了解流程中每一步都发生了什么。
在数据提取过程中,原始数据将从源位置复制或导出到暂存区域。数据管理团队可以从结构化或非结构化的不同来源中提取数据。这些数据类型包括但不限于:
在暂存区,会对原始数据进行数据处理。在这里,数据得到转换和整合,以用于其预期的分析用例。转换过程的这一阶段可以包括:
在这最后一步中,将转换后的数据从暂存区域移至目标数据仓库。通常,这涉及到对所有数据进行初始加载,然后定期加载增量数据变化,偶尔需要进行完全刷新以擦除和替换仓库中的数据。对于大多数使用 ETL 的组织而言,该流程是一个自动化流程,且定义明确、可连续执行和批量驱动。通常,ETL 加载流程发生在非工作时间,此时源系统和数据仓库的流量最低。
ETL 和 ELT 只是两种数据集成方法,还有其他方法也可用于促进数据集成工作流。其中包括:
ETL 解决方案在将数据加载到不同存储库之前会执行数据清理,以此来提高质量。ETL 是一种耗时的批处理操作,通常用于创建需要较少更新的较小目标数据存储库,而其他数据整合方法 – 包括 ELT(提取、加载和转换)、变更数据捕获 (CDC) 和数据虚拟化 – 则用于集成越来越大且发生变更的数据或实时数据流。
过去,组织自己编写 ETL 代码。现在有许多开源和商用 ETL 工具和云服务可供选择。这些产品的典型功能包括:
此外,许多 ETL 工具已经发展到包含 ELT 功能,并支持面向人工智能 (AI) 应用程序的实时数据和流数据集成。
使用企业应用集成 (EAI) 的应用程序编程接口 (API) 可以代替 ETL,以获得更灵活、可扩展的解决方案,其中包括工作流集成。虽然 ETL 仍然是主要的数据集成资源,但在基于 web 的环境中 EAI 越来越多地与 API 配合使用。
借助现代化的 ETL 工具,在云原生洞察平台上构建值得信赖的数据流程。
利用 IBM 数据集成解决方案,创建弹性、高性能和成本优化的数据管道,以满足您的生成式 AI 计划、实时分析、仓库现代化和运营需求。
通过 IBM Consulting 发掘企业数据的价值,建立以洞察分析为导向的组织,实现业务优势。