详解数据集成方法ETL、ELT和反转ETL
发布时间:2022-07-14 09:40:11 所属栏目:云计算 来源:互联网
导读:为了协助您为数据管道项目选择合适的数据集成方法,我们将简要地探讨ETL和ELT各自的优缺点,以及如何使用这两种技术。同时,我们也会讨论反向ETL为何成为那些需要快速数据加载、最小化维护、以及高度自动化工作流的更好选择。 ETL和ELT的一般概念 目前,企业
为了协助您为数据管道项目选择合适的数据集成方法,我们将简要地探讨ETL和ELT各自的优缺点,以及如何使用这两种技术。同时,我们也会讨论反向ETL为何成为那些需要快速数据加载、最小化维护、以及高度自动化工作流的更好选择。 ETL和ELT的一般概念 目前,企业面临的一种常见挑战是:需要以多种格式,从多个来源捕获数据,然后将其转移到一到多个数据目标。由于大多数数据转移项目都需要收集多个数据源,因此它们需要拥有一个定义良好的数据管道(即,信息从源头到终点的路径或工作流程)。如果目标与数据源的存储格式不同,那么我们就必须在加载到最终目标之前,对数据进行细化或清理。目前,业界有许多工具、服务和流程,可以在数据管道中,起到一定的应用数据转换与协调的工作。 ETL的流程 ETL是一个数据集成的过程。它使得数据管道项目能够从各种源头顺利地提取数据、转换数据、并将数据结果加载到目标数据库中。无论是ETL还是ELT,数据的转换与集成过程,都会涉及如下三个阶段(如图1所示): 提取——使用数据库查询或变更数据捕获(change data capture,CDC)流程,从源系统(如:SAS、在线、本地)提取数据。提取后,数据会被转移到暂存区域,以待进一步处理。 转换——数据被清理、处理、转换、充实后,会被转换为目标数据管道、数据仓库、数据库或数据湖使用的格式。 加载——将原始数据和转换后的数据加载到目标系统中。此过程会涉及到写入分隔文件、在数据库中创建模式、以及用累积或聚合的数据去覆盖现有的数据。 图1:ETL的流程(源自Kai Waehner的《何时使用反向ETL以及何时使用反模式》) ETL和ELT流程会以不同的顺序执行上述步骤。数据管道团队必须决定是在将数据加载到目标数据存储库之前、还是之后进行数据转换。 ELT的流程 ELT是一种用于整合来自整个组织的数据,以防止出现数据孤岛的方法。数据会经历数据源中被提取,加载到数据仓库中,然后按需进行转换的过程。虽然是要按照应用之需进行转换,但是在ELT流程中,数据应当在存储之前进行转换(如图2所示)。 提取——与ETL相同。 加载——与ETL不同,数据直接(即,无需进行清理、扩充、转换)被加载和交付到目标系统(通常需要考虑目标模式和数据类型的各种迁移)。 转换——在加载数据后,目标平台会根据业务报告的目的进行转换。一些公司会利用dbt等工具,来转换其目标数据。因此,在ELT管道中,我们应按需对目标数据执行转换。 图2:ELT的流程(源自Kai Waehner的《何时使用反向ETL以及何时使用反模式》) ELT会对集成过程中涉及的步骤进行重新排序,使得转换发生在最后,而不是中间。ELT的流程可以通过切换阶段顺序,在不考虑结构或格式的情况下,将数据加载到可接受原始数据的数据湖中,并且允许进行即时的数据提取和加载。 促成采用ELT的另一个因素是:基于云的数据仓库被广泛地采用与实施。云数据仓库解决方案提供了计算和存储之间的完全分离,以及存储无限数据的能力。如今,大多数数据仓库都是被托管的。这就意味着企业既不需要购买或管理任何硬件或存储设备,也不需要安装软件或考虑扩展。这些都将由云服务提供商来管理与负责。据此,企业可以在较短的时间内,配置出云托管的数据仓库。 ETL与ELT:属性、功能和用例 就ETL与ELT的用例而言,并不存在“一边倒”的现象。我们通过下表总结了两者在不同属性上的区别: 属性 ETL ELT 最适合于…… 结构化数据、历史遗留系统、以及关系型数据库;在加载到数据仓库之前转换数据 更快、更及时的数据加载,结构化和非结构化的数据,以及庞大且不断增长的数据,按需转换数据 支持非结构化数据? 主要用于本地的关系型数据 随时可以支持非结构化的数据 支持数据湖? 不支持数据湖 支持数据湖 查找 事实数据和维度都可用于暂存区 由于提取和加载发生在同一个操作中,因此所有数据皆可用 加载时间 数据最初被加载到暂存中,然后进入目标系统 数据一次性被加载到目标系统中 数据输出 通常被用于需要在上传到关系型数据仓库之前,实现结构化的本地数据 使用结构化、半结构化和非结构化数据,最适合在提供了大容量存储和计算能力的云环境中,处理海量数据,使数据湖能够按需快速存储和转换数据 数据加载的性能 由于它是一个多阶段的过程,因此数据加载的时间比其他替代品更长 由于节省了转换的等待时间,而且数据会被一次性加载到目标数据库中,因此数据加载的速度更快 转换的性能 数据转换可能会很慢 由于是在加载后按需完成的,因此数据转换完成得更快 聚合 复杂性会随着数据量和种类的增加而增多 目标平台的强大功能可以快速地处理大量数据 数据部署 基于本地或云端 通常基于云端 分析的灵活性 用例和报告模型都已被明确定义 随着模式的发展,随时添加数据,分析师可以构建目标仓库的新视图 合规 更符合GDPR、HIPAA和CCPA标准;用户可以避免将敏感数据加载到目标系统 会暴露个人数据,无法不遵守GDPR、HIPAA和CCPA标准 实施 提供各种工具和支持技术,更易于实施 需要有适当的技能来实施和维护的团队 反向ETL的一般概念 反向ETL是一种提取已清理的和处理过的数据架构。它会将数据从数据仓库(或数据湖/集市)复制到一个或多个操作系统。数据可以被重新引入诸如Salesforce等其他应用程序,可用于业务运营和预测。通过操作已提取的数据源,各类用户可以使用常用的工具来访问数据,并获取相关的洞见。作为现代化数据技术栈的组件,反向ETL允许企业开展那些比单独使用商业智能(BI)工具,更为复杂的分析。 作为一种战略性全新的集成流程,反向ETL可以减少那些快速发展型企业在数据分析上花费的时间。该流程更专注于将数据与业务用户的操作工具相同步,以激活数据仓库中的数据。用户必须事先定义好数据,并将其映射到最终目的地的适当列/字段上。 (编辑:西双版纳站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |