2021-02-02 11:31:50

数据仓库的概念(一):什么是数据仓库与数据库有什么不同


数据仓库的概念(一):什么是数据仓库与数据库有什么不同

本文作为开启大数据技术入门级系列教程首篇文章,我们使用的任何大数据组件和工具其实都是在解决数据的问题,而数据就需要通过数据仓库存取,无论你使用什么样的技术架构都离不开数据仓库,所以第一篇文章先了解一下什么是数据仓库,以及数据仓库和数据库有什么区别。

任霏注:本文认为读者已经掌握了传统结构化数据库的知识,所以在讲数据仓库时直接拿数据库进行比较,如果您对结构化数据库不了解,请先了解结构化数据库的基础知识。

什么是数据仓库

数据仓库(Data Warehouse)一般被缩写为DW、DWH,注意这个缩写,在行业和后续的内容中将经常使用DW缩写作为数据仓库的名字。什么是数据仓库,我说了不算,这里引用维基百科的描述:

数据仓库是用于报告和数据分析的系统,被认为是商业智能的核心组件。数据仓库是来自一个或多个不同源的集成数据的中央存储库。数据仓库将当前和历史数据存储在一起,用于为整个企业的员工创建分析报告。

数据仓库之父比尔·恩门(Bill Inmon)在1991年出版的“Building the Data Warehouse”(《建立数据仓库》)一书中所提出的定义被广泛接受——数据仓库(Data Warehouse)是一个面向主题的(Subject Oriented)、集成的(Integrated)、相对稳定的(Non-Volatile)、反映历史变化(Time Variant)的数据集合,用于支持管理决策(Decision Making Support)。

根据数据仓库之父比尔·恩门的描述,我们可知道数据仓库的特点:

  • 面向主题的(Subject Oriented):数据是按照一定的主题域进行组织
  • 集成的(Integrated):数据有来自于分散的操作型数据,将所需数据从原来的数据中抽取出来,进行加工与集成
  • 相对稳定的(Non-Volatile):数据不更新,主要是为决策分析提供数据,所涉及的操作主要是数据的查询
  • 反映历史变化(Time Variant):稳定的数据以只读格式保存,且不随时间改变
  • 用于支持管理决策(Decision Making Support)

数据仓库与数据库有什么区别

我们常见的数据库 DB (Oracle, Mysql, PostgreSQL)主要用于事务处理,例如银行转账、购物下单,需要很高响应能力,由数据表构成,每张表描述一个事物记录,例如用户表会描述一个用户的名字和密码。

数据仓库 DW (Amazon Redshift, Hive)主要用于数据分析,存储元数,据虽然也有数据表,但表可能不再是描述事物,可能是描述一个主题,例如用户表不仅仅是用户的名字和密码根据需要分析的维度,用户表可能会非常宽,包含用户的所有信息。

任霏注:数据库是为了记录一件事一个物,处理实时发生的事件;数据仓库是为分析而生,按照主题归类数据方便按类提取数据进行分析。

数仓中是如何划分主题

上面说到数仓是按主题(Subject)存储的,主题是对数据综合、归类和分析利用的一个抽象概念,一个主题基本对应一个宏观的分析领域,由于是入门级的教程,旨在快速入门,咱们先不探究更深入的模型设计,先让大家知道主题。

在现实中,可能根据不同的视角,按照业务、根据需求按照功能或应用等方式划分不同的主题域,所以没有固定的标准建设方案,在建设过程中可采用迭代方式,不纠结于一次完成所有主题的抽象,可先从明确定义的主题开始,后续逐步归纳总结成自身行业的标准模型。


商业用途请联系作者获得授权。
版权声明:本文为博主「任霏」原创文章,遵循 CC BY-NC-SA 4.0 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://www.renfei.net/posts/1003445
评论与留言
以下内容均由网友提交发布,版权与真实性无法查证,请自行辨别。

本站有缓存策略,时间约2小时后能看到您的评论。本站使用自动审核机制,如果您的内容包含广告/谩骂/恐怖/暴力/涉政等不和谐内容将无法展示!


本站有缓存策略,时间约2小时后能看到您的评论。本站使用自动审核机制,如果您的内容包含广告/谩骂/恐怖/暴力/涉政等不和谐内容将无法展示!