简而言之,数据库是面向事务的设计,数据仓库是面向主题设计的。
数据库一般存储在线交易数据,数据仓库存储的一般是历史数据。
数据库设计是尽量避免冗余,一般采用符合范式的规则来设计,数据仓库在设计是有意引入冗余,采用反范式的方式来设计。
数据库是为捕获数据而设计,数据仓库是为分析数据而设计,它的两个基本的元素是维表和事实表。维是看问题的角度,比如时间,部门,维表放的就是这些东西的定义,事实表里放着要查询的数据,同时有维的ID。
单从概念上讲,有些晦涩。任何技术都是为应用服务的,结合应用可以很容易地理解。以银行业务为例。数据库是事务系统的数据平台,客户在银行做的每笔交易都会写入数据库,被记录下来,这里,可以简单地理解为用数据库记帐。数据仓库是分析系统的数据平台,它从事务系统获取数据,并做汇总、加工,为决策者提供决策的依据。比如,某银行某分行一个月发生多少交易,该分行当前存款余额是多少。如果存款又多,消费交易又多,那么该地区就有必要设立ATM了。
显然,银行的交易量是巨大的,通常以百万甚至千万次来计算。事务系统是实时的,这就要求时效性,客户存一笔钱需要几十秒是无法忍受的,这就要求数据库只能存储很短一段时间的数据。而分析系统是事后的,它要提供关注时间段内所有的有效数据。这些数据是海量的,汇总计算起来也要慢一些,但是,只要能够提供有效的分析数据就达到目的了。
数据仓库,是在数据库已经大量存在的情况下,为了进一步挖掘数据资源、为了决策需要而产生的,它决不是所谓的“大型数据库”。那么,数据仓库与传统数据库比较,有哪些不同呢?让我们先看看W.H.Inmon关于数据仓库的定义:面向主题的、集成的、与时间相关且不可修改的数据集合。
“面向主题的”:传统数据库主要是为应用程序进行数据处理,未必按照同一主题存储数据;数据仓库侧重于数据分析工作,是按照主题存储的。这一点,类似于传统农贸市场与超市的区别—市场里面,白菜、萝卜、香菜会在一个摊位上,如果它们是一个小贩卖的;而超市里,白菜、萝卜、香菜则各自一块。也就是说,市场里的菜(数据)是按照小贩(应用程序)归堆(存储)的,超市里面则是按照菜的类型(同主题)归堆的。
“与时间相关”:数据库保存信息的时候,并不强调一定有时间信息。数据仓库则不同,出于决策的需要,数据仓库中的数据都要标明时间属性。决策中,时间属性很重要。同样都是累计购买过九车产品的顾客,一位是最近三个月购买九车,一位是最近一年从未买过,这对于决策者意义是不同的。
“不可修改”:数据仓库中的数据并不是最新的,而是来源于其它数据源。数据仓库反映的是历史信息,并不是很多数据库处理的那种日常事务数据(有的数据库例如电信计费数据库甚至处理实时信息)。因此,数据仓库中的数据是极少或根本不修改的;当然,向数据仓库添加数据是允许的。
数据仓库的出现,并不是要取代数据库。目前,大部分数据仓库还是用关系数据库管理系统来管理的。可以说,数据库、数据仓库相辅相成、各有千秋。
补充一下,数据仓库的方案建设的目的,是为前端查询和分析作为基础,由于有较大的冗余,所以需要的存储也较大。为了更好地为前端应用服务,数据仓库必须有如下几点优点,否则是失败的数据仓库方案。
1.效率足够高。客户要求的分析数据一般分为日、周、月、季、年等,可以看出,日为周期的数据要求的效率最高,要求24小时甚至12小时内,客户能看到昨天的数据分析。由于有的企业每日的数据量很大,设计不好的数据仓库经常会出问题,延迟1-3日才能给出数据,显然不行的。
2.数据质量。客户要看各种信息,肯定要准确的数据,但由于数据仓库流程至少分为3步,2次ETL,复杂的架构会更多层次,那么由于数据源有脏数据或者代码不严谨,都可以导致数据失真,客户看到错误的信息就可能导致分析出错误的决策,造成损失,而不是效益。
3.扩展性。之所以有的大型数据仓库系统架构设计复杂,是因为考虑到了未来3-5年的扩展性,这样的话,客户不用太快花钱去重建数据仓库系统,就能很稳定运行。主要体现在数据建模的合理性,数据仓库方案中多出一些中间层,使海量数据流有足够的缓冲,不至于数据量大很多,就运行不起来了。
- 浏览: 326715 次
- 性别:
- 来自: 北京
最新评论
-
longge424:
你好,可否将saml与spring security结合使用的 ...
SAML介绍 -
bnmnba:
mark
(转)Ant 学习笔记(一) -
redhacker:
写的还不错!谢谢!
SAML介绍 -
linluxian:
SAML介绍 -
hyj1254:
有效,good.
Linux创建目录与删除目录命令具体分析
相关推荐
1、从数据库到数据仓库 数据库系统能够很好的用于事务处理,但它对分析处理的支持一直不能令人满意。特别是当以业务处理为主的联机事务处理(OLTP) 应用和以分析处理为主的DSS应用共存于一个数据库系统时,就会...
《数据仓库原理》系列博文,是笔者在学习数据仓库与商业智能时的读书笔记,现重新梳理思路,分享在这里,希望读者批评指正。 本系列主要包括以下几部分内容: [1].数据库与数据仓库 为什么有了数据库还...
数据库技术:美团数据仓库开发演进分享.pdf
【目录】 1.1 从数据库到数据仓库 1.2 什么是数据仓库 1.3 数据仓库与传统数据库的比较 1.4 数据仓库的系统结构 1.5 数据仓库的数据组织 1.6 本章小结
数据库(DB)与数据仓库(DW),大数据处理(Big Data)与数据挖掘技术是当代数据处理的最新技术。这几项技术的结合开创了决策支持系统(DSS)发展的新方向。建立DW是科学决策的前提。 课程学习的目标 (1)掌握DB,...
【目录】 数据仓库概念 数据仓库体系结构及组件 数据仓库设计 数据仓库技术(与数据库技术的区别) 数据仓库性能 数据仓库应用 数据挖掘应用概述 数据挖掘技术与趋势 数据挖掘应用平台(科委申请项目)
【目录】 数据仓库和数据库的对比 数据仓库的体系结构 数据仓库的参照结构 数据挖掘概述 知识挖掘系统的体系结构 OLAP技术介绍 数据分析模型概述
一年一度的中国数据库技术大会(DTCC)又将与大家见面了! 2013年4月18~4.20日,北京福朋喜来登酒店,第四届中国数据库技术大会将拉开序幕。 自2010年以来,国内领先的IT专业网站IT168联合旗下ITPUB、...
【目录】 关联规则挖掘 从交易数据库中挖掘一维的布尔形关联规则 从交易数据库中挖掘多层次关联规则 在交易数据库和数据仓库中挖掘多维关联规则 从关联挖掘到相关性分析 基于约束的关联挖掘 小结
MPP NewSQL 数据库集群支撑企业超大规模数据仓库案例介绍.pdf Big Data in Action – 企业如何运用微软 Big Data 的技术具体规划并落实运行.pdf 小米hadoop/hbase微实践.pdf HBase近期的发展及实践.pdf 简单诉求下的...
DB2数据仓库入门 3个pdf文件 详细标签 从入门到精通db2数据库 本人U盘里的必需品 真的挺好用的 拿来跟大家共同分享
MySQL是一种关系型数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。 MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL ...
数据仓库练习用数据库,只有一部分,下次有继续分享
Redash 旨在允许快速轻松地访问数十亿条记录,我们使用 Amazon Redshift(“说”PostgreSQL 的“PB 级数据仓库”)处理和收集这些记录。 如今,Redash 支持查询多个数据库,包括:Redshift、Google BigQuery、...
分析了矿山系统传统数据存储特点,认为传统数据库已无法满足矿山管理...矿山数据大多为空间数据,因此,空间数据仓库的建立能解决矿山数据的收集和存储问题,实现多源数据的管理和分享,为决策部门提供详实而准确的数据。
GBase+8a+MPP逻辑数据仓库助力新一代数据仓库和数据中台建设 Oracle的自治数据库和自动化运维新特性与新进展 云时代的数据库技术创新及应用方案分享 创新新技术+共赢新生态 数据驱动的多云平台 基于ArkDB产品体系的...
MPP NewSQL 数据库集群支撑企业超大规模数据仓库案例介绍.pdf Big Data in Action – 企业如何运用微软 Big Data 的技术具体规划并落实运行.pdf 小米hadoop/hbase微实践.pdf HBase近期的发展及实践.pdf 简单诉求下的...
2.主要针对各个计算机相关专业,包括计算机科学、信息安全、数据科学与大数据技术、人工智能、通信、物联网等领域的在校学生、专业教师、企业员工。 3.项目具有丰富的拓展空间,不仅可作为入门进阶,也可直接作为...
调查队数据仓库项目源码 源码描述: 一、源码特点 统计局调查队数据仓库项目,归纳存储数据,自定义表格,统一格式进行存储,方便查询。,有需要的朋友不要错过 二、菜单功能 1、城镇住户调查处 2、工业处 3、...
作者分享了他们使用Microsoft工具构建DW/BI系统的经验,读者可以从中了解他们遇到的挑战,分享他们的成功。还可以学习在使用Kimball生命周期建立自己的DW/BI系统时,应如何遵循4个基本原则:关注业务,构建信息基础...