数据仓库(1)---数据仓库概述

2019-09-25  本文已影响0人  惑也

【声明】本文章来自穆晨 - 博客园,记录于此方便后期的学习和查阅

一、前言

阅读本文前,请先回答下面两个问题:

如果不能在五秒内给出答案,那么本文应该是对您有帮助的。

二、数据库"分家"

随着关系数据库理论的提出,诞生了一系列经典的RDBMS,如Oracle、MySQL、SQL Server等。这些RDBMS被成功推向市场,并为社会信息化的发展做出了重大贡献。

随着数据库使用范围的不断扩大,目前已逐步划分为两个基本类型:

1. 操作型数据库

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

2. 分析型数据库

主要用于离线(历史)数据分析。基于历史业务数据,进行单独的数据库存储,用于对公司各主题域,进行数据统计和分析;

数据库"分家"是必然趋势。随着数据库使用范围的不断扩大、数据量级的激增,如果基于同一套数据库系统,很容易造成操作型任务和分析型任务的资源冲突,另外在功能、技术、组成等层面也有很多不同。

三、操作型数据库 VS 分析型数据库

1. 数据组成差别
2. 技术差别
3. 功能差别

四、数据仓库(data warehouse)定义

分析型数据库中的操作都是查询,因此可以不需要严格满足完整性/参照性约束以及范式设计要求,而这些却正是关系数据库的精华所在。在这样的情况下,再将它称为数据库,很容易引起大家混淆,毕竟在绝大多数人心中,数据库是可以与关系型数据库画等号的。

数据仓库,最简洁的定义就是:面向分析的存储系统

数据仓库不依赖传统关系数据库来实现,因为关系数据库最少也要求满足第1范式,而数据仓库里的关系表,可以不满足第1范式,即同样的记录在一个关系表里可以出现N次。

由于大多数的数据仓库,其表的统计分析还是用SQL语言来实现,因此很容易让人把它和关系数据库搞混。

分析型数据库的特点:

五、数据仓库组件

数据仓库的核心组件有四个:各源数据库,ETL,数据仓库,前端应用。如下图所示:

六、数据集市(data mart)

数据集市可以理解为是一种"小型数据仓库",它只包含单个主题,且关注范围也非全局。

数据集市可以分为两种:

当用户或者应用程序不需要、不必要、不允许用到整个数据仓库的数据时,非独立数据集市就可以简单为用户提供一个数据仓库的"子集"。

七、数据仓库开发流程

较之数据库系统开发,数据仓库开发只多出ETL工程部分。通常,该部分可能是整个数据仓库开发流程中最为耗时、耗资源的一个环节。

因为该环节要整理各大业务系统中杂乱无章的数据,并协调元数据上的差别,所以工作量很大。在很多公司都专门设有ETL工程师这样的岗位,大的公司甚至专门聘请ETL专家。

在大数据时代,数据仓库的重要性更胜以往。Hadoop平台下的Hive,Spark平台下的Spark SQL都是各自生态圈内应用最热门的配套工具,而它们的本质就是开源分布式数据仓库。

上一篇 下一篇

猜你喜欢

热点阅读