微信号:gh_1cb598337696

介绍:Qtest,是360公司唯一的服务端测试团队.我们的理念是做一个会编程的测试工程师,做一个不断思考,全力保证产品质量的测试工程师.

数据仓库小课堂

2019-01-02 19:47 莫非

点击蓝字关注这个神奇的公众号~


笔者参与了BI项目的ETL测试,为此学习了一些数据仓库的知识,现学现卖,给大家介绍介绍我眼中的ETL和数据仓库。

首先是传统的概念解释环节。

什么是BI呢,BI(Business Intelligence)即商务智能,它是一套完整的解决方案,用来将企业中现有的数据(原始数据或商业数据或业务数据等)进行有效的整合,快速准确地提供报表并提出决策依据,帮助企业做出明智的业务经营决策。


那什么是ETL呢,ETL(Extract,Transform,and Load)即数据的提取,转换和加载,ETL是将业务系统中的数据抽取出来经过数据清洗和转换再加载到数据仓库的一个过程。他可以把业务系统中分散的杂乱不堪的不标准不统一数据整合到一起,为企业的业务流程改进、监视时间、成本、质量以及控制提供分析依据。


数据仓库又是什么呢,数据仓库(Data Warehouse)顾名思义,是一个很大的数据存储集合,出于企业的分析性报告和决策支持目的而创建,对多样的业务数据进行筛选与整合。


都是存数据的,那数据仓库是不是和数据库差不多啊?

其实吧,在我看来数据仓库是数据库的定制版。是因为在数据量越来越大的当下,数据库这种面向事务的数据存储集合已经不能满足大量数据的商业分析需要,所以我们需要一个面向主题的、集成的、相对稳定的、能够反映历史变化的数据存储集合,这就是数据仓库。


什么叫面向主题呢?这个其实是相对于数据库而言的,举个栗子,有个用户购买了一本书,就数据库而言关心的主要是这一购买事务的发生并存储相关信息,而对于数据仓库而言,关心的是这个用户的购买行为,需要用到这一用户以往的购买事务信息,以及购买这本书的所有用户相关信息。所以面向主题的数据仓库在用于分析时需要用的到数据是巨大规模的,甚至会综合好几个信息系统,如mysql、sqlserver、MongoDB等。


什么叫集成的呢?其实,正因为数据仓库中存储的数据是来源于多个信息系统即数据源,所以我们需要用到ETL来对异种数据源的数据进行抽取、清洗、转换,最终整合加载到我们的数据仓库中。


什么叫相对稳定的呢?这个是指我们存储在数据仓库的的数据一般是不允许修改的,需要用到数据仓库中数据的用户只能通过分析工具进行查询和分析。


能够反映历史变化的,这一特点在我看来其实有两面:

其一,数据库在设计上是要避免冗余,而数据仓库则是能存多少就存多少,有意冗余,这样数据仓库能利用到的历史数据是比数据库要多的多的,这样才便于分析历史变化。

其二,数据仓库也是定期接收了最新数据的,能够反映最新的数据变化。所以数据仓库是新旧数据统筹兼顾,能够反映历史变化。


数据仓库的特点说完了,那现在主流的数据仓库又有那些呢?主流的是一款基于Hadoop的开源数据仓库工具,名叫Hive。Hive可以对存储在HDFS(Hadoop的分布式文件系统)上的文件数据集进行查询和分析处理。Hive对外提供了类似于SQL语言的查询语言 HiveSQL,在做查询时将HiveSQL语句转换成MapReduce(一种针对海量数据的并行计算模型)任务,在Hadoop层进行执行。

以上就是我们的数据仓库小课堂的所有内容啦,等笔者学了更多的大数据课程再来给大家开展新的小课堂。



Qtest是360旗下的专业测试团队!

是WEB平台部测试技术平台化、效率化的先锋力量!


陪伴是最长情的告白

每日为你推送最in的测试技术

识别二维码

关注我们


 
Qtest之道 更多文章 DNS和BIND总结 Java代码静态检查工具Error Prone 奇效周年庆-听说你和奖品只差一个手指的距离? 接口测试--参数实现MD5加密签名规则 最大连接数限制因素
猜您喜欢 懂点投资理财的思维 讲述下 :LVM逻辑卷管理遇到的问题 【重磅】显微镜下的运维自动化 CTF之PHP黑魔法总结 八卦某 G 的前端开发方式及流程