数据仓库和数据集市

来源:互联网 发布:node.js php python 编辑:程序博客网 时间:2024/04/29 12:53

(来自互联网整理)
 


 

数据仓库(Data Warehouse)是决策支持系统(dss)和联机分析应用数据源的结构化数据环境。数据仓库研究和解决从数据库中获取信息的问题。数据仓库的特征在于面向主题、集成性、稳定性和时变性。  

数据仓库之父William H. Inmon在1991年出版的“Building the Data Warehouse”一书中所提出的定义被广泛接受——数据仓库(Data Warehouse)是一个面向主题的(Subject Oriented)、集成的(Integrated)、相对稳定的(Non-Volatile)、反映历史变化(Time Variant)的数据集合,用于支持管理决策(Decision Making Support)。

数据仓库,是在数据库已经大量存在的情况下,为了进一步挖掘数据资源、为了决策需要而产生的,它并不是所谓的“大型数据库”。数据仓库的方案建设的目的,是为前端查询和分析作为基础,由于有较大的冗余,所以需要的存储也较大。为了更好地为前端应用服务,数据仓库往往有如下几点特点:

     
  1. 效率足够高。数据仓库的分析数据一般分为日、周、月、季、年等,可以看出,日为周期的数据要求的效率最高,要求24小时甚至12小时内,客户能看到昨天的数据分析。由于有的企业每日的数据量很大,设计不好的数据仓库经常会出问题,延迟1-3日才能给出数据,显然不行的。 
  2. 数据质量。数据仓库所提供的各种信息,肯定要准确的数据,但由于数据仓库流程通常分为多个步骤,包括数据清洗,装载,查询,展现等等,复杂的架构会更多层次,那么由于数据源有脏数据或者代码不严谨,都可以导致数据失真,客户看到错误的信息就可能导致分析出错误的决策,造成损失,而不是效益。 
  3. 扩展性。之所以有的大型数据仓库系统架构设计复杂,是因为考虑到了未来3-5年的扩展性,这样的话,未来不用太快花钱去重建数据仓库系统,就能很稳定运行。主要体现在数据建模的合理性,数据仓库方案中多出一些中间层,使海量数据流有足够的缓冲,不至于数据量大很多,就运行不起来了。

从上面的介绍中可以看出,数据仓库技术可以将企业多年积累的数据唤醒,不仅为企业管理好这些海量数据,而且挖掘数据潜在的价值,从而成为通信企业运营维护系统的亮点之一。正因为如此,广义的说,基于数据仓库的决策支持系统由三个部件组成:数据仓库技术,联机分析处理技术和数据挖掘技术,其中数据仓库技术是系统的核心,在这个系列后面的文章里,将围绕数据仓库技术,介绍现代数据仓库的主要技术和数据处理的主要步骤,讨论在通信运营维护系统中如何使用这些技术为运营维护带来帮助。


数据集市(Data Mart) ,也叫数据市场,是一个从操作的数据和其他的为某个特殊的专业人员团体服务的数据源中收集数据的仓库。从范围上来说,数据是从企业范围的数据库、数据仓库,或者是更加专业的数据仓库中抽取出来的。数据中心的重点就在于它迎合了专业用户群体的特殊需求,在分析、内容、表现,以及易用方面。数据中心的用户希望数据是由他们熟悉的术语表现的。

数据仓库是一个集成的、面向主题的数据集合,设计的目的是支持DSS(决策支持系统)功能。在数据仓库里,每个数据单元都和特定的时间相关。数据仓库包括原子级别的数据和轻度汇总的数据,是面向主题的、集成的、不可更新的(稳定性)、随时间不断变化(不同时间)的数据集合,用以支持经营管理中的决两种类型的数据集市策制定过程。

单独的DB2数据库包括企业的数据集市。每个数据集市包括来自中央数据仓库的历史数据的子集,用以满足特定部门、团队、客户或应用程序分析和报告需求。主管此DB2数据库的系统称为数据集市服务器。尽管可以有许多数据集市,但只能有一个数据集市服务器。

特征:1.数据集市的特征包括规模小。2、有特定的应用。3.面向部门。4.由业务部门定义、设计和开发。5.业务部门管理和维护。6.能快速实现。7.购买较便宜。 8.投资快速回收。9.工具集的紧密集成。10.提供更详细的、预先存在的、数据仓库的摘要子集。11.可升级到完整的数据仓库。


区别

BI领域始终存在着建设数据仓库还是建设数据集市、自上而下还是自下而上的争论,而在实际建设中,自然不会有人完全按照某种理念去做,比如在电信公司的数据集市建设中,地市公司的特殊情况与总部规范之间的博弈就成了一大难题。 

自上而下 VS自下而上  

刚进入BI领域的时候,感觉到处都在说、都在做“数据仓库”,而现在,很多地方又开始说建设“数据集市”了。只是,如何对数据仓库和数据集市两者做出一个明晰的区分,却始终是个问题。 

从字义上看, “仓库”可以想像成一所大房子,高高的货架,合理的出入路线,是一种集中存储货物的地方,一般顾客是不来参观访问的; 而说到“集市”,就容易联想到空旷的场地,川流不息,大小商户摆出摊子,卖衣物的、卖烧饼及卖艺的,是让顾客来消费的地方。具体来说,数据仓库仅仅是提供存储的,提供一种面向数据管理的服务,不面向最终分析用户;而数据集市是面向分析应用的,面向最终用户。  

如此理解比较简易,但是用这样的比喻来定义数据仓库和数据集市之间的区别却未免过于浅陋。比如数据仓库也可以被直接访问,而数据集市也提供存储,而且这样区分似乎就表明,数据仓库和集市必须都存在才能为最终用户所用。事实则并非如此。那么,这样看起来,它们的区别似乎仅在于规模大小不同了。但如此一来,又有问题了,比如多大才算大,多小才算小呢?这也得相对而言,譬如电信公司的数据集市恐怕就比一个玩具厂的数据仓库大出几千倍。(大小不是区别!) 

其实,换个角度来看的话,这两者之间的区别正是自上而下和自下而上辩论的产物,也就是Inmon和Kimball两派在产品应用中的具体体现。  

理想的“自上而下”,即一个企业建立唯一的数据中心,就像一个数据的仓库,其中数据是经过整合、经过清洗、去掉脏数据的、标准的,能够提供统一的视图。要建立这样的数据仓库,并不从它需要支持那些应用入手,而是要从整个企业的环境入手,分析其中的概念,应该有什么样的数据,达成概念完整性。理想状况下,数据仓库建成以后,因为数据是标准的,没有太多冗余,数据质量得以保证。因此,报表、OLAP以及其他任何统计分析应用都可以从中获取需要的数据。然而,这仅仅是理想,多少有点形而上的做法,有些过于追求事物的本质。 

而“自下而上”的做法,则是强调应用决定数据,有什么应用就获取什么数据。理想状况下,一项分析应用只需要刚刚好的数据。例如人力资源部门的数据集市,就不需要市场推广的数据,那么这些数据将不被纳入该集市中。很明显,这也是理想化的,因为需求是不断变化的,今天人力资源可能不需要市场推广数据,但是如果哪一天需要分析员工做市场推广的成本收益,恐怕就需要这些数据了。  

当然,在实际项目的建设过程中,谁都不会傻呵呵地完全按照绝对的自上而下或是自下而上的方法去做。就国外成熟数据仓库厂商的理念而言,大多是以自上而下为主,采用Bill Inmon的方法,先建立一套完美的EDW(企业数据仓库),并且他们通常针对行业已经设计出抽象程度比较高的概念模型,可以根据实际环境生成逻辑模型和物理模型。在构建完美的数据仓库的时候,设计者会考虑最终有哪些应用,根据应用做取舍。一般来说,数据仓库是分阶段的,譬如第一阶段主要服务于市场部门作市场分析,那么,建设者就很可能“偷工减料”,像员工信息、财务数据反正也没人用,便舍弃它们。由此,一套完美的EDW真正落实下来,往往因为受到项目周期、人员经验所限,最终会变得面目全非。

 

与国外相反,国内集成商的做法大多是自下而上。其中一部分原因在于周期和人员的原因,老板要求尽快上线,客户要求尽快看到结果,而这个时候恰好就是Kimball方法的用武之地。建设者会针对应用快速建立数据仓库(注意,这里仍然叫做数据仓库,似乎大家也不愿意叫做数据集市,可能那样显得有些小气吧)。实际上,如果比较采用两种不同理念完成的第一版本,我们会发现,这两种交付版本竟是如此相像。 

数据集市的建设难题  

从前几年电信行业的经营分析系统建设可以看出来:无论移动或是联通,都不会将经营分析系统称为是数据集市系统。可在一开始,这些系统恐怕都仅仅是服务于少数部门的。  

几年前,中国移动开始在全国少数几个地市开始数据集市的试点,这才算真正有了个“数据集市”项目。之所以有这种项目,是因为经营分析系统不能满足地市公司分析的需要。当然,也不排除厂商、集成商在其中煽风点火的作用。 

 

其实,这对移动公司来说,几乎可以算是一件很令人恼火的事情了!本来,建了几年的数据仓库,是要将数据集中起来,提供分析功能、辅助决策。可后来却发现,数据量太大不说,地市公司人员访问也不方便,甚至还绕开数据仓库,直接去生产系统里面取数据。此时,原来忽悠数据仓库的那批厂商集成商又上门,开始忽悠起数据集市了。三年前,他们说,“数据要集中,提供唯一的数据视图”,三年后,他们又讲,“数据要分布,便于用户的访问”。那么,到底该怎么看这个问题呢?事实上,如果辨证地来看,如此两种看上去截然不同的言论也确实能找出一些“交集”。说集中,三年前有的省分公司已经达到BOSS系统的集中了;说分布,不是有逻辑和物理数据集市之分吗!所谓逻辑,就是在现有数据仓库中建立一些视图或表,专门给地市使用;而物理,就是将硬件、软件放到地市,让地市公司自己玩儿。总之,以前好不容易将数据从地市抽上来,如今经营分析系统里转了一圈,再还给他们,移动公司还真得仔细想想这是否值得。

   

从实际建设情况来看,有的地市有钱,就建设独立的数据集市,有独立的硬件、软件;有的地市没钱,那就和其他差不多级别的地市联合起来,共用一个数据集市,建设所谓联合型数据集市。招都想绝了,以至于差不多都忘了数据集市究竟是干吗的了。而对于地市公司的员工来说,他们本来就不是对技术很熟悉的人,好容易学会了从BOSS系统里面用SQL统计点数,经营分析系统来了,于是重新学习从经分取数; 如今,数据集市又开始建设了,新一轮学习当然是少不了的。在具体应用上,如果这个集市能够提取相应的数据当然好了,可就怕和经分一样,想提取数据,告之要等两个星期,那样,数据集市还是没有作用。 

数据集市的另一重要功用是分析应用。虽然目前已经规划出名目繁多的专题,诸如离网预警、竞争对手等,可要将它们在不同的地市用起来,问题就大了。专题的应用重在流程,和具体的组织结构要关联起来,但各个地市公司情况并不一样。比如有的地市市场部比较强势,在数据分析中占据领导地位,而有的地市则是IT支撑比较强势;有的地市会为某个专题设定相应的组织结构,有的则不重视,因为那个专题要解决的问题根本不是自己最关注的,更谈不上耗费宝贵的人力在它上面。不管移动或是联通,都是总部出规范。如今,移动新的经营分析规范、数据集市规范都已出台,这些规范都是挺大挺全,可并不完全适合所有的省分和地市公司。虽然让省分公司自己去搞经营分析系统、省分公司让地市公司自己做数据集市都存在难以控制的风险,但是,如果考虑到经营压力和急迫的分析需求,地方公司的意见无疑正在越发得到重视。

   


   

 

 

原创粉丝点击