当前位置:网站首页>关于ETL的两种架构(ETL架构和ELT架构)
关于ETL的两种架构(ETL架构和ELT架构)
2022-08-01 22:09:00 【微服务 spring cloud】
ETL,是英文 Extract-Transform-Load 的缩写,用来描述将数据从来源端经过抽取(extract)、转换(transform)、加载(load)至目的端的过程。ETL一词较常用在数据仓库,但其对象并不限于数据仓库。
ETL是构建数据仓库的重要一环,用户从数据源抽取出所需的数据,经过数据清洗,最终按照预先定义好的数据仓库模型,将数据加载到数据仓库中去。
ETL在转化的过程中,主要体现在以下几方面:
- 空值处理:可捕获字段空值,进行加载或替换为其他含义数据,并可根据字段空值实现分流加载到不同目标库。
- 规范化数据格式:可实现字段格式约束定义,对于数据源中时间、数值、字符等数据,可自定义加载格式。
- 拆分数据:依据业务需求对字段可进行分解。例,主叫号 861082585313-8148,可进行区域码和电话号码分解。
- 验证数据正确性:可利用Lookup及拆分功能进行数据验证。例如,主叫号861082585313-8148,进行区域码和电话号码分解后,可利用Lookup返回主叫网关或交换机记载的主叫地区,进行数据验证。
- 数据替换:对于因业务因素,可实现无效数据、缺失数据的替换。
- Lookup:查获丢失数据 Lookup实现子查询,并返回用其他手段获取的缺失字段,保证字段完整性。
- 建立ETL过程的主外键约束:对无依赖性的非法数据,可替换或导出到错误数据文件中,保证主键唯一记录的加载。
ETL架构的优势:
- ETL可以分担数据库系统的负载(采用单独的硬件服务器)
- ETL相对于EL-T架构可以实现更为复杂的数据转化逻辑
- ETL采用单独的硬件服务器。.
- ETL与底层的数据库数据存储无关.
ELT
在ELT架构中,ELT只负责提供图形化的界面来设计业务规则,数据的整个加工过程都在目标和源的数据库之间流动,ELT协调相关的数据库系统来执行相关的应用,数据加工过程既可以在源数据库端执行,也可以在目标数据仓库端执行(主要取决于系统的架构设计和数据属性)。当ETL过程需要提高效率,则可以通过对相关数据库进行调优,或者改变执行加工的服务器就可以达到。一般数据库厂商会力推该种架构,像Oracle和Teradata都极力宣传ELT架构。
ELT架构的优势:
- ELT主要通过数据库引擎来实现系统的可扩展性(尤其是当数据加工过程在晚上时,可以充分利用数据库引擎的资源)
- ELT可以保持所有的数据始终在数据库当中,避免数据的加载和导出,从而保证效率,提高系统的可监控性。
- ELT可以根据数据的分布情况进行并行处理优化,并可以利用数据库的固有功能优化磁盘I/O。
- ELT的可扩展性取决于数据库引擎和其硬件服务器的可扩展性。
- 通过对相关数据库进行性能调优,ETL过程获得3到4倍的效率提升一般不是特别困难。
边栏推荐
- 安全第五次课后练习
- 移动端人脸风格化技术的应用
- LeetCode952三部曲之二:小幅度优化(137ms -> 122ms,超39% -> 超51%)
- JS prototype hasOwnProperty in 加方法 原型终点 继承 重写父类方法
- 一种灵活的智能合约协作方式
- 小程序毕设作品之微信体育馆预约小程序毕业设计成品(2)小程序功能
- Prufer序列
- 10年稳定性保障经验总结,故障复盘要回答哪三大关键问题?|TakinTalks大咖分享
- Advanced Algebra_Proof_The algebraic multiplicity of any eigenvalue of a matrix is greater than or equal to its geometric multiplicity
- RxJs SwitchMapTo 操作符之移花接木
猜你喜欢
统计单词数
number of solutions to solve a multivariate multi-degree equation
Wechat Gymnasium Reservation Mini Program Graduation Design Finished Work Mini Program Graduation Design Finished Product (2) Mini Program Function
【C语言实现】最大公约数的3种求法
scikit-learn no moudule named six
小程序毕设作品之微信美食菜谱小程序毕业设计成品(5)任务书
How to prevent governance attacks in DAOs?
Use Jenkins for continuous integration, this knowledge point must be mastered
如何防范 DAO 中的治理攻击?
xctf attack and defense world web master advanced area web2
随机推荐
AQS
教你VSCode如何快速对齐代码、格式化代码
ARFoundation Getting Started Tutorial U2-AR Scene Screenshot Screenshot
NgRx Store createSelector 的单步调试和源代码分析
String - Trie
No more rolls!After joining ByteDance for a week, he ran decisively.
还在纠结报表工具的选型么?来看看这个
小程序毕设作品之微信体育馆预约小程序毕业设计成品(2)小程序功能
KMP 字符串匹配问题
Prufer sequence
【C语言实现】最大公约数的3种求法
Implementation principle of VGUgarbage collector (garbage collector)
2022-08-01 第八组 曹雨 泛型 枚举
more grown, more lonely
工程建筑行业数据中台指标分析
Raspberry Pi information display small screen, display time, IP address, CPU information, memory information (C language), four-wire i2c communication, 0.96-inch oled screen
罗克韦尔AB PLC RSLogix5000中的比较指令使用方法介绍
Getting Started Database Days4
易周金融分析 | 银行ATM机智能化改造提速;互联网贷款新规带来挑战
自建 Prometheus 采集腾讯云容器服务监控数据最佳实践