zoukankan      html  css  js  c++  java
  • 数据分析你需要知道的操作:ETL和ELT

    如果您接触过数据仓库, 您可能会使用 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工具。例如,添加时间戳。

  • 相关阅读:
    VB Treeview控件 介绍与使用
    基于V4L2的视频驱动开发
    Jlinkv8 灯不亮重新烧写固件的办法
    使用JLink间接烧写S3C2410、S3C2440开发板Nor、Nand Flash的方法
    linux 开机自动执行脚本或者一些指定的程序
    FrameBuffer编程二(简单程序下)
    c语言内存分配函数
    FrameBuffer编程二(简单的程序上)
    FrameBuffer编程一(数据结构)
    mmap函数介绍
  • 原文地址:https://www.cnblogs.com/fly-bird/p/12445030.html
Copyright © 2011-2022 走看看