如果您接触过数据仓库, 您可能会使用 ETL (Extract、 Transform、 Load) 或 ELT ( Extract、Load、 Transform) 将您的数据从不同的来源提取到数据仓库中。这些是移动数据或集成数据的常用方法, 以便您可以关联来自不同来源的信息, 将数据安全地存储在一个位置, 并使公司的成员能够从不同业务部门查看综合数据。ETL和ELT两个术语的区别与过程的发生顺序有关。这些方法都适合于不同的情况。

一、什么是ETL?

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

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

 

ETL架构的特殊优势:

ETL可以分担数据库系统的负载,可采用单独的硬件服务器部署

ETL相对ELT架构可以实现更为复杂的数据转化逻辑

ETL与底层的数据库数据存储无关

二、什么是ELT?

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

 

ELT架构的特殊优势:

ELT主要通过数据库引擎来实现系统的可扩展性

ELT可以保持所有的数据始终在数据库当中,避免数据的加载和导出,从而保证效率,提高系统的可监控性。

ELT可以根据数据的分布情况进行并行处理优化,并可以利用数据库的固有功能优化磁盘I/O。

ELT的可扩展性取决于数据库引擎和其硬件服务器的可扩展性。

通过对相关数据库进行性能调优,ELT过程获得3到4倍的效率提升一般不是特别困难。

三、总结

经过这些描述后可能会让您怀疑哪种方法更好。事实上, 在不同的情况下, 这些方法中的每一种都有优势, 最好的解决方案取决于你的项目情况。ELT在以下情况中,配合ETL工具将会将会达到更好的效果:

1、当您想要执行复杂的计算时,ETL工具比数据仓库或数据池更有效

2、如果要在加载到目标存储之前进行大量数据清理。ETL是一种更好的解决方案,因为您不会将不需要的数据移动到目标。

3、当您仅使用结构化数据或传统结构化数据仓库时。ETL工具通常最有效地将结构化数据从一个环境移动到另一个环境。

4、当你想要扩展补充数据时。如果要在将数据移动到目标存储时扩展补充数据,则需要使用ETL工具。例如,添加时间戳。

最新文章

  1. SQL函数说明大全
  2. QT 网络编程
  3. 封装captcha类 -- 画图四
  4. 第八章 self sizing cell
  5. 释放用完的Excel COM组件
  6. Codeforces Round #298 (Div. 2) B. Covered Path
  7. IIS问题汇总
  8. JavaScript高级程序设计29.pdf
  9. Ajax表单提交插件jquery form
  10. iScroll屏幕滑动函数封装总结
  11. SQL Server 行转列,列转行。多行转成一列
  12. (NO.00001)iOS游戏SpeedBoy Lite成形记(十四)
  13. 模板——无旋Treap
  14. linux串口编程设置(转载)
  15. js实现可输入的下拉框
  16. Maven(五)Eclipse配置Maven插件
  17. fiddler查看IP地址和请求响应时间
  18. 设备指纹(Device Fingerprinting)是什么?
  19. [Unity工具]嵌套Prefab
  20. 解决Android LogCat 输出乱码的问题(转)

热门文章

  1. LGOJ4450 双亲数
  2. EXAM-2018-8-10
  3. 微弱信号二次谐波检测的FPGA的实现-总结
  4. ffmpeg直播系统
  5. Adam项目展示微软研究院人工智能领域新突破
  6. SQL语言分为四类,每类分别是?各包括什么?
  7. container/injection简介以及发展历史
  8. 文本快速分类利器fasttext使用心得(踩坑之路)
  9. 360若真入股HTC 到底是谁来拯救谁
  10. Jupyter自定义设置详解