教你轻松掌握数据仓库的规划和构建策略

2024-05-22 02:31

1. 教你轻松掌握数据仓库的规划和构建策略

教你轻松掌握数据仓库的规划和构建策略

数据仓库作为决策支持系统(DSS)的基础,具有面向主题的、集成的、不可更新的、随时间不断变化的特性。这些特点说明了数据仓库从数据组织到数据处理,都与原来的数据库有很大的区别,这也就需要在数据仓库系统设计时寻求一个适合于数据仓库设计的方法。在一般的系统开发规划中,首先需要确定系统的功能,这些系统的功能一般是通过对用户的需求分析得到的。从数据仓库的应用角度来看,DSS分析员一般是企业中的中高层管理人员,他们对决策支持的需求不能预先做出规范的说明,只能给设计人员一个抽象地描述。
这就需要设计人员在与用户不断的交流沟通中,将系统的需求逐步明确,并加以完善。因此数据仓库的开发规划过程实际上是一个用户和设计人员对其不断了解、熟悉和完善的过程。 数据仓库的开发应用规划是开发数据仓库的首要任务。只有制定了正确的数据仓库规划,才能使组织主要力量有序地实现数据仓库的开发应用。在数据仓库规划中一般需要经历这样几个过程:选择实现策略、确定数据仓库的开发目标和实现范围、选择数据仓库体系结构、建立商业和项目规划预算。 当数据仓库规划完成后,需要编制相应的数据仓库规划说明书,说明数据仓库与企业战略的关系,以及与企业急需处理的、范围相对有限的开发机会,重点支持的职能部门和今后数据仓库开发工作的建议,实际使用方案和开发预算,作为数据仓库实际开发的依据。 
1、选择数据仓库实现策略 
数据仓库的开发策略主要有自顶向下、自底向上和这两种策略的联合使用。自顶向下策略在实际应用中比较困难,因为数据仓库的功能是一种决策支持功能。这种功能在企业战略的应用范围中常常是很难确定的,因为数据仓库的应用机会往往超出企业当前的实际业务范围,而且在开发前就确定目标,会在实现预定目标后就不再追求新的应用,是数据仓库丧失更有战略意义的应用。由于该策略在开发前就可以给出数据仓库的实现范围,能够清楚地向决策者和企业描述系统的收益情况和实现目标,因此是一种有效的数据仓库开发策略。该方法使用时需要开发人员具有丰富的自顶向下开发系统的经验,企业决策层和管理人员完全知道数据仓库的预定目标并且了解数据仓库能够在那些决策中发挥作用。 
自底向上策略一般从某个数据仓库原型开始,选择一些特定的为企业管理人员所熟知的管理问题作为数据仓库开发的对象,在此基础上进行数据仓库的开发。因此,该策略常常用于一个数据集市、一个经理系统或一个部门的数据仓库开发。该策略的优点在于企业能够以较小的投入,获得较高的数据仓库应用收益。在开发过程中,人员投入较少,也容易获得成效。当然,如果某个项目的开发失败可能造成企业整个数据仓库系统开发的延迟。该策略一般用于企业洗碗对数据仓库的技术进行评价,以确定该技术的应用方式、地点和时间,或希望了解实现和运行数据仓库所需要的各种费用,或在数据仓库的应用目标并不是很明确时,数据仓库对决策过程影响不是很明确时使用。
在自顶向下的开发策略中可以采用结构化或面向对象的方法,按照数据仓库的规划、需求确定、系统分析、系统设计、系统集成、系统测试和系统试运行的阶段完成数据仓库的开发。而在自底向上的开发中,则可以采用螺旋式的原型开发方法,使用户可以根据新的需求对试运行的系统进行修改。螺旋式的原型开发方法要求在较短的时间内快速的生成可以不断增加功能的数据仓库系统,这种开发方法主要适合于这样一些场合:在企业的市场动向和需求无法预测,市场的时机是实现产品的重要组成部分,不断地改进对与企业的市场调节是必需的;持久的竞争优势来自连续不断地改进,系统地改进是基于用户在使用中的不断发现。 自顶向下和自底向上策略的联合使用具有两种策略的优点,既能快速的完成数据仓库的开发与应用,还可建立具有长远价值的数据仓库方案。但在实践中往往难以操作,通常需要能够建立、应用和维护企业模型、数据模型和技术结构的、具有丰富经验的开发人员,能够熟练的从具体(如业务系统中的元数据)转移到抽象(只基于业务性质而不是基于实现系统技术的逻辑模型);企业需要拥有由最终用户和信息系统人员组成的有经验的开发小组,能够清楚地指出数据仓库在企业战略决策支持中的应用。
2、确定数据仓库的开发目标和实现范围 
为确定数据仓库的开发目标和实现范围,首先需要对企业管理者等数据仓库用户解释数据仓库在企业管理中的应用和发展趋势,说明企业组织和使用数据来支持跨功能系统的重要性,对企业经营战略的支持,以确定开发目标。在该阶段确认与使用数据仓库有关的业务要求,这些要求应该只支持最主要的业务职能部门,将使用精力集中在收益明显的业务上,使数据仓库的应用立即产生效果,不应该消耗太多的精力在各个业务上同时铺开数据仓库的应用。
在确定开发目标和范围以后,应该编制需求文档,作为今后开发数据仓库的依据。 数据仓库开发的首要目标是确定所需要信息的范围,确定用户提供决策帮助时,在主题和指标域需要哪些数据源。这就需要定义:用户需要什么数据?面向主题的数据仓库需要什么样的支持数据?为成功地向用户提交数据,开发人员需要哪些商业知识?哪些背景知识?这就需要定义整体需求,以文件的形式整理现存的记录系统和系统环境,对使用数据仓库中数据的候选应用系统进行标识、排序,构造一个传递模型,确定尺度、事实及时间标记算法,以便从系统中抽取信息且将他们放入数据仓库。通过信息范围确定可为开发人员提供一个良好的分析平台,和用户一起分析哪些信息是数据仓库需要的,进行商业活动需要什么数据。开发人员可以和用户进一步定义需要,例如数据分级层次、聚合的层次、加载的频率以及需要保持的时间表等。 数据仓库开发的另一个重要目标是确定利用哪些方法和工具访问和导航数据?虽然用户都需要存取并且检索数据仓库的内容,但是所存取的粒度有所不同,有的可能是详细的记录,有的可能是比较概括的记录或十分概括的记录。用户要求的数据概括程度不同,将导致数据仓库的聚集和概括工具的需求不同。
数据仓库还有具有一定功能来访问和检索图表、预定义的报表、多维数据、概括性数据和详细记录。用户从数据仓库中获得信息,应该有电子表格、统计分析器和支持多维分析的分析处理器等工具的支持,以解释和分析数据仓库中的内容,产生并且验证不同的市场假设、建议和决策方案。为将决策建议和各种决策方案向用户清楚地表达出来,需要利用报表、图表和图像等强有力的信息表达工具。 数据仓库开发的其他目标,是确定数据仓库内部数据的规模。在数据仓库中不仅包含当前数据,而且包含多年的历史数据。数据的概括程度决定了这些数据压缩和概括的最大限度。如果要让数据仓库提供对历史记录进行决策查询的功能,就必须支持对大量数据的管理。数据的规模不仅直接影响决策查询的时间,而且还将直接影响企业决策的质量。
在数据仓库的开发目标中,还有:根据用户对数据仓库的基本需求,确定数据仓库中数据的含义;确定数据仓库内容的质量,以确定使用、分析和建议的可信级别;哪种类型的数据仓库可以满足最终用户的需求,这些数据仓库应该具有怎样的功能;需要哪些元数据,如何使用数据源中的数据等。 数据仓库的开发目标多种多样,十分复杂,需要开发人员和用户在开发与使用的过程中不断交互完善。因此,在规划中需要确定数据仓库的开发范围。使开发人员能够根据需求和目标的重要性逐步进行,并且在开发中吸取经验教训,为数据仓库在企业中的全部实现提供技术准备。因此,在为数据仓库确定总体开发方向和目标以后,就必须确定一个有限的能够很快体现数据仓库效益的使用范围。在考虑数据仓库苦的应用范围时,主要从使用部门的数量和类型、数据源的数量、企业模型的子集、预算分配以及开发项目所需的时间等角度分析。
在分析这些因素时,可从用户的角度和技术的角度两方面进行。 从用户的角度应该分析哪些部门最先使用数据仓库?是哪些人员为了什么目的使用数据仓库?以及数据仓库首先要满足哪些决策查询?因为这些决策查询往往确定了关于数据维数、报表的种类,这些因素都将确定数据仓库定义时所需要的数量关系。查询的格式越具体,越容易提供数据仓库的维数、聚集和概括的规划说明。 从技术角度分析,应该确定数据仓库中元数据库的规模,数据仓库的元数据库是存储数据仓库中数据定义的模型。数据定义存储在仓库管理器的目录中,可以作为所有查询和报表工具构造和查询数据仓库的依据。元数据库的规模直接表示了数据仓库中必须管理的数据规模。通过对元数据库规模的管理,实际上就确定了数据仓库中所需要管理的数据规模。
3、数据仓库的结构选择 
数据仓库的结构可以进行灵活的选择,可将组织所使用的各种平台进行恰当的分割,把数据源、数据仓库和最终用户使用的工作站分割开来进行恰当的设计。
(1)数据仓库的应用结构
基于业务处理系统的数据仓库 在这种结构中,将运作的数据用于无需修改数据的只读应用程序中。具有这种结构的数据仓库元数据库是一种虚库,而不是数据仓库自身的元数据。在数据仓库元数据库的直接指导下,对数据仓库的查询就是简单的从数据库中抽取数据。 
单纯数据仓库 
利用在数据仓库中的数据源净化、集成、概括和集成等操作,将数据源从业务处理系统中传输进集中的数据仓库,各部门的数据仓库应用只在数据仓库中进行。这种结构经常发生在多部门、少用户使用数据仓库的情况下。这里的集中仅仅是逻辑上的,物理上可能是分散的。
单纯数据集市 
数据集市是指在部门中使用的数据仓库,因为企业中的各个职能部门都有自己的特殊需要,而统一的数据仓库可能不能满足这些部门的特殊要求。这种体系结构经常发生在个别部门对数据仓库的应用感兴趣,而组织中其他部门却对数据仓库的应用十分冷漠之时,由热心的部门单独开发式所采用。
数据仓库和数据集市
企业各部门拥有满足自己需要的数据集市,其数据从企业数据仓库中获取,而数据仓库从企业各种数据源中收集和分配。这种体系结构是一种较为完善的数据仓库体系结构,往往发生在组织整体对数据仓库应用感兴趣之时所采用的体系结构。 
(2)数据仓库的技术平台结构 单层结构
单层结构主要是在数据源和数据仓库之间共享平台,或者让数据源、数据仓库、数据集市与最终用户工作站使用同一个平台。共享一个平台可以降低数据抽取和数据转换的复杂性,但是共享平台在应用中可能遇到性能和管理方面的问题,这种体系结构一般在数据仓库规模较小,而组织的业务系统平台具有较大潜力之时所采用。
客户/服务器两层结构 
一层为客户机,一层为服务器,最终用户访问工具在客户层上运行,而数据源、数据仓库和数据集市位于服务器上,该技术机构一般用于普通规模的数据仓库。
三层客户/服务器结构 
基于工作站的客户层、基于服务器的中间层和基于主机的第三层。主机层负责管理数据源和可选的源数据转换;服务器运行数据仓库和数据集市软件,并且存储仓库的数据;客户工作站运行查询和报表运用程序,且还可以存储从数据集市或数据仓库卸载的局部数据。在数据仓库稍具规模,两层数据仓库结构已经不能满足客户的需求,要讲数据仓库的数据存储管理、数据仓库的应用处理和客户端应用分开之时,可以采用这种结构。 
多层式结构
这是在三层机构基础上发展起来的数据仓库结构,在该结构中从最内数据层到最外层的客户层依次是:单独的数据仓库存储层、对数据仓库和数据集市进行管理的数据仓库服务层、进行数据仓库查询处理的查询服务层、完成数据仓库应用处理的应用服务层和面向最终用户的客户层。体系层次可能多达五层,这种体系结构一般用于超规模数据仓库系统。
4、数据仓库使用方案和项目规划预算 
数据仓库的实际使用方案与开发预算,是数据仓库规划中最后需要确定的问题。因为数据仓库主要用于对企业管理人员的决策支持,确保其实用性是十分重要的,因此需要让最终用户参与数据仓库的功能设计。这种参与是通过用户的实际使用方案进行的,使用方案是一个非常重要的需求模型。实际使用方案必须有助于阐明最终用户对数据仓库的要求,这些要求有的只使用适当的数据源就可以得到基本满足,而有的却需要来自企业外部的数据源,这就需要通过使用方案将这些不同的要求联系起来。 实际使用方案还可以将最终用户的决策支持要求与数据仓库的技术要求联系起来。因为当用户确定最终要求后,为元数据库的范围确定一个界限。还可以确定所需要的历史信息的数量,当根据特定的用户进行数据仓库的规划时,就可确定最终用户所关心的维度(时间、方位、商业单位和生产企业),因为维度与所需要的概括操作有明显的关系,必须选择对最终用户有实际意义的维度,如:“月”、“季度”、“年”等。最后,还可以确定数据集市/数据仓库的结构需要,使设计人员确定采用单纯数据仓库结构,还是单纯的数据集市结构或者是两者相结合的结构。
在实际使用开发方案确定后,还需要对开发方案的预算进行估计,确定项目的投资数额。投资方案的确定可以依据以往的软件开发成本,但是这种预算的评估比较粗糙。另一种方法是参照结构进行成本评估,也就是说,将数据仓库实际使用方案所确定的构件进行分解,根据各个构件的成本进行预算估算。数据仓库的构件包含在数据源、数据仓库、数据集市、最终用户存取、数据管理、元数据管理、传输基础等部分中,这些构件有的在企业原有信息系统中已经具备,有的可以选择商品化构件,有的则需要自我开发。根据这些构件的不同来源,可以确定比较准确的预算。 在完成数据仓库规划后,就需要编制数据仓库开发说明书,说明系统与企业战略目标的关系,以及系统与企业急需处理的范围相对有限的开发机会,所设想的业务机会的说明以及目标任务概况说明、重点支持的职能部门和今后工作的建议。数据仓库项目应有明确的业务价值计划开始,在计划中需要阐明期望取得的有形和无形的利益。无形利益包含利用数据仓库使决策完成得更快更好等利益。
业务价值计划最好由目标业务主管来完成,因为数据仓库是用户驱动的,应该让用户积极参与数据仓库的建设,在规划书中要确定数据仓库开发目标的实现范围、体系结构和使用方案及开发预算。

教你轻松掌握数据仓库的规划和构建策略

2. 数据仓库的实现方式

数据仓库是一个过程而不是一个项目。数据仓库系统是一个信息提供平台,他从业务处理系统获得数据,主要以星型模型和雪花模型进行数据组织,并为用户提供各种手段从数据中获取信息和知识。从功能结构划分,数据仓库系统至少应该包含数据获取(Data Acquisition)、数据存储(Data Storage)、数据访问(Data Access)三个关键部分。企业数据仓库的建设,是以现有企业业务系统和大量业务数据的积累为基础。数据仓库不是静态的概念,只有把信息及时交给需要这些信息的使用者,供他们做出改善其业务经营的决策,信息才能发挥作用,信息才有意义。而把信息加以整理归纳和重组,并及时提供给相应的管理决策人员,是数据仓库的根本任务。因此,从产业界的角度看,数据仓库建设是一个工程,是一个过程。

3. 数据仓库技术的介绍

数据仓库技术(Data Warehousing)是基于信息系统业务发展的需要,基于数据库系统技术发展而来,并逐步独立的一系列新的应用技术。

数据仓库技术的介绍

4. 数据仓库的实现策略

分类:  电脑/网络 >> 程序设计 >> 其他编程语言 
   问题描述: 
  
 对"自顶向下","自底向上"和"这两种策略的联合使用"的概念的介绍
 
   解析: 
  
 数据仓库的开发策略主要有自顶向下、自底向上和这两种策略的联合使用。自顶向下策略在实际应用中比较困难,因为数据仓库的功能是一种决策支持功能。这种功能在企业战略的应用范围中常常是很难确定的,因为数据仓库的应用机会往往超出企业当前的实际业务范围,而且在开发前就确定目标,会在实现预定目标后就不再追求新的应用,是数据仓库丧失更有战略意义的应用。由于该策略在开发前就可以给出数据仓库的实现范围,能够清楚地向决策者和企业描述系统的收益情况和实现目标,因此是一种有效的数据仓库开发策略。该方法使用时需要开发人员具有丰富的自顶向下开发系统的经验,企业决策层和管理人员完全知道数据仓库的预定目标并且了解数据仓库能够在那些决策中发挥作用。
 
 自底向上策略一般从某个数据仓库原型开始,选择一些特定的为企业管理人员所熟知的管理问题作为数据仓库开发的对象,在此基础上进行数据仓库的开发。因此,该策略常常用于一个数据集市、一个经理系统或一个部门的数据仓库开发。该策略的优点在于企业能够以较小的投入,获得较高的数据仓库应用收益。在开发过程中,人员投入较少,也容易获得成效。当然,如果某个项目的开发失败可能造成企业整个数据仓库系统开发的延迟。该策略一般用于企业洗碗对数据仓库的技术进行评价,以确定该技术的应用方式、地点和时间,或希望了解实现和运行数据仓库所需要的各种费用,或在数据仓库的应用目标并不是很明确时,数据仓库对决策过程影响不是很明确时使用。
 
 在自顶向下的开发策略中可以采用结构化或面向对象的方法,按照数据仓库的规划、需求确定、系统分析、系统设计、系统集成、系统测试和系统试运行的阶段完成数据仓库的开发。而在自底向上的开发中,则可以采用螺旋式的原型开发方法,使用户可以根据新的需求对试运行的系统进行修改。螺旋式的原型开发方法要求在较短的时间内快速的生成可以不断增加功能的数据仓库系统,这种开发方法主要适合于这样一些场合:在企业的市场动向和需求无法预测,市场的时机是实现产品的重要组成部分,不断地改进对与企业的市场调节是必需的;持久的竞争优势来自连续不断地改进,系统地改进是基于用户在使用中的不断发现。
 
  
 
 自顶向下和自底向上策略的联合使用具有两种策略的优点,既能快速的完成数据仓库的开发与应用,还可建立具有长远价值的数据仓库方案。但在实践中往往难以操作,通常需要能够建立、应用和维护企业模型、数据模型和技术结构的、具有丰富经验的开发人员,能够熟练的从具体(如业务系统中的元数据)转移到抽象(只基于业务性质而不是基于实现系统技术的逻辑模型);企业需要拥有由最终用户和信息系统人员组成的有经验的开发小组,能够清楚地指出数据仓库在企业战略决策支持中的应用。

5. 数据仓库开发过程中的七个禁忌

  过去我们一直使用的OLTP技术也许隐藏着许多严重的缺陷 数据仓库的实现并不是一个简单的任务 你会发现以前积累下来的丰富经验 并不适合处理每个数据仓库的独特需求     下面列出的条款是你在实现数据仓库过程中一定会面对的问题 其中一些看起来并没有想象中那么严重 但是你还是应该尽量避免出现类似问题 数据仓库并不是一个事务处理系统 它没有一定的标准也不会实现某个特定的应用 但它本质上是非常有组织性的 总之 每个公司所建立的数据仓库都是唯一的 并且每一次数据仓库的实现方法都不是一成不变的 在实现数据仓库时需要注意的不单是 应该如何作 更要注意 不该如何做 下面就是我们总结的七点 不该如何作      不要编写自己无法快速修改的代码  你所要编写的程序主要用于数据分析 而不是处理事务 而你的用户也并不真正知道他们自己真正想要一个什么样的程序 因此你不得不反复修改代码好几次 才会明白用户到底需要一个什么样的程序 如果你编写的程序具有良好的结构和灵活性 就算需要修改也不会太浪费力气 反之 你会被自己累死      不要使用无法修改的数据库访问API  在过去 你的数据库可以为大量的客户提供稳定的数据查询服务 而如今 你的程序必须能够应付更多的数据查询 这使得重新改写程序以使得每个查询请求能得到最大的数据量成为势在必行的工作 而一般来说这种代码修改都不会一次成功 所以只有选择合适的可以修改的API 才能使程序尽快适应新的需求      不要设计任何无法扩展的东西  在联机处理过程(OLTP)应用中 数据分析并不是一个真正的应用程序 实际上 数据分析的关键是获取大量旧的数据 从中提取数据模型 并以此模型推断出新的信息 而你所编写的访问潜在信息的代码应该具有可扩展性 可以附加新的数据 千万别在支持数据分析的代码中假定数据都是固定格式的 不要附加不必要的功能  一个仓库要做的是恰到好处的服务 用户走进仓库 从货架上取得自己所需得信息 仅此而已 由于业务智能 分析以及规律性的问题都有各自的处理程序 因此你的客户唯一的需要就是获取信息 他们需要一种应用环境 可以让他们快速的从数据仓库中取得分析过程所需的数据 而不论这个数据是什么样子的 也许你想帮助他们精炼一下获得的数据 但最好不要这么做 一定要记住 不要给客户的数据分析程序添加任何会影响数据访问性能的功能      不要简化数据清除和数据源分析的步骤  在实现数据仓库过程中最应该注意的地方就是为Extract Transform Load机制分析数据源 以及为优化负载而清除数据 安全的做法是假设项目经理在这个阶段会需要整个项目资源的一半以上 相反 如果你在这方面进行了简化 稍后肯定会后悔 所以就算系统工作缓慢 也不要简化清理旧的数据的过程      不要避免颗粒度和分区问题  在数据仓库设计过程中有两个最大的数据存储问题 第一是如何给转换数据定位一个恰当的颗粒度等级 第二是如何将数据绝对的分区 为什么这两点问题如此重要呢?因为整个数据仓库的响应能力受颗粒度影响 并且数据访问的效率直接与数据分区性能有关 因此这是具有关键性的工作 不要试图避免面对这些问题      不要在没考虑业务问题前就使用OLAP  用户在亲眼见到程序前通常都不知道自己到底想要个什么样的程序 因此他们的观点有不少错误 比如他们希望分析结果会忠实反应性能度量 或者希望程序会使他们部门或公司的业务工作有所不同 而你必须跳出自己的职责范围 从IT管理者的角度考虑用户部门直至整个企业的运行方式 才能在开发过程中避免这类问题 在通常的OLTP开发中 你可以比较方便的理解业务流程 而在联机分析处理(OLAP)领域 任何事情都需要亲自考察 而在你周围工作的人也许并不会发现你对业务方面存在的误解 因此 不要自以为已经了解了足够的信息 不断的询问才能使你真正了解 业务智能 中的 业务 到底是什么样子的 lishixinzhi/Article/program/Oracle/201311/16760 
   

数据仓库开发过程中的七个禁忌

6. 常见数据仓库模式参考

一、概述 
  
   多维数据模型是最流行的数据仓库的数据模型,多维数据模型最典型的数据模式包括星型模式、雪花模式和事实星座模式,本文以实例方式展示三者的模式和区别。
  
  二、星型模式(star schema) 
  
   星型模式的核心是一个大的中心表(事实表),一组小的附属表(维表)。星型模式示例如下所示:
                                          
 
  
  
  三、雪花模式(snowflake schema) 
  
   雪花模式是星型模式的扩展,其中某些维表被规范化,进一步分解到附加表(维表)中。雪花模式示例如下图所示:
                                          
 从图中我们可以看到地址表被进一步细分出了城市(city)维。supplier_type表被进一步细分出来supplier维。
  
  四、事实星座模式(Fact Constellation)或星系模式(galaxy schema) 
  
   数据仓库由多个主题构成,包含多个事实表,而维表是公共的,可以共享,这种模式可以看做星型模式的汇集,因而称作星系模式或者事实星座模式。本模式示例如下图所示:
                                          
 如上图所示,事实星座模式包含两个事实表:sales和shipping,二者共享维表。
  
  五、总结 
  
 事实星座模式是数据仓库最长使用的数据模式,尤其是企业级数据仓库(EDW)。这也是数据仓库区别于数据集市的一个典型的特征,从根本上而言,数据仓库数据模型的模式更多是为了 避免冗余和数据复用 ,套用现成的模式,是设计数据仓库最合理的选择。当然大数据技术体系下,数据仓库数据模型的设计,还是一个盲点,探索中。
  
   最近在做大数据技术体系下的数据仓库模型设计,重温数据传统数据仓库的关键技术和数据模型,有感兴趣的可以一起讨论,共同学习。

7. 浅析数据仓库的构建方法

浅析数据仓库的构建方法
随着不同的管理信息系统(MIS)在企业不同部门的大规模应用及企业对数据管理不断提出新的要求,不仅要求能实现传统的联机事务处理,而且越来越多的要求是各种应用系统能够在企业不断积累的以及从企业外部获取的丰富信息资源的基础上,把这些分散的、不一致的、凌乱的信息资源加以利用,即更多地参与数据分析和决策支持,由此出现了一种用于数据分析处理和决策支持的数据存储和组织技术,即数据仓库技术。
   1、什么是数据仓库
   数据仓库是面向主题的、集成的、具有时间特征的、稳定的数据集合,用以支持经营管理中的决策制定过程。数据仓库提供用户用于决策支持的当前和历史数据,这些数据在传统的操作型数据库中很难或不能得到。
    面向主题是指数据仓库中的数据是按照一定的主题域进行组织。主题是一个抽象的概念,是指用户使用数据仓库进行决策时所关心的重点方面,一个主题通常与多个操作型信息系统相关。集成的是指数据仓库中的数据是在对原有分散的数据库数据抽取、清理的基础上经过系统加工、汇总和整理得到的,必须消除源数据中的不一致性,以保证数据仓库内的信息是关于整个企业的一致的全局信息。
   数据仓库的体系结构分数据源、数据转换、数据仓库、数据集市和用户几部分。数据源,包括企业内部的业务数据、遗留数据、其它业务系统数据及相关WEB数据等;数据转换是数据仓库构建的重要环节,主要是对各种复杂的数据源进行抽取、转换、装载及其他处理,同时要实现数据质量跟踪监控以及元数据抽取与创建等工作;数据仓库主要实现对各种数据的组织、存储及管理等;数据集市是为不同业务而单独设计的数据仓库系统,即开发者为企业内部的不同用户群定制特殊的数据仓库子系统。用户部分,即具体面向使用者的应用部分,主要是指数据仓库存取与检索为用户提供了访问数据仓库或数据集市的功能,其中分析与报告为用户使用数据仓库提供了一组工具,用于帮助用户对数据仓库或数据集市进行联机分析或数据挖掘等。
   2、数据仓库构建方法
    2.1 普通数据仓库构建方法。对于普通数据仓库的构建,企业在对整个系统的建设综合各种因素的基础上,将整个项目的实施分阶段、分步骤实施,可以在每一阶段建设的基础上分阶段纳入不同的业务系统,逐步建立起一个综合的、专题较为完善的、适合部门、子单位使用的完整的数据仓库系统,从而才能使投资尽快获得收益。
    在数据仓库的构建过程中,利用模糊数学可实现数据仓库内数据的语义表示,丰富数据加工的手段,提高分析处理的能力。数据仓库的构建,一般采取先构建数据集市,最后将各个数据集市整合在一起形成数据仓库的渐进模式;通过概念层、逻辑层、物理层建模,确定相关主题域的数据集市并对其进行联机分析处理。构建数据仓库模型一般采用以下几种:
    2.1.1 星型模型:星型模型是最常用的数据仓库设计结构的实现模式。使数据仓库形成了一个集成系统,为用户提供分析服务对象。该模型的核心是事实表,围绕事实表的是维度表。通过事实表将各种不同的维度表连接起来,各个维度表都连接到中央事实表。[page]    2.1.2 星系模型(也称雪花模型):雪花模型对星型模型的维度表进一步标准化,对星型模型中的维度表进行了规范化处理。同时也是对星型模型的扩展,每一个维度都可以向外连接到多个详细类别表。在实际应用中,用户的需求多种多样,数据来源可能为多个事实表,故可采用多个事实表共存,之间通过公用的维表相关联的星系模型,也称为事实星座。
    2.1.3 原子级数据模型和汇总级数据模型并存:坚持原子级数据模型和汇总级数据模型并存,而且要尽可能地细化原子级数据。
    2.1.4 设立代理键:代理键是维表中一些没有业务含义的字段,只是一个由数据仓库加载程序时建立的数字。
    2.2 空间数据仓库构建方法。随着GIS(地理信息系统)在各行业的广泛应用,最初面向事务处理为主的空间数据库信息系统已不能满足需要,信息系统开始从管理转向决策处理,空间数据仓库就是为满足这种新的需求而提出的空间信息集成系统。尤其是地理信息决策支持系统中,空间数据仓库系统显得尤为重要。
    空间数据仓库具有普通数据仓库的普遍特征,但其本身有一些特殊性。并且空间数据仓也并不是空间数据库的简单集合。与空间数据库比,空间数据仓除支持数据库外,还支持数据文件、文本文件、应用程序等众多数据源;另外空间数据仓库中的数据有时间数据、空间数据、属性数据及异构数据等多种数据;其次空间数据仓库中还包括了数据处理规则、算法等;再次空间数据仓库的数据是对原始数据进行加工、处理、集成等转换,是对数据的增值和统一;空间数据库还引入了时间纵的概念,它是以时间为基准来管理数据,可以截取不同时间尺度上的信息,从瞬态到区段时间直到全体,空间数据仓库是依赖于时间维的数据结构,它可以根据不同的需要划分不同的时间粒度等级,以便进行各种复杂的趋势分析。当然,不言而喻,它还包含了空间维的方位数据。正因为空间数据仓库与普通数据仓库的不同,并且它以空间数据仓库完全不是相同的概念,一般空间数据仓库以如下体系结构分为四大功能模块,分别是源数据、数据变换工具、空间数据仓库、客户端分析工具。源数据它不仅指那些常见的空间数据库,还包括文件、网页、知识库、遗留系统等各种数据源。数据变换工具与具有普通数据仓库数据变换相同的提取转换功能,但它还包括了特有的空间变换等。空间数据仓库以立体、多维的方式来组织和显示数据。但最基本的空间维和时间维是其反映客观世界动态变化的基础,空间数据仓库技术最关键要点也就是时间维和空间维数据组织方式。目前空间数据仓库已成为国、内外GIS(地理信息系统)研究的热点并取得了较大进展。要把空间信息融合进企业现有的数据仓库中,在原有系统不作较大改动的前提下,一般采用三种模式构建企业空间数据仓库:(1)把空间信息作为多维模型中的空间维引入;(2)把空间信息作为研究主题引入;(3)在维和度量中都包含空间信息。因此,计算并存储所有空间度量是不现实的。一般使用空间索引树(如R-tree)在最细空间粒度上构建分组层次,作为空间维的分层,每个空间维需要建立一棵空间索引树。
   3、结束语
    总之,数据仓库构建是数据仓库技术的关键,数据仓库技术是一项基于数据管理和利用的综合性技术和解决方案,尤其是现在空间数据仓库在GIS 中的广泛应用,它成为数据库市场的新一轮增长点,同时也成为下一代信息系统的重要组成部分。

浅析数据仓库的构建方法

8. 数据仓库数据建模的几种思路

数据仓库数据建模的几种思路主要分为一下几种
1. 星型模式
星形模式(Star Schema)是最常用的维度建模方式。星型模式是以事实表为中心,所有的维度表直接连接在事实表上,像星星一样。星形模式的维度建模由一个事实表和一组维表成,且具有以下特点:a. 维表只和事实表关联,维表之间没有关联;b. 每个维表主键为单列,且该主键放置在事实表中,作为两边连接的外键;c. 以事实表为核心,维表围绕核心呈星形分布;

2. 雪花模式
雪花模式(Snowflake Schema)是对星形模式的扩展。雪花模式的维度表可以拥有其他维度表的,虽然这种模型相比星型更规范一些,但是由于这种模型不太容易理解,维护成本比较高,而且性能方面需要关联多层维表,性能也比星型模型要低。所以一般不是很常用

雪花模式
3.星座模式
星座模式是星型模式延伸而来,星型模式是基于一张事实表的,而星座模式是基于多张事实表的,而且共享维度信息。前面介绍的两种维度建模方法都是多维表对应单事实表,但在很多时候维度空间内的事实表不止一个,而一个维表也可能被多个事实表用到。在业务发展后期,绝大部分维度建模都采用的是星座模式。

星座模型