[商业计算机数据仓库]Data warehouseA data warehouse is, primarily, a record of an enterprise's past transactional and operational information, stored in a database designed to for...+阅读
什么是数据仓库 目前,数据仓库一词尚没有一个统一的定义,著名的数据仓库专家 W.H.Inmon 在其著作《 Building the Data Warehouse 》一书中给予如下描述:数据仓库( Data Warehouse )是一个面向主题的( Subject Oriented )、集成的( Integrate )、相对稳定的( Non-Volatile )、反映历史变化( Time Variant )的数据集合,用于支持管理决策。 对于数据仓库的概念我们可以从两个层次予以理解,首先,数据仓库用于支持决策,面向分析型数据处理,它不同于企业现有的操作型数据库;其次,数据仓库是对多个异构的数据源有效集成,集成后按照主题进行了重组,并包含历史数据,而且存放在数据仓库中的数据一般不再修改。 数据库是一个装数据(信息的原材料)的地方。 数据仓库是一种系统,这种系统也是用数据库装东西。
数据仓库系统(用数据库装东西)与其他基础业务系统(例如财务系统、销售系统、人力资源系统等,也是用数据库装东西)的区别是: 基础业务系统的特点是各管各的,例如财务系统生产了白菜,那么用一个数据库来装,人力资源系统生产了猪肉,再用一个数据库来装。我要做一道菜,需要分别到各个数据库去取,比较麻烦(现实的情况是大部分时候让种菜的农民伯伯送过来,但送过来的东西不一定是我想要的,而且不同的时候我想要不同的东西,经常会被农民伯伯骂,弄得双方都不开心)。另外一方面,各个数据库中放的是一些比较原始的东西,我要拿过来做菜,还需要经过很麻烦的清洗过程,一不小心里面可能就藏着一条大青虫。 那么,数据仓库系统就是建立一个大的超市,将各地农民伯伯出产的东西收集过来,清洗干净,分门别类地放好。
这样,你要哪种菜的时候,直接从超市里面拿就可以了。 早期一直不理解数据仓库是什么困惑得很。 宏观一点讲,数据仓库就是堆放公司所有数据的地方,之所以把数据都堆在一起,是为了从中间找到有价值的东西。 数据仓库更多的是一个概念,不要把数据仓库想成那些号称是数据仓库的软件产品们。 数据仓库的物理上就是数据库。相对业务系统数据库叫 OLTP 数据库(用于业务处理),这种数据库叫 OLAP 数据库(用于业务分析)。 数据仓库的概念是针对以下基本需求产生的: 公司的业务系统很多,业务系统的历史数据不方便查询。不同的业务系统往往管理部门不同,地域不同。能不能将所有这些数据集中起来,再淘淘有没有有意义的业务规律。 数据仓库数据库往往很大,因为公司所有的数据集中得越多,越能淘到有价值的发现。
例如随便就 100G 以上。 数据仓库的组成十分繁杂,既有业务系统的历史数据,又有人事、财务数据,还要自己建一些基础性的数据,例如,公共假期数据、地理信息、国家信息等等。 数据仓库概念包含从业务生产系统采集数据的程序,这个程序还不能影响业务系统的运行。(属于所谓 “ETL” 过程) 数据仓库包括业务系统长期的历史数据,例如 5 年,用来分析。(所谓 “ODS” 数据) 数据仓库包括针对某相业务值(例如销售量)重新打上标签的业务流水数据。(所谓 “ 事实表 ” 、 “ 维度表 ” )。 数据仓库概念兴许还包含报表生成工具(所谓 “BI” 工具)。这些工具能够达到几年前所谓 DSS (决策分析)的效果。 数据仓库的客户历史资量的分析,也许又与 CRM 系统粘点边。
总之,一点,一个公司想针对已有的历史业务数据,充分的利用它们,那么就上数据仓库项目。至于哪些吓唬人的大写字母的组合,只是达到这个目标的科学技术罢了。 牢记住数据仓库的基本需求,不要被供应商吓着。 数据仓库可以说是决策支持系统,能帮助老板了解企业的整体全貌,看到数据仓库提供的经过整理统计归纳的数据后老板凭自己的管理经验可以发现企业的问题或困难或成功因素在哪一方面,然后可以不断的追溯数据,直到确定到最具体的细节上,这样能够不断提升老板或管理层的管理水平,不断改善企业的管理。我们知道的最好的一个例子就是美国某大型超市啤酒和尿布的故事。 沃尔玛公司在美国的一位店面经理曾发现,每周,啤酒和尿布的销量都会有一次同比攀升,一时却搞不清是什么原因。
后来,沃尔玛运用商业智能( Business Intelligence ,简称BI)技术发现,购买这两种产品的顾客几乎都是 25 岁到 35 岁、家中有婴儿的男性,每次购买的时间均在周末。沃尔玛在对相关数据分析后得知,这些人习惯晚上边看球赛、边喝啤酒,边照顾孩子,为了图省事而使用一次性的尿布。得到这个结果后,沃尔玛决定把这两种商品摆放在一起,结果,这两种商品的销量都有了显著增加。 数据库是数据仓库的基础。数据仓库实际上也是由数据库的很多表组成的。需要把存放大量操作性业务数据的数据库经过筛选、抽取、归纳、统计、转换到一个新的数据库中。然后再进行数据展现。老板关注的是数据展现的结果。 数据仓库 (DATA WAREHOUSE/DATA MART) 的另一重要概念是数据从不同的数据库 (DATABASES) 里调出经过 ETL 工具 ( 如 POWERCENTRE , DECISIONSTREAM, SQL SERVER 2000 DTS, SQL SERVER 2005 SSIS) 过程进行清理,...
第二章数据仓库和数据挖掘的olap技术 2
何谓数据仓库?为什么要建立数据仓库?答:数据仓库是一种新的数据处理体系结构,是面向主题的、集成的、不可更新的(稳定性)、随时间不断变化(不同时间)的数据集合,为企业决策支持系统提供所需的集成信息。建立数据仓库的目的有3个:一是为了解决企业决策分析中的系统响应问题,数据仓库能提供比传统事务数据库更快的大规模决策分析的响应速度。二是解决决策分析对数据的特殊需求问题。决策分析需要全面的、正确的集成数据,这是传统事务数据库不能直接提供的。三是解决决策分析对数据的特殊操作要求。决策分析是面向专业用户而非一般业务员,需要使用专业的分析工具,对分析结果还要以商业智能的方式进行表现,这是事务数据库不能提供的。何谓数据挖掘?它有哪些方面的功能?答:从大量的、不完全的、有噪声的、模糊的、随机的数据中,提取隐含在其中的、人们事先不知道的、但又是潜在有用的信息和知识的过程称为数据挖掘。
相关的名称有知识发现、数据分析、数据融合、决策支持等。数据挖掘的功能包括:概念描述、关联分析、分类与预测、聚类分析、趋势分析、孤立点分析以及偏差分析等。
数据仓库与数据库的区别
简而言之,数据库是面向事务的设计,数据仓库是面向主题设计的。
数据库一般存储在线交易数据,数据仓库存储的一般是历史数据。
数据库设计是尽量避免冗余,一般采用符合范式的规则来设计,数据仓库在设计是有意引入冗余,采用反范式的方式来设计。
数据库是为捕获数据而设计,数据仓库是为分析数据而设计,它的两个基本的元素是维表和事实表。维是看问题的角度,比如时间,部门,维表放的就是这些东西的定义,事实表里放着要查询的数据,同时有维的ID。
单从概念上讲,有些晦涩。任何技术都是为应用服务的,结合应用可以很容易地理解。以银行业务为例。数据库是事务系统的数据平台,客户在银行做的每笔交易都会写入数据库,被记录下来,这里,可以简单地理解为用数据库记帐。数据仓库是分析系统的数据平台,它从事务系统获取数据,并做汇总、加工,为决策者提供决策的依据。比如,某银行某分行一个月发生多少交易,该分行当前存款余额是多少。如果存款又多,消费交易又多,那么该地区就有必要设立ATM了。
显然,银行的交易量是巨大的,通常以百万甚至千万次来计算。事务系统是实时的,这就要求时效性,客户存一笔钱需要几十秒是无法忍受的,这就要求数据库只能存储很短一段时间的数据。而分析系统是事后的,它要提供关注时间段内所有的有效数据。这些数据是海量的,汇总计算起来也要慢一些,但是,只要能够提供有效的分析数据就达到目的了。
数据仓库,是在数据库已经大量存在的情况下,为了进一步挖掘数据资源、为了决策需要而产生的,它决不是所谓的“大型数据库”。那么,数据仓库与传统数据库比较,有哪些不同呢?让我们先看看W.H.Inmon关于数据仓库的定义:面向主题的、集成的、与时间相关且不可修改的数据集合。
“面向主题的”:传统数据库主要是为应用程序进行数据处理,未必按照同一主题存储数据;数据仓库侧重于数据分析工作,是按照主题存储的。这一点,类似于传统农贸市场与超市的区别—市场里面,白菜、萝卜、香菜会在一个摊位上,如果它们是一个小贩卖的;而超市里,白菜、萝卜、香菜则各自一块。也就是说,市场里的菜(数据)是按照小贩(应用程序)归堆(存储)的,超市里面则是按照菜的类型(同主题)归堆的。
“与时间相关”:数据库保存信息的时候,并不强调一定有时间信息。数据仓库则不同,出于决策的需要,数据仓库中的数据都要标明时间属性。决策中,时间属性很重要。同样都是累计购买过九车产品的顾客,一位是最近三个月购买九车,一位是最近一年从未买过,这对于决策者意义是不同的。
“不可修改”:数据仓库中的数据并不是最新的,而是来源于其它数据源。数据仓库反映的是历史信息,并不是很多数据库处理的那种日常事务数据(有的数据库例如电信计费数据库甚至处理实时信息)。因此,数据仓库中的数据是极少或根本不修改的;当然,向数据仓库添加数据是允许的。
数据仓库的出现,并不是要取代数据库。目前,大部分数据仓库还是用关系数据库管理系统来管理的。可以说,数据库、数据仓库相辅相成、各有千秋。
补充一下,数据仓库的方案建设的目的,是为前端查询和分析作为基础,由于有较大的冗余,所以需要的存储也较大。为了更好地为前端应用服务,数据仓库必须有如下几点优点,否则是失败的数据仓库方案。
1.效率足够高。客户要求的分析数据一般分为日、周、月、季、年等,可以看出,日为周期的数据要求的效率最高,要求24小时甚至12小时内,客户能看到昨天的数据分析。由于有的企业每日的数据量很大,设计不好的数据仓库经常会出问题,延迟1-3日才能给出数据,显然不行的。
2.数据质量。客户要看各种信息,肯定要准确的数据,但由于数据仓库流程至少分为3步,2次ETL,复杂的架构会更多层次,那么由于数据源有脏数据或者代码不严谨,都可以导致数据失真,客户看到错误的信息就可能导致分析出错误的决策,造成损失,而不是效益。
3.扩展性。之所以有的大型数据仓库系统架构设计复杂,是因为考虑到了未来3-5年的扩展性,这样的话,客户不用太快花钱去重建数据仓库系统,就能很稳定运行。主要体现在数据建模的合理性,数据仓库方案中多出一些中间层,使海量数据流有足够的缓冲,不至于数据量大很多,就运行不起来了。
以下为关联文档:
数据仓库的数据存储和实现当面对大量的数据,而且是各种各样类型的数据,还可能有的数据单元(粒度)很大,单纯靠数据库是不易解决,为了解决这些问题,提高系统后台的效率,就需要引进数据仓库。有关数据仓库的数...
数据仓库的设计步骤1)选择合适的主题(所要解决问题的领域)2)明确定义事实表3)确定和确认维4)选择事实表5)计算并存储fact表中的衍生数据段6)转换维表7)数据库数据采集8)根据需求刷新维表9)确定查询优先级...
从数据仓库技术出发说明数据仓库的设计数据表的设计等简单的说就是无处不索引。 数据仓库的特点: 插入,修改的性能可以不高。大数据量统计的性能要高。 所以就要建很多的索引。 跟在线联机系统有较大的差别。联机在线的系统主要讲...
2简述数据仓库的建设步骤简述数据仓库的建设步骤 数据仓库是决策支持系统(dss)和联机分析应用数据源的结构化数据环境。数据仓库研究和解决从数据库中获取信息的问题。数据仓库的特征在于面向主题、集...
数据仓库的建立有哪些步骤1.确定终端用户的需要,为数据仓库中存储的数据建立模型。通过数据模型,可以得到企业完整而清晰的描述信息。数据模型是面向主题建立的,考|试/大同时又为多个面向应用的数据源的...
数据仓库是什么数据仓库是什么,数据库是什么?根据数据仓库概念的含义,数据仓库拥有以下四个特点: 1、面向主题。操作型数据库的数据组织面向事务处理任务,各个业务系统之间各自分离,而数据仓库中...
数据仓库数据建模的几种思路数据仓库数据建模的几种思路,数据仓库建模星型模型大致了解就是事实表对应许多维表对雪花:数据仓库接典型的两种数据仓库建模的理论是维度建模和基于主题域的实体关系建模,这两...
什么是数据仓库星型模式什么是数据仓库星型模式,如何建立和评估数据仓库逻辑模型:(星形模式是一种多维的数据关系,它由一个事实表(Fact Table)和一组维表(Dimension Table)组成。每个维表都有一个维作为主...
数据仓库提供哪些接口数据仓库提供哪些接口:不好意思,一直提示“输入内容已经达到长度限制”,只能上这么多,具体内容自己到参考资料查吧! 物料清单(Bill of Material,BOM) 本文将就静态数据中物料清单(Bi...