10分钟带你了解数据仓库

 

现在的信息大爆炸时代,我们的生活中充斥着各种各样的数据,所以啦,各个公司为了更方便的管理各种业务以及运营中产生的数据信息呢,从而开发了数据库,像咱们大家都熟悉的结构化数据库工具Oracle、MySQL、SQL server等,以及后来发展起来的非结构化数据库工具。非结构化数据库工具呢又有各自的特点,像键值存储的数据库工具Redis,列存储数据库工具Hbase,面向文档存储的半结构化数据库工具MongoDB等等。但是,大家有没有听过另一个词“数据仓库”?

“What?”咋又冒出来一个数据仓库呢?

10分钟带你了解数据仓库_第1张图片

对的,没错,就是数据仓库。同样也是为了存储管理数据而存在的,并且数据仓库是因为需要从传统的数据库概念衍生出来的,但是数据仓库的概念和数据库还是有差别的哦,可不能简简单单把数据仓库和数据库混为一谈呢!那么下面就来剖析一下,到底啥是数据仓库?

下面给出一个官方的概念:“数据仓库是一个面向主题的、集成的、时变的、非易失的数据集合,支持管理决策制定。”

嗯嗯,没毛病呢,不管怎么看数据库和数据仓库都是存储数据的嘛,不过它们两个的作用可不一样哦!谈到这里就要说说数据库的发展历史了。。。

大家看图1,注意70年代的时候产生数据库管理系统,到了80年代后期,随着业务的不断扩大、信息种类越来越丰富而衍生出了数据仓库的概念。大家要注意到哦,数据库在70年代出现时还有一个概念OLTP(联机事务处理),数据仓库在80年代后期出现时也有一个概念OLAP(联机分析处理)。

10分钟带你了解数据仓库_第2张图片

 图1数据库的进化

 

所以,通常所说的数据库其实是指操作型数据库,用的是OLTP技术,而数据仓库就和OLAP技术挂钩了。

我们可以再次总结一下这个概念:

操作型数据库:主要用于业务支撑。一个公司往往会使用并维护若干个数据库,这些数据库保存着公司的日常操作数据,比如商品购买、酒店预订、学生成绩录入等;

分析型数据库:主要用于历史数据分析,这类数据库作为公司的单独数据存储,负责利用历史数据对公司各主题域进行统计分析。

下面简单说一下OLTP和OLAP的区别,大家就知道数据库和数据仓库到底咋回事了。

请看下面的图2,我们就大概知道了,数据仓库面临的业务分析会更加多样和复杂呢!

10分钟带你了解数据仓库_第3张图片

 

图2 OLTP和OLAP的区别

好啦,大致了解了数据库和数据仓库之间的一些爱恨纠葛,那么回归正题,我们继续来看数据仓库到底是什么?

那么从其定义出发我们先看看数据仓库的四个特点哦!

  1. 面向主题的:数据仓库围绕一些主题,如顾客、供应商、产品和销售组织。数据仓库关注决策者的数据建模与分析,而不是构造组织的日常操作和事务处理。因此,数据仓库排除无用的数据,提供特定主题的简明视图。
  2. 集成的:构造数据仓库是将多个异种数据源,如一般文件、关系数据库和联机事务处理记录,集成到一起。使用数据清理和数据集成技术,确保命名约定、编码结构、属性变量的一致性。
  3. 时变的:数据存储从历史的角度提供信息。数据仓库中的关键结构,隐式或显示地包含时间元素。
  4. 非易失的:数据仓库总是物理地分离存放数据;这些数据源于操作环境下的应用数据。由于这种分离,数据仓库不需要事务处理、恢复和并行控制机制。通常,它只需要两种数据访问:数据的初始化装入和数据访问。

 

下面图3所展示的是数据仓库大致的一个组成结构,我们可以看到从数据源采集进来的数据经过ETL(抽取、转换、加载)加工存放到数据仓库中,数据仓库中的数据可以支撑OLAP分析、数据挖掘、分析报告查询等。当然啦,构建整个数据仓库是重中之重,需要根据企业的不同业务需求来进行设计,这里就不多说啦,感兴趣的小伙伴可以自己深度研究哦!

10分钟带你了解数据仓库_第4张图片

图3数据仓库的组成结构

简而言之,数据仓库是一种语义上一致的数据存储,它充当决策支持数据模型的物理实现,并存放企业决策所需信息。通俗点就是,什么都存,而且长时间存储,并且查询量大,分析的业务复杂,主题对象可以在这里找到或者分析自己想要的数据,这就是数据仓库。

其实数据仓库更多的是一个概念, 主要用于业务分析,不要把它想象成一个软件产品什么的哦!

好啦,以上就是对数据仓库大概的一个介绍喽,小伙伴们都清楚数据仓库的含义和作用了吧!

你可能感兴趣的:(数据仓库)