“水煮”数据仓库(摘自it专家网)

转载 2007年09月29日 10:47:00

就在前几天,一位用户参加某企业的应聘面试,他所应聘的是该公司的DBA,负责的方向是数据分析,此公一路过关斩将,甚是顺利。直到面对公司的负责人。这位负责人只给他出了一道面试题:谈一谈你理解的数据库和数据仓库的区别。

此公顿时傻眼。就技术而言,无论多难的技术,都难不倒他,唯独这种开放式问题,这是他的软肋。铩羽归来后,此公在论坛上发问。看来,我们的DBA技术素养很高,但是理论素养不足。理论的东西虽有些虚头巴脑的,但是它却能够指导实践,并在实践中不断地提炼,归纳,补充自己的理论。理论离开实践不能存在,而实践也终究离不开理论。DBA们,试想一下,如果有一天你们发现,制约自己前进的瓶颈不是自己的实践经验,而是理论积累时,那将是多么痛苦的一件事情啊!


下面,我们就一起“水煮”一把数据仓库。



cāng
<名>
(象形。甲骨文字形,上象盖儿,中间象一扇门,下面是进出的口儿,合起来表示仓库这个概念。本义:粮仓)
同本义 [granary;barn]
仓,谷藏也,仓黄取而藏之,故谓之仓。——《说文》
仓廪实而知礼节。—— 汉·贾谊《论积贮疏》
藏帝藉之收于神仓。——《礼记·月令》。注:“藏祭祀之谷为神仓。”
又如:谷仓(粮仓);仓廒(粮库);仓敖(储藏米谷的地方)
泛指储藏物资的建筑物 [warehouse;storehouse]。如:盐仓;货仓;添仓;填仓;义仓;仓府(贮存钱财和粮食的地方)

  简而言之,数据库是面向事务的设计,数据仓库是面向主题设计的。

  数据库一般存储在线交易数据,数据仓库存储的一般是历史数据。

  数据库设计是尽量避免冗余,一般采用符合范式的规则来设计,数据仓库在设计是有意引入冗余,采用反范式的方式来设计。

  数据库是为捕获数据而设计,数据仓库是为分析数据而设计,它的两个基本的元素是维表和事实表。维是看问题的角度,比如时间,部门,维表放的就是这些东西的定义,事实表里放着要查询的数据,同时有维的ID。

  单从概念上讲,有些晦涩。任何技术都是为应用服务的,结合应用可以很容易地理解。以银行业务为例。数据库是事务系统的数据平台,客户在银行做的每笔交易都会写入数据库,被记录下来,这里,可以简单地理解为用数据库记帐。数据仓库是分析系统的数据平台,它从事务系统获取数据,并做汇总、加工,为决策者提供决策的依据。比如,某银行某分行一个月发生多少交易,该分行当前存款余额是多少。如果存款又多,消费交易又多,那么该地区就有必要设立ATM了。

  显然,银行的交易量是巨大的,通常以百万甚至千万次来计算。事务系统是实时的,这就要求时效性,客户存一笔钱需要几十秒是无法忍受的,这就要求数据库只能存储很短一段时间的数据。而分析系统是事后的,它要提供关注时间段内所有的有效数据。这些数据是海量的,汇总计算起来也要慢一些,但是,只要能够提供有效的分析数据就达到目的了。

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

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

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

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

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

  补充一下,数据仓库的方案建设的目的,是为前端查询和分析作为基础,由于有较大的冗余,所以需要的存储也较大。为了更好地为前端应用服务,数据仓库必须有如下几点优点,否则是失败的数据仓库方案。

  1.效率足够高。客户要求的分析数据一般分为日、周、月、季、年等,可以看出,日为周期的数据要求的效率最高,要求24小时甚至12小时内,客户能看到昨天的数据分析。由于有的企业每日的数据量很大,设计不好的数据仓库经常会出问题,延迟1-3日才能给出数据,显然不行的。

  2.数据质量。客户要看各种信息,肯定要准确的数据,但由于数据仓库流程至少分为3步,2次ETL,复杂的架构会更多层次,那么由于数据源有脏数据或者代码不严谨,都可以导致数据失真,客户看到错误的信息就可能导致分析出错误的决策,造成损失,而不是效益。

  3.扩展性。之所以有的大型数据仓库系统架构设计复杂,是因为考虑到了未来3-5年的扩展性,这样的话,客户不用太快花钱去重建数据仓库系统,就能很稳定运行。主要体现在数据建模的合理性,数据仓库方案中多出一些中间层,使海量数据流有足够的缓冲,不至于数据量大很多,就运行不起来了。

 

转载:“水煮”数据仓库

就在前几天,一位用户参加某企业的应聘面试,他所应聘的是该公司的DBA,负责的方向是数据分析,此公一路过关斩将,甚是顺利。直到面对公司的负责人。这位负责人只给他出了一道面试题:谈一谈你理解的数据库和数据...
  • DJ2008
  • DJ2008
  • 2008年03月10日 12:07
  • 418

一篇有关软件架构设计的文章(转自软件工程专家网,注意其中有关性能的内容)

系统构架设计应考虑的因素 厦门巨龙软件工程有限公司 卢琳生2004-10-19软件工程专家网   本文从程序的运行时结构和源代码的组织结构两个方面探讨了系统构架设计应考虑的各种因素,列举了系统构架设计...
  • sodme
  • sodme
  • 2005年06月12日 22:42
  • 5817

水煮互联网创业,互联网创业的盲区

1 鞋厂理论:世界上有无数家鞋厂,制造着各自的鞋子,销售给各自的客户。在网络上,当某个生意已经有人在做的时候,就想想皮鞋理论,你会发现:在大多数情况下,即使有很多人在做鞋子,也并不意味着你就不能再去做...
  • java2000_net
  • java2000_net
  • 2009年05月06日 17:20
  • 2098

温水煮青蛙的安逸感

在知乎上看到这样一段话: “渣学校意味着渣教学,渣教学意味着渣学历,渣学历意味着渣就业,就算以后考了研究生,也有可能因为你的第一学历不过关而被拒之门外。” 真是这样? 二本大学的环境...
  • tzs_1041218129
  • tzs_1041218129
  • 2016年04月04日 21:43
  • 843

水煮三国:第一章:创业时代的七堂必修课

创业时代的七堂必修课    我们无法用眼睛和手指从一堆沙子中间找到铁屑,就像我们很难从茫茫人海中找到我们的顾客一样。然而,有一种工具能够帮助我们迅速地从沙子中间找到铁屑…………第一课  命运是一只沦落...
  • cxin917
  • cxin917
  • 2007年11月12日 23:36
  • 545

煮玉米加盐会更加甜

水煮玉米也有技巧。是不是常常觉得外面卖的水煮玉米又香又甜,但是自己在家做的就显得有点硬有点干,甜度也不够?其实可能只需要一小步的改善,你在家也可以煮出甜丝丝的玉米。 煮玉米不要把皮剥得干干净净 煮...
  • sdgdt
  • sdgdt
  • 2016年03月10日 14:43
  • 108

需求分析的20条法则(本节摘自软件工程专家网)

导读:   客户与开发人员交流需要好的方法。下面建议20条法则,客户和开发人员可以通过评审以下内容并达成共识。如果遇到分歧,将通过协商达成对各自义务的相互理解,以便减少以后的磨擦(如一方要求而另一方...
  • zhijie435
  • zhijie435
  • 2008年02月19日 19:20
  • 354

软件工程三:需求分析20条法则(摘自软件工程专家网)

需求分析的20条法则   (摘自软件工程专家网)   客户与开发人员交流需要好的方法。下面建议20条法则,客户和开发人员可以通过评审以下内容并达成共识。如果遇到分歧,将通过协商达成对各自义务...
  • laner0515
  • laner0515
  • 2011年09月16日 10:15
  • 800

清闲的工作与温水煮青蛙;-)

今天和朋友闲谈,聊到了温水煮青蛙的问题。朋友说,现在的单位,工作虽然清闲,但是感觉就像温水煮青蛙,觉得没有前途,待的时间长了,也就走不了了。想来如是,朋友的工作说起来确实是满轻松的,做软件外包测试,负...
  • againstwar
  • againstwar
  • 2007年12月23日 21:29
  • 3732

水煮三国第二章:能把梳子卖给和尚吗?

信而安之,阴以图也。此笑里藏刀之计,公岂可不察耶? 求职遭遇奇妙陷阱把梳子卖给和尚吕布卖出了999把梳子天机终于被泄露了为恶者必灭 ...
  • cxin917
  • cxin917
  • 2007年11月12日 23:55
  • 600
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:“水煮”数据仓库(摘自it专家网)
举报原因:
原因补充:

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