当前位置: 首页 > news >正文

关于ETL的两种架构(ETL架构和ELT架构)

ETL,是英文 Extract-Transform-Load 的缩写,用来描述将数据从来源端经过抽取(extract)、转换(transform)、加载(load)至目的端的过程。ETL一词较常用在数据仓库,但其对象并不限于数据仓库。

ETL是构建数据仓库的重要一环,用户从数据源抽取出所需的数据,经过数据清洗,最终按照预先定义好的数据仓库模型,将数据加载到数据仓库中去。

ETL在转化的过程中,主要体现在以下几方面:

  1. 空值处理:可捕获字段空值,进行加载或替换为其他含义数据,并可根据字段空值实现分流加载到不同目标库。
  2. 规范化数据格式:可实现字段格式约束定义,对于数据源中时间、数值、字符等数据,可自定义加载格式。
  3. 拆分数据:依据业务需求对字段可进行分解。例,主叫号 861082585313-8148,可进行区域码和电话号码分解。
  4. 验证数据正确性:可利用Lookup及拆分功能进行数据验证。例如,主叫号861082585313-8148,进行区域码和电话号码分解后,可利用Lookup返回主叫网关或交换机记载的主叫地区,进行数据验证。
  5. 数据替换:对于因业务因素,可实现无效数据、缺失数据的替换。
  6. Lookup:查获丢失数据 Lookup实现子查询,并返回用其他手段获取的缺失字段,保证字段完整性。
  7. 建立ETL过程的主外键约束:对无依赖性的非法数据,可替换或导出到错误数据文件中,保证主键唯一记录的加载。

ETL架构的优势:

  1. ETL可以分担数据库系统的负载(采用单独的硬件服务器)
  2. ETL相对于EL-T架构可以实现更为复杂的数据转化逻辑
  3. ETL采用单独的硬件服务器。.
  4. ETL与底层的数据库数据存储无关.

ELT

在ELT架构中,ELT只负责提供图形化的界面来设计业务规则,数据的整个加工过程都在目标和源的数据库之间流动,ELT协调相关的数据库系统来执行相关的应用,数据加工过程既可以在源数据库端执行,也可以在目标数据仓库端执行(主要取决于系统的架构设计和数据属性)。当ETL过程需要提高效率,则可以通过对相关数据库进行调优,或者改变执行加工的服务器就可以达到。一般数据库厂商会力推该种架构,像Oracle和Teradata都极力宣传ELT架构。

ELT架构的优势:

  1. ELT主要通过数据库引擎来实现系统的可扩展性(尤其是当数据加工过程在晚上时,可以充分利用数据库引擎的资源)
  2. ELT可以保持所有的数据始终在数据库当中,避免数据的加载和导出,从而保证效率,提高系统的可监控性。
  3. ELT可以根据数据的分布情况进行并行处理优化,并可以利用数据库的固有功能优化磁盘I/O。
  4. ELT的可扩展性取决于数据库引擎和其硬件服务器的可扩展性。
  5. 通过对相关数据库进行性能调优,ETL过程获得3到4倍的效率提升一般不是特别困难。
http://www.lryc.cn/news/18159.html

相关文章:

  • android系统目录
  • 【C/C++】中【typedef】用法大全
  • 超实用的公众号运营攻略分享,纯干货
  • 编写NodeJs脚本实现接口请求
  • 【无人机】回波状态网络(ESN)在固定翼无人机非线性控制中的应用(Matlab代码实现)
  • YAML 文件简介
  • Python四大主题之一【 Web】 编程框架
  • 【C++】哈希表
  • 深度学习入门(六十七)循环神经网络——注意力机制
  • 阿里云云通信风控系统的架构与实践
  • 【性能测试】loadrunner(一)知识准备
  • 【Vue3源码】第五章 ref的原理 实现ref
  • [Flink]部署模式(看pdf上的放上面)
  • Linux 查看 CPU 信息,机器型号,内存等信息
  • 三维量子力学 量子力学(3)
  • Blazor入门100天 : 身份验证和授权 (6) - 使用 FreeSql orm 管理ids数据
  • Java文件IO操作:File类的相关内容
  • 竣达技术 | 巡检触摸屏配合电池柜,电池安全放首位!
  • 什么是自动化运维?为什么选择Python做自动化运维?
  • 【经验】移植环境requirement时报错
  • 计算机专业要考什么证书?
  • 一个列表引发的思考(简单版)
  • Protobuf 学习简记(三)Unity C#中的序列化与反序列化
  • Flask入门(10):Flask使用SQLAlchemy
  • 我的 System Verilog 学习记录(4)
  • Git : 本地分支与远程分支的映射关系
  • 运维必看|跨国公司几千员工稳定访问Office365,怎么实现?
  • Python GDAL读取栅格数据并基于质量评估波段QA对指定数据加以筛选掩膜
  • Vue3:有关v-model的用法
  • CF1692C Where‘s the Bishop? 题解