ELT 代表提取、加载和转换。这是一种数据流水线模型,其中数据首先从各种源系统中提取。然后,原始数据不会在单独的暂存区中转换,而是直接加载到目标数据存储区(例如数据湖或云数据仓库)中。只有在数据加载到目标系统后,转换才会应用。
这一顺序使 ELT 有别于其前身 ETL(提取、转换、加载),也是其在云原生架构中日益普及的一个重要原因。
ELT 流程利用了现代数据存储和处理平台的强大功能和可伸缩性。我们来逐一分析各个组成部分:
ELT 流程具有灵活性,因为在加载之前,转换并未固定。例如,数据科学家可以访问原始数据来探索未曾预料到的模式或进行临时分析,而商业智能团队可以构建经过精心整理和转换的数据集来进行报告。
ELT 方法具有多项潜在优势,在处理大量数据和多种数据类型的环境中尤其如此:
虽然 ELT 具有多项优势,但组织也应考虑以下问题:
主动应对这些挑战有助于组织充分利用 ELT 范式的优势。
了解 ELT 与更传统的 ETL(提取、转换、加载)流程之间的区别对于选择合适的数据集成策略至关重要。主要区别在于转换步骤发生的时间和执行的位置。
功能 | ELT(提取、加载、转换) | ETL(提前、转换、加载) |
操作顺序 | 提取、加载、转换 | 提取、转换和加载 |
转换位置 | 在目标数据存储区(数据仓库/数据湖)内 | 在单独的暂存区或 ETL 工具环境中 |
加载到目标的数据 | 未经转换的原始数据 | 清理、结构化、转换后的数据 |
处理能力 | 利用目标数据存储区的强大功能 | 依赖于专用 ETL 引擎或暂存服务器 |
数据注入速度 | 通常初始加载数据的速度更快 | 由于需要进行前置转换处理,速度可能会较慢 |
灵活适应新用途 | 高,因为可以重新转换原始数据 | 较低,因为转换是预先定义的 |
架构处理 | 非常适合在读取时构建架构 | 通常依赖于“写入时定义架构” |
数据类型适用性 | 非常适合处理结构化、半结构化和非结构化数据 | 最适合结构化数据和部分半结构化数据 |
资源利用率 | 优化可伸缩云数据仓库的使用 | 可能需要单独的基础设施来进行转换 |
功能
ELT(提取、加载、转换)
ETL(提前、转换、加载)
操作顺序
提取、加载、转换
提取、转换和加载
转换位置
在目标数据存储区(数据仓库/数据湖)内
在单独的暂存区或 ETL 工具环境中
加载到目标的数据
未经转换的原始数据
清理、结构化、转换后的数据
处理能力
利用目标数据存储区的强大功能
依赖于专用 ETL 引擎或暂存服务器
数据注入速度
通常初始加载数据的速度更快
由于需要进行前置转换处理,速度可能会较慢
灵活适应新用途
高,因为可以重新转换原始数据
较低,因为转换是预先定义的
架构处理
非常适合在读取时构建架构
通常依赖于“写入时定义架构”
数据类型适用性
非常适合处理结构化、半结构化和非结构化数据
最适合结构化数据和部分半结构化数据
资源利用率
优化可伸缩云数据仓库的使用
可能需要单独的基础设施来进行转换
ELT 是 Google Cloud 推荐的数据集成模式。ELT 涉及从源系统提取数据,将其加载到 BigQuery 中,然后将其转换为所需的格式以进行分析。ETL(提取、转换、加载)在将数据加载到数据仓库之前会对数据进行转换,而 ELT 方法与 ETL 不同,它让您可以充分利用 BigQuery 的强大功能来执行数据转换,并让任何 SQL 用户都能有效地开发数据集成流水线。
在 ELT 和 ETL 之间做出选择通常取决于特定的使用场景、现有基础设施、数据量以及组织的分析需求。在许多现代数据架构中,还可能采用混合方法,即在流水线的不同部分同时使用 ELT 和 ETL。
ELT 模式在各种现代数据场景中特别有效:
云数据仓储
ELT 非常适合 Google Cloud 的 BigQuery 等云数据平台,这些平台提供强大的处理能力和可伸缩性,可高效处理大型数据集的转换。
大数据分析
在处理海量、高速且种类繁多的数据时,ELT 可让您快速将数据注入数据湖或可扩缩的存储空间。然后,可以使用分布式处理框架根据需要应用转换。
数据湖实现
数据湖旨在以原生格式存储大量原始数据。ELT 流程会加载这些原始数据,然后各种分析和处理引擎可以对其进行转换和使用。
实时或近乎实时的数据处理
对于需要快速访问新鲜数据的用例,ELT 可以加快加载阶段的速度。然后,可以对此数据的子集执行特定近乎实时的信息中心或应用的转换。
探索性数据分析和数据科学
数据科学家通常倾向于访问未经转换的原始数据,以便进行特征工程、构建机器学习模型和发掘分析洞见,而不会受到预定义转换的限制。ELT 可让这些原始数据随时可用。
整合多种数据源
在将来自众多不同系统且结构各异的数据集成到一起时,ELT 会先将所有内容加载到一个中心位置,然后通过转换将其统一,从而简化初始注入过程。
Google Cloud 提供全面的服务套件,可帮助优化 ELT 架构,让组织能够构建强大且可扩缩的数据流水线。重点是利用 BigQuery 等服务的强大功能进行数据库内转换。
以下是 Google Cloud 服务在 ELT 模式中通常的使用方式:
Google Cloud 的基础设施支持 ELT 的核心原则,为原始数据提供可扩缩的存储空间、快速加载功能,并在 BigQuery 中提供强大的引擎来高效执行转换。这让数据工程师能够构建流水线,在其中快速存储数据,然后根据特定的分析要求对数据进行优化,所有这些操作都在托管式无服务器环境中完成。