ETL(Extract, Transform and Load)是从不同的源系统中提取数据,然后转换数据(如应用计算、连接等)并最终将数据加载到数据仓库系统中的过程。ETL 的完整形式是提取、转换和加载。
很容易认为创建数据仓库只是从多个来源提取数据并加载到数据仓库的数据库中。这与事实相去甚远,需要复杂的 ETL 过程。ETL 过程需要来自包括开发人员、分析师、测试人员、高层管理人员在内的各种利益相关者的积极投入,并且在技术上具有挑战性。
为了保持其作为决策者工具的价值,数据仓库系统需要随着业务的变化而变化。ETL 是数据仓库系统的重复活动(每天、每周、每月),需要敏捷、自动化和有据可查。
为什么需要ETL?在组织中采用 ETL 的原因有很多:
ETL 是一个 3 步过程
ETL流程
步骤 1) 提取在 ETL 架构的这一步中,数据从源系统中提取到暂存区。在暂存区进行转换(如果有),以便源系统的性能不会降低。此外,如果将损坏的数据直接从源复制到数据仓库数据库中,回滚将是一个挑战。暂存区提供了在提取的数据进入数据仓库之前对其进行验证的机会。
数据仓库需要集成不同的系统、DBMS、硬件、操作系统和通信协议。来源可能包括大型机等遗留应用程序、定制应用程序、ATM 等接触点设备、呼叫交换机、文本文件、电子表格、ERP、来自供应商、合作伙伴等的数据。
因此,在物理提取和加载数据之前,需要一个逻辑数据映射。该数据映射描述了源数据和目标数据之间的关系。
三种数据提取方法:
无论使用何种方法,提取都不应影响源系统的性能和响应时间。这些源系统是实时生产数据库。任何放缓或锁定都可能影响公司的底线。
在提取期间完成了一些验证:
从源服务器提取的数据是原始数据,不能以其原始形式使用。因此,需要对其进行清理、映射和转换。事实上,这是 ETL 过程增加价值和更改数据以生成有洞察力的 BI 报告的关键步骤。
它是重要的 ETL 概念之一,您可以在其中对提取的数据应用一组函数。不需要任何转换的数据称为直接移动或传递数据。
在转换步骤中,您可以对数据进行自定义操作。例如,如果用户想要数据库中没有的销售收入总和。或者,如果表中的名字和姓氏在不同的列中。可以在加载之前连接它们。
数据集成问题
以下是数据完整性问题:
在此阶段完成验证
将数据加载到目标数据仓库数据库是 ETL 过程的最后一步。在典型的数据仓库中,需要在相对较短的时间内(夜间)加载大量数据。因此,加载过程应该针对性能进行优化。
在加载失败的情况下,恢复机制应配置为从故障点重新启动而不会丢失数据完整性。数据仓库管理员需要根据当前的服务器性能监控、恢复、取消加载。
加载类型:
以下是 ETL 流程步骤的最佳实践:
永远不要尝试清理所有数据:每个组织都希望所有数据都干净,但他们中的大多数还没有准备好为等待或没有准备好等待。清理所有数据只会花费太长时间,因此最好不要尝试清理所有数据。
永远不要清洗任何东西:总是计划清理一些东西,因为构建数据仓库的最大原因是提供更干净、更可靠的数据。
确定清理数据的成本:在清理所有脏数据之前,确定每个脏数据元素的清理成本很重要。
为了加速查询处理,有辅助视图和索引:为了降低存储成本,将汇总数据存储到磁盘磁带中。此外,需要在要存储的数据量与其详细使用之间进行权衡。在数据粒度级别进行权衡以降低存储成本。
概括:参考guru99
,版权声明:xxxxxxxxx;
工作时间:8:00-18:00
客服电话
电子邮件
扫码二维码
获取最新动态