数据库和数据仓库的区别

转载 2006年05月29日 14:14:00

数据库是面向事务的设计,数据仓库是面向主题设计的。
数据库一般存储在线交易数据,数据仓库存储的一般是历史数据。
数据库设计是尽量避免冗余,一般采用符合范式的规则来设计,数据仓库在设计是有意引入冗余,采用反范式的方式来设计。
数据库是为捕获数据而设计,数据仓库是为分析数据而设计,它的两个基本的元素是维表和事实表。(维是看问题的角度,比如时间,部门,维表放的就是这些东西的定义,事实表里放着要查询的数据,同时有维的ID)

数据仓库,是在数据库已经大量存在的情况下,为了进一步挖掘数据资源、为了决策需要而产生的,它决不是所谓的“大型数据库”。那么,数据仓库与传统数据库比较,有哪些不同呢?让我们先看看W.H.Inmon关于数据仓库的定义:面向主题的、集成的、与时间相关且不可修改的数据集合。

  “面向主题的”:传统数据库主要是为应用程序进行数据处理,未必按照同一主题存储数据;数据仓库侧重于数据分析工作,是按照主题存储的。这一点,类似于传统农贸市场与超市的区别—市场里面,白菜、萝卜、香菜会在一个摊位上,如果它们是一个小贩卖的;而超市里,白菜、萝卜、香菜则各自一块。也就是说,市场里的菜(数据)是按照小贩(应用程序)归堆(存储)的,超市里面则是按照菜的类型(同主题)归堆的。

  “与时间相关”:数据库保存信息的时候,并不强调一定有时间信息。数据仓库则不同,出于决策的需要,数据仓库中的数据都要标明时间属性。决策中,时间属性很重要。同样都是累计购买过九车产品的顾客,一位是最近三个月购买九车,一位是最近一年从未买过,这对于决策者意义是不同的。

  “不可修改”:数据仓库中的数据并不是最新的,而是来源于其它数据源。数据仓库反映的是历史信息,并不是很多数据库处理的那种日常事务数据(有的数据库例如电信计费数据库甚至处理实时信息)。因此,数据仓库中的数据是极少或根本不修改的;当然,向数据仓库添加数据是允许的。

  数据仓库的出现,并不是要取代数据库。目前,大部分数据仓库还是用关系数据库管理系统来管理的。可以说,数据库、数据仓库相辅相成、各有千秋

 

补充一下,数据仓库的方案建设的目的,是为前端查询和分析作为基础,由于有较大的冗余,所以需要的存储也较大。为了更好地为前端应用服务,数据仓库必须有如下几点优点,否则是失败的数据仓库方案。
1.效率足够高。客户要求的分析数据一般分为日、周、月、季、年等,可以看出,日为周期的数据要求的效率最高,要求24小时甚至12小时内,客户能看到昨天的数据分析。由于有的企业每日的数据量很大,设计不好的数据仓库经常会出问题,延迟1-3日才能给出数据,显然不行的。
2.数据质量。客户要看各种信息,肯定要准确的数据,但由于数据仓库流程至少分为3步,2次ETL,复杂的架构会更多层次,那么由于数据源有脏数据或者代码不严谨,都可以导致数据失真,客户看到错误的信息就可能导致分析出错误的决策,造成损失,而不是效益。
3.扩展性。之所以有的大型数据仓库系统架构设计复杂,是因为考虑到了未来3-5年的扩展性,这样的话,客户不用太快花钱去重建数据仓库系统,就能很稳定运行。主要体现在数据建模的合理性,数据仓库方案中多出一些中间层,使海量数据流有足够的缓冲,不至于数据量大很多,就运行不起来了

 

数据库与数据仓库的区别与联系

数据库是面向事务的设计,数据仓库是面向主题设计的。数据库一般存储在线交易数据,数据仓库存储的一般是历史数据。 数据库是面向事务的设计,数据仓库是面向主题设计的。数据库一般存储在线交易数据,数据仓库存储...
  • wenjie847
  • wenjie847
  • 2010年10月11日 22:07
  • 6171

数据仓库与操作数据库的差异

数据仓库的定义并没有统一的说法, 通常人们认可的概念是: 面向主题的, 集成的, 稳定的, 时间的数据集合, 支持管理者的决策过程.  数据仓库中的数据面向分析处理而组织, 而面向事务处理型的数据库...
  • nxcjh321
  • nxcjh321
  • 2016年10月09日 16:32
  • 268

Hadoop与传统数据仓库的区别

1. 数据仓库业界是否该为Hadoop的迅速崛起而感到担忧甚至恐慌?抑或是该向其敞开热情的怀抱?Cloudera公司的Doug Cutting与Hortonworks公司的Arun Murthy作为...
  • wangxiaopeng0329
  • wangxiaopeng0329
  • 2015年07月17日 17:53
  • 3177

数据仓库和数据集市的区别

数据仓库与数据集市 看了很多数据仓库方面的资料,都涉及到了“数据集市”这一说法,刚开始对数据仓库和数据集市的区别也理解得比较肤浅,现在做个深入的归纳和总结,主要从如下几个方面进行阐述: (1)...
  • map_lixiupeng
  • map_lixiupeng
  • 2014年11月15日 00:16
  • 53846

数据仓库与数据集合的概念与区别?

什么是数据仓库,什么又是数据集合,数据集合与数据仓库的对比
  • qichangjian
  • qichangjian
  • 2017年08月26日 16:42
  • 178

数据仓库和数据集市的区别和联系

http://blog.csdn.net/vertour/article/details/8508148
  • OnlyQi
  • OnlyQi
  • 2016年03月07日 17:09
  • 1543

Oracle 10g DBCA建库四个选项的区别------ 一般用途 事务处理 定制数据库数据仓库

一般用途=兼顾OLTP和OLAP    事务处理=OLTP    数据仓库=OLAP    定制数据库=自定义 ***************************黄金分割线(深入探析)...
  • hongkaihua1987
  • hongkaihua1987
  • 2016年07月02日 11:54
  • 1834

数据仓库与传统关系型数据库的差别

传统的关系型数据库RDB遵循一致的关系型模型,其中的数据(记录)以表格的方式存储,并且能用统一的结构化查询语言(Structual Query Language,SQL)进行数据查询,因此它的应用常被...
  • flybird19870326
  • flybird19870326
  • 2010年11月10日 11:17
  • 2275

ETL与数据仓库的区别(二)

ETL常与数据仓库相关. 那么就需要知道数据仓库是什么 数据仓库 具体概念可以参考百度百科/英文原文.此处不做理解 我所理解的数据仓库 字面拆分:数据                   ...
  • xinlangtianxia
  • xinlangtianxia
  • 2016年05月30日 12:06
  • 707

数据中心和数据仓库,在信息化建设中有何作用?

现在可能各大IT新闻都会提到"数据中心", 看起来是很庞大的家伙, IT巨头google,MS等耗资巨头投入到数据中心建设中. 那么什么是数据中心? 从字面意思,非IT人可能人认为是放数据的计算机中心...
  • wishfly
  • wishfly
  • 2006年08月13日 20:36
  • 2025
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:数据库和数据仓库的区别
举报原因:
原因补充:

(最多只允许输入30个字)