不多说,直接上干货!

  在数据仓库领域里,的一个重要概念就是数据整合(data intergration)。数据整合它就是把不同数据库中的数据整合到一起,对外提供统一的数据视图。

  数据整合最典型的案例就是整合存货数据和订单数据。数据整合的另一个案例就是把各个部门的客户关系管理系统中的客户信息整合到公司客户关系管理系统中。

  数据整合是一个比ETL更加广泛的概念,ETL是指从一个或多个数据源抽取数据,经过一个或多个转换步骤后,物理地存储到目标环境中,目标环境通常是数据仓库。

  ETL是data integration中的一种而已。

      1、抽取:一般抽取过程需要连接到不同的数据源,以便为随后的步骤提供数据。这一部分看上去简单而繁琐,实际上它是ETL解决方案成功实施的一个主要障碍。

     2、转换:在抽取和加载之间的,任何对数据的处理过程都是需要转换。这些处理过程通常包括(但不局限于)下面的这些操作:

        移动数据

        根据规则验证数据

        数据内容和数据结构的修改

         集成多个数据源的数据

            根据处理后的数据计算派生值和聚集值

     3、加载:将数据加载到目标系统的所有操作。

   一图胜千言!

  

           数据仓库典型架构图

  在上图中,有多个业务源系统,一个数据中转区,一个保存了所有历史数据的数据仓库和多个可以由终端用户访问的数据集市

  这些组成部分都是由数据整合过程来完成的,就是上图中显示的ETL

  在源系统和数据仓库之间,有一个数据中转区,也可以叫做数据缓冲区。它仅用来快速地从源数据系统中获取数据,并暂时保留这些数据。它不一定是一个数据仓库,在很多情况下,将数据保存在ASCII文件中比插入数据库表中还要快。

ELT和ETL的区别

  ELT,(即抽取、加载和转换的简称),在同ETL在数据整合的方法上有略微不同。在ETL的情况下,数据首先从源数据(可能是多个)进行抽取、加载到目标数据库中,再转换为所需的格式。所有大数据量处理全部放在目标数据库中进行。这种做法的好处在于,一般情况下,数据库系统更适合处理负荷在百万级以上的数据集成。

  ELT工具需要知道,如何使用目标数据库平台和相应的SQL语言。这就是在市面ELT解决方案较少的原因,类似Kettle这样的通用ETL工具也同样缺少这些功能。

  EII是虚拟数据整合,为什么要提出呢?因为啊,ETL和ELT都属于物理数据整合。即都是以物理方式将数据从OLTP移动或复制到数据仓库。

  

  有些情况啊,没有必要移动或复制数据。实际上,大多数用户并不关心ETL过程和数据仓库:他们只是想获得他们想要的数据!好比,我把上图比喻成饭店的厨房吧,我作为一个顾客并不关心饭菜是如何做出的,我只是希望能准时并且味道口可就行,什么厨房里发生事情跟我顾客身份无关。

  那么,这个生活里的道路,也适合在数据仓库里:即有些用户并不关心数据是如何处理的,他们紫红色想快速而容易访问到数据就行。

   即,除了属于物理数据集成方式里的ETL和ELT外,还有属于虚拟数据集成方式的EII。

虚拟数据集成和物理数据集成的比较

      当然,我这系列博客,是定位于Kettle,目前最流行、功能最强大的数据整合工具是Kettle,也被称为Pentaho  Data  Integration。

欢迎大家,加入我的微信公众号:大数据躺过的坑        人工智能躺过的坑
 
 
 

同时,大家可以关注我的个人博客

   http://www.cnblogs.com/zlslch/   和     http://www.cnblogs.com/lchzls/      http://www.cnblogs.com/sunnyDream/   

   详情请见:http://www.cnblogs.com/zlslch/p/7473861.html

  人生苦短,我愿分享。本公众号将秉持活到老学到老学习无休止的交流分享开源精神,汇聚于互联网和个人学习工作的精华干货知识,一切来于互联网,反馈回互联网。
  目前研究领域:大数据、机器学习、深度学习、人工智能、数据挖掘、数据分析。 语言涉及:Java、Scala、Python、Shell、Linux等 。同时还涉及平常所使用的手机、电脑和互联网上的使用技巧、问题和实用软件。 只要你一直关注和呆在群里,每天必须有收获

对应本平台的讨论和答疑QQ群:大数据和人工智能躺过的坑(总群)(161156071) 

Kettle学习系列之数据仓库、数据整合、ETL、ELT和EII之间的区别?的更多相关文章

  1. 大数据学习系列之九---- Hive整合Spark和HBase以及相关测试

    前言 在之前的大数据学习系列之七 ----- Hadoop+Spark+Zookeeper+HBase+Hive集群搭建 中介绍了集群的环境搭建,但是在使用hive进行数据查询的时候会非常的慢,因为h ...

  2. Kettle学习系列之Kettle能做什么?(三)

    不多说,直接上干货! PDI(Kettle) 都能做什么? 可以说凡是有数据整合.转换.迁移的场景都可以使用PDI,他代替了完成数据转换任务的手工编码,降低了开发难度. 同时,我们可以在自己实际业务里 ...

  3. PyQt(Python+Qt)学习随笔:QTextEdit的setText、setHtml、setPlainText之间的区别

    专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt入门学习 老猿Python博文目录 QTextEdit中提供了三个设置编辑器文本的方法,分别是setTex ...

  4. Kettle学习系列之Kettle的起源

    不多说,直接上干货! Kettle起源于十年以前,本世纪初.当时啊,ETL工具千姿百态,比较流行的工具有50个左右,ETL框架数量比工具还要多些. 根据这些工具的各自起源和功能可以分为以下4种类型,如 ...

  5. Kettle学习系列之kettle的下载、安装和初步使用(windows平台下)(图文详解)

    不多说,直接上干货! kettle的下载 žKettle可以在http://kettle.pentaho.org/网站下载                   http://sourceforge.n ...

  6. Caffe学习系列(13):数据可视化环境(python接口)配置

    caffe程序是由c++语言写的,本身是不带数据可视化功能的.只能借助其它的库或接口,如opencv, python或matlab.大部分人使用python接口来进行可视化,因为python出了个比较 ...

  7. ClickHouse学习系列之八【数据导入迁移&同步】

    背景 在介绍了一些ClickHouse相关的系列文章之后,大致对ClickHouse有了比较多的了解.它是一款非常优秀的OLAP数据库,为了更好的来展示其强大的OLAP能力,本文将介绍一些快速导入大量 ...

  8. Caffe学习系列(2):数据层及参数

    要运行caffe,需要先创建一个模型(model),如比较常用的Lenet,Alex等, 而一个模型由多个屋(layer)构成,每一屋又由许多参数组成.所有的参数都定义在caffe.proto这个文件 ...

  9. 转 Caffe学习系列(2):数据层及参数

    http://www.cnblogs.com/denny402/p/5070928.html 要运行caffe,需要先创建一个模型(model),如比较常用的Lenet,Alex等, 而一个模型由多个 ...

随机推荐

  1. 机器学习之线性分类器(Linear Classifiers)——肿瘤预测实例

    线性分类器:一种假设特征与分类结果存在线性关系的模型.该模型通过累加计算每个维度的特征与各自权重的乘积来帮助决策. # 导入pandas与numpy工具包. import pandas as pd i ...

  2. Cookie是存储在客户端上的一小段数据

    背景 在HTTP协议的定义中,采用了一种机制来记录客户端和服务器端交互的信息,这种机制被称为cookie,cookie规范定义了服务器和客户端交互信息的格式.生存期.使用范围.安全性. 在JavaSc ...

  3. jar文件配置冲突问题transformResourcesWithMergeJavaResForDebug

    先看本人AS报错异常 Error:Execution failed for task ':app:transformResourcesWithMergeJavaResForDebug'. > c ...

  4. c++ sort函数的用法

    C++ sort函数用法 FROM:http://hi.baidu.com/blackdemonfish/blog/item/e2c1d655d702a45ed0090652%2Ehtml 最近算法作 ...

  5. APUE学习笔记2——文件I/O

    1 引言 本章首先讨论Unix系统中大多数文件I/O最常用的5个系统函数:open.read.write.lseek以及close. 本章所说明的函数又被成为不带缓冲的I/O,不带缓冲是指每个read ...

  6. 安装全局可执行的gulp

    gulp需要作为项目的开发依赖(devDependencies)安装,全局安装了gulp是无法执行项目的,不单单需要全局安装 gulp:npm install gulp -g,也需要作为项目的开发依赖 ...

  7. ZBrush中Flatten展平笔刷介绍

    本文我们来介绍ZBrush®中的Flatten展平笔刷,Flatten笔刷能增加粗糙的平面在模型表面,利用它能够制作出完全的平面. Flatten展平笔刷 Flatten(展平):Flatten笔刷可 ...

  8. HDU 4458 Shoot the Airplane( 判断点在多边形内外 )

    链接:传送门 题意:这个游戏是一个2D打飞机游戏,飞机以速度 v 水平飞行,它是一个简单的多边形,玩家从( 0 , 0 )向上射击,子弹有一个出速度 b ,子弹可以看作一个点,打中飞机边缘是无法击落飞 ...

  9. BZOJ 1856 [SCOI2010]生成字符串 (组合数)

    题目大意:给你n个1和m个0,你要用这些数字组成一个长度为n+m的串,对于任意一个位置k,要保证前k个数字中1的数量大于等于0的数量,求所有合法的串的数量 答案转化为所有方案数-不合法方案数 所有方案 ...

  10. h5性能优化,细节决定结果。

    介绍一些最近整理的优化细节.图片压缩什么的就不说了,这是优化必须做的.今天就说一下大家写代码时可以培养的优化的细节点. 不滥用float.不滥用web字体. Float在渲染时计算量比较大,并且会脱标 ...