简而言之,数据库是面向事务的设计,数据仓库是面向主题设计的。
数据库一般存储在线交易数据,数据仓库存储的一般是历史数据。
数据库设计是尽量避免冗余,一般采用符合范式的规则来设计,数据仓库在设计是有意引入冗余,采用反范式的方式来设计。
数据库是为捕获数据而设计,数据仓库是为分析数据而设计,它的两个基本的元素是维表和事实表。维是看问题的角度,比如时间,部门,维表放的就是这些东西的定义,事实表里放着要查询的数据,同时有维的ID。
单从概念上讲,有些晦涩。任何技术都是为应用服务的,结合应用可以很容易地理解。以银行业务为例。数据库是事务系统的数据平台,客户在银行做的每笔交易都会写入数据库,被记录下来,这里,可以简单地理解为用数据库记帐。数据仓库是分析系统的数据平台,它从事务系统获取数据,并做汇总、加工,为决策者提供决策的依据。比如,某银行某分行一个月发生多少交易,该分行当前存款余额是多少。如果存款又多,消费交易又多,那么该地区就有必要设立ATM了。
显然,银行的交易量是巨大的,通常以百万甚至千万次来计算。事务系统是实时的,这就要求时效性,客户存一笔钱需要几十秒是无法忍受的,这就要求数据库只能存储很短一段时间的数据。而分析系统是事后的,它要提供关注时间段内所有的有效数据。这些数据是海量的,汇总计算起来也要慢一些,但是,只要能够提供有效的分析数据就达到目的了。
数据仓库,是在数据库已经大量存在的情况下,为了进一步挖掘数据资源、为了决策需要而产生的,它决不是所谓的“大型数据库”。那么,数据仓库与传统数据库比较,有哪些不同呢?让我们先看看W.H.Inmon关于数据仓库的定义:面向主题的、集成的、与时间相关且不可修改的数据集合。
“面向主题的”:传统数据库主要是为应用程序进行数据处理,未必按照同一主题存储数据;数据仓库侧重于数据分析工作,是按照主题存储的。这一点,类似于传统农贸市场与超市的区别—市场里面,白菜、萝卜、香菜会在一个摊位上,如果它们是一个小贩卖的;而超市里,白菜、萝卜、香菜则各自一块。也就是说,市场里的菜(数据)是按照小贩(应用程序)归堆(存储)的,超市里面则是按照菜的类型(同主题)归堆的。
“与时间相关”:数据库保存信息的时候,并不强调一定有时间信息。数据仓库则不同,出于决策的需要,数据仓库中的数据都要标明时间属性。决策中,时间属性很重要。同样都是累计购买过九车产品的顾客,一位是最近三个月购买九车,一位是最近一年从未买过,这对于决策者意义是不同的。
“不可修改”:数据仓库中的数据并不是最新的,而是来源于其它数据源。数据仓库反映的是历史信息,并不是很多数据库处理的那种日常事务数据(有的数据库例如电信计费数据库甚至处理实时信息)。因此,数据仓库中的数据是极少或根本不修改的;当然,向数据仓库添加数据是允许的。
数据仓库的出现,并不是要取代数据库。目前,大部分数据仓库还是用关系数据库管理系统来管理的。可以说,数据库、数据仓库相辅相成、各有千秋。
补充一下,数据仓库的方案建设的目的,是为前端查询和分析作为基础,由于有较大的冗余,所以需要的存储也较大。为了更好地为前端应用服务,数据仓库必须有如下几点优点,否则是失败的数据仓库方案。
1.效率足够高。客户要求的分析数据一般分为日、周、月、季、年等,可以看出,日为周期的数据要求的效率最高,要求24小时甚至12小时内,客户能看到昨天的数据分析。由于有的企业每日的数据量很大,设计不好的数据仓库经常会出问题,延迟1-3日才能给出数据,显然不行的。
2.数据质量。客户要看各种信息,肯定要准确的数据,但由于数据仓库流程至少分为3步,2次ETL,复杂的架构会更多层次,那么由于数据源有脏数据或者代码不严谨,都可以导致数据失真,客户看到错误的信息就可能导致分析出错误的决策,造成损失,而不是效益。
3.扩展性。之所以有的大型数据仓库系统架构设计复杂,是因为考虑到了未来3-5年的扩展性,这样的话,客户不用太快花钱去重建数据仓库系统,就能很稳定运行。主要体现在数据建模的合理性,数据仓库方案中多出一些中间层,使海量数据流有足够的缓冲,不至于数据量大很多,就运行不起来了。
分享到:
相关推荐
数据库与数据仓库导论是一门深入探讨这些主题的课程或教材,旨在帮助学习者理解数据库的基本概念、设计原则以及数据仓库在现代商业智能中的作用。 首先,我们需要了解数据库的基本概念。数据库是一个有组织的数据...
数据库和数据仓库是两种在数据管理和分析中至关重要的系统,它们在设计目标、用途和结构上有显著的区别。本文将深入探讨这些差异,并结合具体应用场景帮助理解。 首先,数据库设计的核心是面向事务,它是为了处理...
数据仓库与数据库的主要区别在于其用途和设计原则。数据仓库是一个专为分析和报告而设计的中央存储库,它整合了来自不同源的多种数据,经过清洗和转换,以支持决策制定。数据仓库通常分为多个层次,包括操作数据存储...
数据库/数据仓库相关学习资料数据库/数据仓库相关学习资料数据库/数据仓库相关学习资料数据库/数据仓库相关学习资料数据库/数据仓库相关学习资料数据库/数据仓库相关学习资料数据库/数据仓库相关学习资料数据库/数据...
#### 数据仓库与传统数据库的比较 虽然传统数据库在事务处理方面表现优秀,但在决策支持方面却显得力不从心。这是因为传统数据库和数据仓库的设计理念和应用场景有所不同。 ##### 差异概述 1. **处理类型**: - ...
《构建基于FoodMart数据库的数据仓库与OLAP》 在当今商业环境中,数据分析和决策支持的重要性日益凸显。数据仓库和OLAP(在线分析处理)技术为此提供了强大的工具。本实验主要探讨如何基于FoodMart数据库构建一个...
数据库与数据仓库是信息技术领域中的两个核心概念,它们在数据管理和分析中扮演着至关重要的角色。首先,我们来深入理解一下这两个概念。 数据库(Database)是存储和组织数据的系统,它提供了一种有效的方式来存储...
### 多维度数据库与数据仓库概述 在信息技术领域中,数据管理是至关重要的组成部分,而多维度数据库(Multidimensional Databases)与数据仓库(Data Warehousing)则是两种非常重要的数据管理和分析技术。《多维度...
数据库和数据仓库管理是信息化领域中的核心组成部分,它们在企业数据管理和决策支持中扮演着至关重要的角色。本教材主要涵盖了六个关键章节,旨在深入讲解数据管理的基础理论和实践技术。 首先,数据管理是数据组织...
数据库与数据仓库的区别
总的来说,数据库和数据仓库在设计哲学、目标和使用上都有其独特性,理解这些区别对于有效地管理和利用数据至关重要。在信息化时代,企业既要拥有高效的数据库来支持日常运营,也需要强大的数据仓库来挖掘数据的深层...
综上所述,数据库与数据仓库的核心区别在于它们的目标、设计原则和使用场景。数据库是业务操作的支持者,而数据仓库则是数据分析和决策支持的基石。理解这两者的差异对于构建高效的数据管理系统至关重要。
### 数据库、数据仓库与数据模型详解 #### 数据库(Database) 数据库是指长期存储在计算机内的、有组织的、可共享的数据集合。它不仅包括存放数据的仓库本身,还包括与之相关联的数据管理软件(数据库管理系统)。...
数据库与数据仓库是信息技术领域中的核心概念,它们在数据管理和分析中起着至关重要的作用。数据管理是确保数据的有效组织、存储和访问的过程,而数据库和数据仓库是实现这一目标的两种主要工具。 首先,我们来看...
【数据库与数据仓库信息的黄金宝藏】 在当今竞争激烈的商业环境中,信息已成为企业的重要资产,被誉为信息时代的黄金宝藏。信息的有效组织和管理是提升企业决策效率、竞争力的关键。数据库和数据仓库作为信息处理的...