ETL学习笔记之一:ETL是什么?

简介:

对于数据仓库以及ETL的知识,我基本上是个门外汉。一切都得从头开始,记个笔记,方便自已了解学习进度。


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

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

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

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

然后,我们来看看为什么要ETL?
在我看来,有两个原因。
一:性能  将需要分析的数据从OLTP中抽离出来,使分析和事务处理不冲突。咦?这不是数据仓库的效果吗?是了,

数据仓库,大多数情况下,也就是通过ETL工具来生成地。

二:控制  用户可以完全控制从OLTP中抽离出来的数据,拥有了数据,也就拥有了一切。
嗯,OLAP分析,数据挖掘等等等……。

最后,总结一下,
从资料上看,ETL是一门大学问,对于大学问,实在有些怕怕,所以,我觉得应该停下来想一想,下一步我该干点啥?
嗯,时不我待,我没有办法一切从头开始,
是了,从应用出发,看看现在工作中,最急需的是什么?

鸭子要变成一盘菜,并不是举手将之置于油锅之劳。 
OK,要将生米变为熟饭,鸭子放上大盘,一堆废话之后,我得先看看厨房里都有了一些啥?

本文出自seven的测试人生公众号最新内容请见作者的GitHub页:http://qaseven.github.io/

目录
相关文章
|
数据采集 SQL 分布式计算
常用的数据集成ETL工具有哪些?
六种常用的数据集成ETL工具
常用的数据集成ETL工具有哪些?
|
7月前
|
存储 数据采集 数据挖掘
ETL是个什么样的过程
【5月更文挑战第11天】ETL是个什么样的过程
147 2
|
7月前
|
存储 数据采集 分布式计算
ETL-预处理
ETL-预处理
108 3
|
消息中间件 分布式计算 BI
ETL和ELT到底有啥区别???
ETL和ELT到底有啥区别???
|
数据采集 机器学习/深度学习 存储
ETL工程师必知的数据清洗方法【最全】
ETL工程师必知的数据清洗方法【最全】
|
数据采集 存储 SQL
ETL基础知识,看完这一篇应该够了!
ETL基础知识,看完这一篇应该够了!
1377 1
|
数据采集 关系型数据库 数据处理
ETL基本概念
ETL基本概念
|
数据采集 存储 JSON
ETL与ELT中数据质量的最佳实践
几十年来,企业数据集成项目在数据处理、集成和存储需求上都严重依赖传统的ETL。如今,来自不同来源的大数据和非结构化数据的出现,使得基于云的ELT解决方案变得更加流行。
ETL与ELT中数据质量的最佳实践
|
存储 SQL 数据采集
ETL 为什么经常变成 ELT 甚至 LET?
ETL是将数据从来源端经过清洗(extract)、转换(transform)、加载(load)至目的端的过程。正常的 ETL 过程应当是 E、T、L 这三个步骤逐步进行,也就是先清洗转换之后再加载进目标端(通常是数据库),最后在数据库中的只是合理的结果数据。这个过程本来很合理,但实际过程中经常被执行成ELT甚至LET,即源端数据先装载进目标库再进行清洗和转换。
184 0
ETL 为什么经常变成 ELT 甚至 LET?
|
数据库连接 数据库 关系型数据库
ETL工具 kettle
Kettle简介:Kettle是一款国外开源的ETL工具,纯java编写,可以在Window、Linux、Unix上运行,数据抽取高效稳定。Kettle 中文名称叫水壶,该项目的主程序员MATT 希望把各种数据放到一个壶里,然后以一种指定的格式流出。Kettle这个ETL工具集,它允许你管理来自不同数据库的数据,通过提供一个图形化的用户环境来描述你想做什么,而不是你想怎么做。Kettl
9543 0