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/

目录
相关文章
|
编译器
overleaf 参考文献引用,创建引用目录.bib文件,在文档中引用参考文献,生成参考文献列表
overleaf 参考文献引用,创建引用目录.bib文件,在文档中引用参考文献,生成参考文献列表
9348 0
|
机器学习/深度学习 人工智能 自然语言处理
五分钟带你了解ChatGPT的基本原理
五分钟带你了解ChatGPT的基本原理
1390 0
五分钟带你了解ChatGPT的基本原理
|
机器学习/深度学习 人工智能 算法
AIGC时代的智能退化
【1月更文挑战第15天】AIGC时代的智能退化
227 1
AIGC时代的智能退化
|
9月前
|
机器学习/深度学习 人工智能 自然语言处理
NeurIPS Spotlight:从分类到生成:无训练的可控扩散生成
无训练的可控扩散生成是一种新颖的生成模型方法,无需额外训练即可利用已有无条件扩散模型和目标属性预测器生成具有特定属性的样本。相比传统模型,它减少了计算成本,提升了可控性和灵活性,适用于图像、文本等领域。然而,该方法也面临预测器质量、算法鲁棒性和数据多样性等挑战。此研究在NeurIPS会议上获Spotlight关注,论文链接:https://arxiv.org/abs/2409.15761。
189 15
|
网络安全 开发工具 git
解决fatal:remote error:You can’t push to git://github.com/username/*.g
通过上述诊断与修复步骤,绝大多数的推送错误都能得到有效解决,确保您的Git工作流顺畅无阻。
609 1
|
Serverless 网络安全 Python
Ansible原理和安装
Ansible原理和安装
284 1
|
数据安全/隐私保护 Docker 容器
docker 部署nexus
要在Docker上部署Nexus,可以按照以下步骤进行操作: 1. 确保已经安装并配置好Docker。可以在官方网站(https://www.docker.com/)上找到适合你操作系统的安装程序,并按照说明进行安装。 2. 搜索并下载Nexus的Docker镜像。在Docker Hub上搜索"Nexus",找到Sonatype官方提供的Nexus Repository Manager的镜像。 3. 使用以下命令从Docker Hub上下载Nexus镜像: ``` docker pull sonatype/nexus3 ``` 4. 运行Nexus容器。使用以下命令创建并运行一个名为"
1470 0
顺序表的插入,删除,修改和查找(详细解析)
顺序表的插入,删除,修改和查找(详细解析)
339 5
|
Ubuntu 安全 Linux
在Ubuntu 20.04上安装和配置VNC的方法
在Ubuntu 20.04上安装和配置VNC的方法
1694 0