zoukankan      html  css  js  c++  java
  • ETL 学习之一

         ETL有时候显得很神秘,其实大部分项目都有用到,只要有报表展示,就是一个ETL过程。

        首先,我们来了解最基本的定义:
        嗯,也有人将ETL简单称为数据抽取。至少在未学习之前,领导告诉我的是,你需要做一个数据抽取的工具。
        其实呢,抽取是ETL中的关键环节,顾名思义,也就将数据从不同的数据源中抓取(复制)出来。
        太简单了!
        上面的解释无首无尾,有点象能让你吃饱的第七个烧饼,
        仔细一想,抽取是不可能单独存在,我们需要将与之关联的一些其它环节拿出来。

        于是,得到ETL的定义:
        将数据抽取(Extract)、转换(Transform)、清洗(Cleansing)、装载(Load)的过程。
        好的,既然到了这一个层次,我们完全会进一步展开联想,引出上面这个抽象事件的前因后果,

        抽取的源在哪里?
        装载的目的又是什么呢?

        抽取源:大多数情况下,可以认为是关系数据库,专业一点,就是事务处理系统(OLTP)。当然,广义一点,可能会是其它数据库或者是文件系统。
        目的地:OK,我们希望是数据仓库。数据仓库是啥?在学习之前,它对我来说是个抽象的怪物,看过一些简单的资料之后,才了解这个怪物一点都不怪。堆积用来分析的数据的仓库。是了,是用来分析的,于是,它区别于OLTP中的数据存储。

        然后,我们来看看为什么要ETL?
        在我看来,有两个原因。
        一:性能  将需要分析的数据从OLTP中抽离出来,使分析和事务处理不冲突。咦?这不是数据仓库的效果吗?是了,
    数据仓库,大多数情况下,也就是通过ETL工具来生成地。
        二:控制  用户可以完全控制从OLTP中抽离出来的数据,拥有了数据,也就拥有了一切。
        嗯,OLAP分析,数据挖掘等等等……。

  • 相关阅读:
    [NOIP2017]宝藏 子集DP
    [NOI2017]蔬菜 贪心
    hihoCoder#1698 : 假期计划 组合数
    KNIGHTS
    动态图连通性(线段树分治+按秩合并并查集)
    CF868F Yet Another Minimization Problem 分治决策单调性优化DP
    【POJ】【3308】Paratroopers
    【BZOJ】【3437】小P的牧场
    【BZOJ】【3156】防御准备
    【BZOJ】【1010】【HNOI2008】玩具装箱Toy
  • 原文地址:https://www.cnblogs.com/millen/p/1392340.html
Copyright © 2011-2022 走看看