数据仓库究竟是什么?

        本贴是给刚接触大数据或者想要进入大数据行业的盆友们准备的,笔者也是新人,提供的知识均来自师傅的教导(现学现卖了属于是)如果言论有误还请大佬们指正(跪谢!!!)

一、什么是数据仓库?

先说百度上给出的结论:数据仓库,英文名称为Data Warehouse,可简写为DW或DWH。数据仓库,是为企业所有级别的决策制定过程,提供所有类型数据支持的战略集合。它是单个数据存储,出于分析性报告和决策支持目的而创建。 为需要业务智能的企业,提供指导业务流程改进、监视时间、成本、质量以及控制。

是不是很难理解?现在我将从另一个角度向你解释究竟什么是数据仓库。

首先,相信各位一定知道什么是数据库(database),从字面意思上来看就是一个用来存数据可以随时进行增删改查的库嘛。那么数据仓库呢就可以理解成一种另类的数据库。
这里我们要引入两个概念:联机事务处理(OLTP)和联机分析处理(OLAP)。
OLTP的特点就是服务于业务,需要进行小规模数据的频繁的增删改查,其重点在于响应速度、数据安全、时效性。打个比方,我们去银行存钱,把钱给柜台之后,我们的存款变动信息就会被实时地写入到银行的数据库中,在这个过程中我们肯定不希望银行写入数据的速度太慢(取个钱取半小时,这谁能忍啊o.O?)同时,我们也不希望我们的存款信息丢失或者密码信息泄露(卧槽我钱呢??)所以我们会使用数据库而非数据仓库来保存存款相关的信息。

OLAP的特点则是服务于分析,一个海量级数据存放的数据平台,重点在于数据的吞吐量而非速度。在公司中我们常常需要收集大量的数据(这些数据一半来源于多个服务于业务的数据库),将这些数据放入数据仓库中,并对它们进行数据清洗,数据处理,数据转换等操作,使其满足数据分析的要求。在这个过程中我们基本上不会对数据进行修改,所以响应速度和安全性都不那么重要了。

言归正传,数据库和数据仓库的本质区别就是OLTP系统和OLAP系统的区别。数据库更加侧重于事务处理,对响应速度和安全性要求较高,但对数据的吞吐量要求不大。而数据仓库侧重于数据吞吐量和稳定性,它不需要进行频繁的增删改查,但必须可以处理海量的数据或者文件。

除此之外,数据仓库和数据库并无太大区别,即使有区别也是一些底层逻辑上的区别。作为初学者,我们可以将数据仓库看作一个反应较慢、数据吞吐量极大的数据库。

但是我们在心里要知道,数据仓库并不是一个大型的数据库,它不能也不需要取代数据库,它只是一个分析数据的平台而已。

二、数据仓库的核心特征

面向主题性(Subject-Oriented):在数据仓库中分析数据时,要首先确定分析的主题,然后基于主题寻找、采集跟主题相关的数据。在数据分析的过程中要做到数据的宁滥勿缺。

集成性(Integrated):确定分析的主题后,我们需要从各个数据库中将与主题相关的数据集成到数据仓库中来。由于不同数据库中的数据可能存在单位、结构等各方面的差异,所以在集成的过程中还要进行ETL或者ELT操作。

不可更新性(Non-Volatile):数据仓库中的数据基本上不会修改(需要保证数据的真实性和结果的可信度)

时变性(Time-Variant):数据仓库中的数据通常会以时间为单位进行更新,比如一天一次或者一周一次等(离线数仓)。而在实时数仓中,数据会实时更新。

三、数据仓库的分层架构

ODS层:主要就是将各个数据源中的数据集中采集到指定平台中,几乎不对数据做任何处理,只是临时存放等待后续处理

DW层:对于数据进行数据清洗,数据处理,数据转换等,使其满足数据分析的要求

DA层:根据业务部门的需求,进行数据分析处理,获得的数据可以直接用于前端展示或数据报表等

希望在下的分享能够给刚刚接触大数据的朋友们提供一些帮助,也欢迎大佬们指正(再次跪谢!!!)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值