`

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

阅读更多

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

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

相关推荐

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

    数据库是面向事务的设计,数据仓库是面向主题设计的。数据库一般存储在线交易数据,数据仓库存储的一般是历史数据。数据库设计是尽量避免冗余,一般采用符合范式的规则来设计,数据仓库在设计是有意引入冗余,采用反...

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

    计算机应用技术把数据库概念进一步细化,数据仓库与数据挖掘技术之间存在着紧密的联系。为了实现数据库资源利用率的最大化,现分析了数据仓库与数据挖掘的内在关系,引导用户正确地挖掘数据资源。

    自考04735数据库系统原理课后答案及重点总结.docx

    2.简述在数据管理技术中,与人工管理、文件系统管理相比,数据库系统的优点。 人工管理阶段的特点:数据不保存、应用程序管理数据、数据面向应用 文件系统阶段:数据可长期保存、专门管理;不能实现数据

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

    实现一个数据仓库的难度可能比以前做过的任何项目难度都要大,要考虑到不同的数据结构、用途以及应用程序开发方法。本文列出了数据仓库实施过程需要考虑的步骤:再三考虑应用程序的实现方法;创建抽象的、良好部署的...

    04735数据库系统原理(2018版)课后习题参考答案

    请简述数据 ,数据库 ,数据库管理系统 ,数据库系统的概念: 数据是描述事物的记录符号,是指用物理符号记录下来的,可以鉴别的信息。 数据库即存储数据的仓库, 严格意义上是指长期存储在计算机中的有组织的、 可...

    基于WEB的仓库管理系统的设计与实现设计软件程序源码+数据库+WORD毕业设计论文文档.zip

    基于WEB的仓库管理系统的设计与实现设计软件程序源码+数据库+WORD毕业设计论文文档. 基于WEB的仓库管理系统主要用于实现仓库的出入库管理,基本功能包括:入库模块、出库模块、商品查看模块、用户注册模块、个人...

    1、ETL工程师经典面试题.md

    4. 简述数据仓库中的表的基本类型,以及为了保证引用完整性该以什么样的顺序对它们进行加载。 5. 在 ETL过程中四个基本的过程分别是什么? 6. 从 ERP源系统中抽取数据最好的方法是什么? 7. 简述直接连接数据库和...

    ETL架构师面试题

    24.简述数据仓库中的表的基本类型,以及为了保证引用完整性该以什么样的顺序对它们进行加载。 25.简述ETL技术支持工作的四个级别的特点。 26.如果ETL进程运行较慢,需要分哪几步去找到ETL系统的瓶颈问题。 27....

    货物发送的数据流程图-业务流程图-可行性分析报告与数据字典.doc

    入库单 简述:经收货处理后发出入库单 数据流来源:收货处理模块 数据流去向:仓库保管员 数据流组成:入库单编号+日期+产品代码+产品名称+产品数量+单价+总金额+单位+经手 人 数据流量:约30张/日 高峰流量:约40张...

    mysql数据库设计-习题.doc

    简述数据库概念结构设计的步骤。 3.什么是数据库的逻辑结构?试述数据库逻辑结构设计的步骤。 4.试述数据库物理设计的内容和步骤。 四、设计题 1.某工厂生产若干产品,每种产品由不同的零件组成,有的零件可用在...

    数据库应用设计.doc

    2、简述数据库应用开发的各阶段的任务。 ㈤ 数据库设计题 1、为某超市公司设计一个数据库系统来管理该公司的业务信息。该公司的业务规则如下 : 该公司有若干个仓库,若干个连锁商店,供应若干种商品。 每个商店有...

    ORACLE表分区分区概述

    为了简化数据库大表的管理,例如在数据仓库中一般都是TB级的数量级.ORACLE8以后推出了分区选项.分区将表分离在若于不同的表空间上,用分而治之的方法来支撑元限膨胀的大表,组大表在物理一级的可管理性.将大表分割成较...

    大数据基础--大数据可视化(刘鹏《大数据》课后习题答案).pdf

    ⼤数据基础 ⼤数据基础--⼤数据可视化...多维可视化主要应⽤于多维数据⼴泛 存在的基于传统关系数据库及数据仓库的应⽤中。 8.⼤数据可视化软件和⼯具有哪些? (1)Excel (2)Processing (3)NodeXL (4)ECharts

    基于Python进行频繁模式挖掘实验【100012177】

    关联分析常常用于从大规模数据库中寻找元素的隐含关系,是数据仓库中数据挖掘的最常用的方法。本实验旨在实现基本的数据挖掘算法(Apriori 算法),选取部分数据集数据进行挖掘。在探寻数据隐含关系的同时,试图评估...

    [详细完整版]信息系统.docx

    (4) 硬件:包括计算机、网络通信设备 软件:系统软件和应用软件 数据库和数据仓库 人员:系统分析人员、系统设计人员、系统实施与操作人员以及系统维护人员,系统管理人员、数据准备人员与各层次管理机构的决策...

    RFID仓储管理信息系统总体设计

     基于三层结构,用户界面层通过统一的接口向业务层发送请求,业务层按自己的逻辑规则将请求处理之 后进行数据库操作,然后将数据库返回的数据封装成类的形式返回给用户界面层。这样用户界面层甚至可 以不知道数据库...

    管理信息系统 试卷 期末试卷

    数据库与传统文件之间的区别是: (1)数据库包含了若干文件,通过联结路径实现记录间的联系。 (2)数据库能反映现实世界中信息间的联系。 (3)文件只包含数据本身(记录),而数据库则包含了基本数据和关于数据的数据...

    java面试题

    答:JDO是java对象持久化的新的规范,为java data object的简称,也是一个用于存取某种数据仓库中的对象的标准化API。 CORBA? 答:CORBA标准是公共对象请求代理结构,用途为:用不同的程序设计语言书写,在不同的...

    Java项目:医院管理系统(java+Springboot+ssm+mysql+maven)

    一、项目简述 功能:该项目是用springboot+layui+shiro写的医院管理系 统,该系统的业务比较复杂,数据库一共有36张表。 项目分为门诊管理、住院管理、系统管理、统计管理、数 据中心、排班管理、仓库管理、药房...

Global site tag (gtag.js) - Google Analytics