`

简述数据库与数据仓库的区别

阅读更多

文章来源(http://searchdatabase.techtarget.com.cn/tips/229/2313729.shtml

简而言之,数据库是面向事务设计的,数据仓库是面向主题设计的
 
数据库一般存储在线交易数据,数据仓库存储的一般是历史数据
 
数据库设计是尽量避免冗余,一般采用符合范式的规则来设计,数据仓库在设计时有意引入冗余,采用反范式的方式来设计。
 
数据库是为捕获数据而设计,数据仓库是为分析数据而设计。数据仓库的两个基本的元素是维表和事实表。维是看问题的角度,比如时间,部门,维表存放的就是这些东西的定义,事实表里存放着要查询的数据,同时有维的ID
 
单从概念上讲,有些晦涩。任何技术都是为应用服务的,结合应用可以很容易地理解。以银行业务为例。数据库是事务系统的数据平台,客户在银行做的每笔交易都会写入数据库,被记录下来,这里,可以简单地理解为用数据库记帐。数据仓库是分析系统的数据平台,它从事务系统获取数据,并做汇总、加工,为决策者提供决策的依据。比如,某银行某分行一个月发生多少交易,该分行当前存款余额是多少。如果存款又多,消费交易又多,那么该地区就有必要设立ATM了。
 
显然,银行的交易量是巨大的。事务系统是实时的,这就要求时效性,客户存一笔钱需要几十秒是无法忍受的,这就要求数据库只能存储很短一段时间的数据。而分析系统是事后的,它要关注某时间段内所有的有效数据。这些数据是海量的,汇总计算起来也要慢一些,但是,只要能够提供有效的分析数据就达到目的了。
 
数据仓库,是在数据库已经大量存在的情况下,为了进一步挖掘数据资源、为了决策需要而产生的,它决不是所谓的“大型数据库”。那么,数据仓库与传统数据库比较,有哪些不同呢?让我们先看看W.H.Inmon关于数据仓库的定义:面向主题的、集成的、与时间相关,不可修改的数据集合
 
“面向主题的”:传统数据库主要是为应用程序进行数据处理,未必按照同一主题存储数据;数据仓库侧重于数据分析工作,是按照主题存储的。这一点,类似于传统农贸市场与超市的区别。市场里面,白菜、萝卜、香菜会在一个摊位上,如果它们是一个小贩卖的;而超市里,白菜、萝卜、香菜则各自一块。也就是说,市场里的菜(数据)是按照小贩(应用程序)归堆(存储)的,超市里面则是按照菜的类型(同主题)归堆的。
 
“与时间相关”:数据库保存信息的时候,并不强调一定有时间信息。数据仓库则不同,出于决策的需要,数据仓库中的数据必须要标明时间属性。决策中,时间属性很重要。同样都是累计购买过九车产品的顾客,一位是最近三个月购买九车,一位是最近一年从未买过,这对于决策者意义是不同的。
 
“不可修改”:数据仓库中的数据并不是最新的,而是来源于其它数据源。数据仓库反映的是历史信息,并不是很多数据库处理的那种日常事务数据(有的数据库例如电信计费数据库甚至处理实时信息)。因此,数据仓库中的数据是极少或根本不修改的;当然,向数据仓库添加数据是允许的。
 
数据仓库的出现,并不是要取代数据库。目前,大部分数据仓库还是用关系数据库管理系统来管理的。可以说,数据库、数据仓库相辅相成、各有千秋。
 
补充一下,建立数据仓库的目的,是为前端查询和分析作基础,由于有较大的冗余,所以需要的存储也较大。为了更好地为前端应用服务,数据仓库必须有如下几点优点,否则是失败的数据仓库方案。
1、效率足够高。客户要求的分析数据一般分为日、周、月、季、年等,可以看出,日为周期的数据要求的效率最高,要求24小时甚至12小时内,客户能看到昨天的数据分析。由于有的企业每日的数据量很大,设计不好的数据仓库经常会出问题,延迟1-3日才能给出数据,显然不行的。
2、数据质量。客户要看各种信息,肯定要准确的数据,但由于数据仓库流程复杂,那么由于数据源有脏数据或者代码不严谨,都可以导致数据失真,客户看到错误的信息就可能导致分析出错误的决策,造成损失,而不是效益。
3、扩展性。之所以有的大型数据仓库系统架构设计复杂,是因为考虑到了未来3-5年的扩展性,这样的话,客户不用太快花钱去重建数据仓库系统,就能很稳定运行。主要体现在数据建模的合理性,数据仓库方案中多出一些中间层,使海量数据流有足够的缓冲,不至于数据过大而导致无法正常运行。
 
分享到:
评论

相关推荐

    关于数据库与数据仓库的区别详细介绍

    数据库和数据仓库是两种在数据管理和分析中至关重要的系统,它们在设计目标、用途和结构上有显著的区别。本文将深入探讨这些差异,并结合具体应用场景帮助理解。 首先,数据库设计的核心是面向事务,它是为了处理...

    数据仓库与数据挖掘课后答案(陈志泊著)清华大学出版社[归类].pdf

    而数据仓库中的数据是在对原有分散的数据库数据作抽取、清理的基础上经过系统加工、汇总和整理得到的,必须消除源数据中的不一致性,以保证数据仓库内的信息是关于整个企事业单位一致的全局信息。 (3)相对稳定的...

    简论数据仓库和数据挖掘的内在关系

    数据仓库与数据挖掘是两个密切相关的概念,在现代计算机应用技术中具有十分重要的地位。要深入理解这两者的内在关系,首先需要明确它们各自的定义和作用。 数据仓库是一个面向主题的、集成的、稳定的且随时间变化的...

    简述Oracle数据仓库的体系结构

    所有的 ETL 过程可以通过 Oracle Warehouse Builder 生成的 ETL 脚本存储在 Oracle 10g 数据库中执行,按照数据仓库系统的要求,定时地完成数据的抽取并加载到数据仓库系统中。由于 ETL 的执行是在 Oracle 10g ...

    试论数据挖掘与机器学习、统计学、数据库的关系.pdf

    数据挖掘通常涉及从关系数据库、NoSQL数据库或数据仓库中提取数据。数据库技术,如查询优化、索引和事务处理,确保高效的数据访问和管理。同时,数据库管理系统还提供了数据清洗、集成和转换的功能,为后续的数据...

    chapter3数据仓库设计.pptx

    在这个阶段中,设计人员需要根据数据仓库的逻辑模型设计数据仓库的体系结构、设计数据仓库的物理数据库、用物理数据库元数据填充面向最终用户的元数据库等。 3.2.1 数据仓库的平台与结构选择 数据仓库的平台与结构...

    福建师范大学网络教育计算机科学与技术《数据库管理与应用》

    课程中还会涉及其他章节,如数据库的设计与实现、SQL语言的应用、数据库保护技术、数据库发展趋势,以及新兴的数据库技术,如分布式数据库、数据仓库、数据挖掘、多媒体数据库和大数据技术。 通过这门课程的学习,...

    SQL SERVER 2012数据库设计与实现

    11. **数据仓库和BI**:简述SQL Server 2012在数据仓库和商业智能(BI)领域的应用,如Integration Services(SSIS)、Analysis Services(SSAS)和Reporting Services(SSRS)。 通过学习《SQL Server 2012数据库...

    数据仓库设计方法.pptx

    在数据仓库设计的初步阶段,3.1.1 数据库设计方法简述中提到,传统的数据库设计通常遵循六个阶段:需求分析、概念设计、逻辑设计、物理设计、实施和运行维护。在实施阶段,设计人员会基于逻辑和物理设计创建数据库并...

    七个步骤帮助你来顺利开发数据仓库

    数据仓库的开发是一个复杂而艰巨的任务,涉及到不同的数据结构、用途和应用程序的构建方式。以下是对标题和描述中提到的七个关键步骤的详细解释: 1. **再三考虑应用程序的实现方法**:在数据仓库中,重点在于数据...

    精品(2021-2022年)资料陶宏才《数据库原理及设计》第3版课后习题答案.docx

    - **数据库**: 是指按照一定的数据模型组织、存储和管理数据的仓库,其中的数据之间存在关联,并且可以根据需要进行检索、更新等操作。 - **数据管理系统(DBMS)**: 是一套专门用于创建和管理数据库的软件系统。它...

    数据库原理及应用复习重点

    * 习题:简述数据库设计的几个阶段。 数据库设计的几个阶段包括需求收集、概念设计、逻辑设计、物理设计和实施阶段。需求收集阶段是收集用户的需求;概念设计阶段是对需求的概念描述;逻辑设计阶段是对概念模式的...

    Oracle数据库基础学习

    数据库是按照数据结构来组织、存储和管理的,建立在计算机存储设备上的仓库。数据库可以看成电子化的档案柜--存储电子文件的地方,用户可以通过SQL语言对数据进行增、删、改、查。数据库分为关系型数据库和非关系型...

    中国计算机学会推荐国际刊物会议列表(数据库数据挖掘与内容检索)

    - **主要关注点**:涵盖数据预处理、数据质量控制、数据仓库构建、数据挖掘算法、机器学习技术等方面。 **VLDB Journal** - **简介**:VLDB Journal由著名的VLDB会议衍生而来,重点关注数据库技术和数据管理系统的...

    数据仓库的设计方法.pptx

    数据仓库设计方法是构建高效、可靠的信息分析平台的关键步骤,主要涵盖了需求与规划、建立数据仓库以及典型解决方案等环节。本讲座重点介绍了数据仓库设计的基本流程和关键要素。 首先,数据仓库的需求与规划阶段是...

    2019年整理Access基础与应用教程PPT课件-第1章-数据库基础概述(ppt-课件).ppt

    Access基础与应用教程的第1章主要介绍了数据库的基础概述,这一章内容涵盖了数据管理的发展历程、数据库系统的简述、数据模型、关系数据库、关系运算以及数据库设计的基本概念。以下是详细的知识点解析: 1. **数据...

    简述数据挖掘技术.pdf

    数据挖掘的对象主要包括数据仓库、数据库、文本数据源、面向对象数据库、时态数据库、多媒体数据库等。数据挖掘采用基于发现的方法,利用模式匹配和其他算法确定数据间的重要关系,与知识发现(KDD)过程密切相关。 ...

Global site tag (gtag.js) - Google Analytics