王家卫和李安:【佳文转载】概念解析:数据仓库与数据集市

来源:百度文库 编辑:中财网 时间:2024/04/29 13:14:17

【佳文转载】概念解析:数据仓库与数据集市

(2011-07-26 15:32:33) 转载标签:

数据仓库

数据集市

it

分类: 信息管税专题(推荐)

概念解析:数据仓库与数据集市

 数据仓库

  20世纪80年代中期,“数据仓库之父”Wiliam H.Inmon先生认为:数据仓库(Data Warehouse)是在企业管理和决策中面向主题的(Subject Oriented)、集成的(Integrate)、与时间相关的(Time Variant)、但信息本身又相对稳定的(Non-Volatile)数据集合。与其他数据库应用不同的是,数据仓库更像一种过程,是对分布在企业内部各处业务数据的整合、加工和分析的过程,而不是一种可以购买的产品。

  数据集市可称作“小数据仓库”,是用来分析相关专门业务问题或功能目标而做的专项数据集合。它建立在具有统一数据存储模型的数据仓库下,各级业务人员按照各部门特定的需求把数据进行复制、处理、加工,并最终统一展现为有部门特点的数据集合。

  1 数据仓库的体系结构

  Ralph Kimball和Bill Inmon一直是商业智能领域中的革新者,开发并测试了新的技术和体系结构。Kimball和Inmon同意组织需要一个与遗留系统和OLTP系统分开的数据仓库,以捕获组织的有关信息并使之可用。数据仓库中的数据应该是净化的、一致的,并且不受其来源的遗留系统和OLTP系统设计的牵制。在开始第一个数据集市之前,他们还同意用针对整个体系结构的思想重复构建数据仓库。

  Bill Inmon将数据仓库定义为“一个面向主题的、集成的、随时间变化的、非易变的用于支持管理的决策过程的数据集合”。Inmon通过“面向主题”表示应该围绕主题来组织数据仓库中的数据,每个主题区域仅仅包含与该主题相关的信息。数据仓库应该一次增加一个主题,并且当需要容易地访问多个主题时,应该创建以数据仓库为来源的数据集市。

  Ralph Kimball说“数据仓库仅仅是构成它的数据集市的联合”。他认为“可以通过一系列维数相同的数据集市递增地构建数据仓库”,通过使用“一致的”维,能够共同看到不同数据集市中的信息,这表示它们拥有公共定义的元素。Kimbal的方法将提供集成的数据来回答组织迫切的业务问题并且要快于Inmon的方法。Inmon的方法是只有在构建几个单主题区域之后,集中式的数据仓库才创建数据集市,而Kimbal认为该方法缺乏灵活性,并且在现在的商业环境中所花时间太长。

实际上,方法的选择取决于项目的主要商业驱动。如果该组织正忍受糟糕的数据管理和不一致的数据,那么Inmon的方法就更好一些;如果该组织迫切需要给用户提供信息,那么Kimbal的方法将满足该需求。数据仓库将使数据集市与遗留系统和OLTP系统隔离,并且支持更快地创建将来的数据集市。

  遗憾的是,个别部门经常滥用Kimball的方法,并将之作为脱离集中控制而构建他们自己数据集市的借口。当试图跨集市访问数据以获取联合视图时,这将造成严重问题,而集中式信息体系结构将避免这一点。

  2 数据仓库的构建

  对于数据仓库的概念,我们可以从两个层次予以理解:首先,数据仓库用于支持决策,面向分析型数据处理,它不同于企业现有的操作型数据库;其次,数据仓库是对多个异构数据源的有效集成,集成后按照主题进行了重组,并包含历史数据,而且存放在数据仓库中的数据一般不再修改。

  根据数据仓库概念的含义,数据仓库拥有以下4个特点:

  (1)面向主题的。操作型数据库的数据组织面向事务处理任务,各个业务系统之间各自分离,而数据仓库中的数据按照一定的主题域进行组织。

  (2)集成的。面向事务处理的操作型数据库通常与某些特定的应用相关,数据库之间相互独立,并且往往是异构的;而数据仓库中的数据是在对原有分散的数据库数据抽取、清理的基础上经过系统加工、汇总和整理得到的,必须消除源数据中的不一致性,以保证数据仓库内的信息是关于整个企业一致的全局信息。

  (3)相对稳定的。操作型数据库中的数据通常实时更新,数据根据需要及时发生变化。数据仓库的数据主要供企业决策分析之用,所涉及的数据操作主要是数据查询,一旦某个数据进人数据仓库以后,一般情况下将被长期保留。

(4)反映历史变化。操作型数据库主要关心当前某一个时间段内的数据,而数据仓库中的数据通常包含历史信息,系统记录了企业从过去某一时点到目前的各个阶段的信息,通过这些信息,可以对企业的发展历程和未来趋势作出定量分析和预测。

  企业数据仓库的建设是以现有企业业务系统和业务数据的积累为基础。数据仓库不是静态的概念,只有把信息及时交给需要这些信息的使用者,供他们做出改善其业务经营的决策,信息才能发挥作用,而把信息加以整理归纳和重组,并及时提供给相应的管理决策人员,是数据仓库的根本任务。

  整个数据仓库系统是一个包含4个层次的体系结构,具体结构见图1。

图1 数据仓库系统结构图

  数据源:是数据仓库系统的基础,是整个系统的数据源泉,通常包括企业内部信息和外部信息。内部信息包括存放于RDBMS中的各种业务处理数据和各类文档数据;外部信息包括各类法律法规、市场信息和竞争对手的信息等等。

  数据的存储与管理:是整个数据仓库系统的核心。数据仓库的真正关键是数据的存储和管理。数据仓库的组织管理方式决定了它有别于传统数据库,同时也决定了其对外部数据的表现形式。数据仓库按照数据的覆盖范围可以分为企业级数据仓库和部门级数据仓库(通常称为数据集市)。

  OLAP服务器:对分析需要的数据进行有效集成,按多维模型予以组织,以便进行多角度、多层次的分析,并发现趋势。

前端工具:主要包括各种报表工具、查询工具、数据分析工具、数据挖掘工具以及各种基于数据仓库或数据集市的应用开发工具。

3 数据仓库平台的评测指标

  目前,专门针对数据仓库平台的评测指标,主要是由TPC组织开发的TPC-D。TPC是交易处理委员会(Transaction Processing Performance Council)的英文缩写,是一个国际性的组织.专门负责为各种开放平台在不同类型的应用制订一个统一、公正的测试标准。

  对于数据仓库系统,TPC-D主要考虑三方面的数据需要:

  QppD:是Query Processing Power D的缩写,D表示这个结果是按照TPC-D标准测得的(下同),这个数据描述了系统的查询处理能力。

  QthD:是Query Throughput D的缩写,即流量测试结果,描述了系统在多个用户同时进行查询时的处理能力。

  QphD:是Query Price-Performance的缩写,即性能价格比。

  显然,前面两个指标的数据越大越好,而最后一个则越小越好。TPC-D的测试是在不同的数据库级别上进行,主要可供参考的是100Gb,300Gb,1000Gb和3000Gb 4个级别上的测试结果。

  4 数据集市

  数据集市(Data marts)是为满足已定义的用户组或业务领域对于特定业务信息的需求而创建的。它们比数据仓库更小,且更关注在数据中构建复杂业务规则来支持功能强大的分析。

  数据集市将合并不同系统的数据源来满足业务信息需求。若能有效地得以实现,数据集市可以快速且方便地访问简单信息以及系统的和历史的视图。一个设计良好的数据集市有以下功能:第一,发布特定用户群体所需的信息,且无需受制于源系统的大量需求和操作性危机;第二,支持访问非易变(Non-volatile)的业务信息;第三,调和来自于组织里多个运行系统的信息,比如账目、销售、库存和客户管理以及组织外部的行业数据;第四,通过默认有效值、使各系统的值保持一致以及添加描述以使隐含代码有意义,从而提供净化的数据。

5 数据集市的构建模块

  数据集市是自上而下构建的,其中商业目标在顶层驱动所需信息,而这两者将共同决定所需的基础设施(见图2)。

图2 数据集市的构建模块

  构建模块 1:商业目标。商业目标定义了需要解决的商业问题,特别是那些拓宽组织视野的目标。一旦确定了目标,也就确定了支持该目标所需的信息。

  构建模块 2:信息。用户将通过一个终端用户数据访问工具,访问在数据库中组织的信息。首先,需要确定信息来源并将之组织到数据模型中去,而该数据模型将驻留在数据库中;其次,基于业务规则和标准,构建填充数据库的过程;再次,创建元数据来描述数据和用于填充数据的逻辑。

  数据源的数目和复杂性比任何其他因素更影响作用域,因为每个数据源都带有它自己的问题集并且要花费相当多的时间进行理解和适当的转换。因此,数据集市的前两个部分— 商业目标和数据源,应迭代地进行定义。

  6 建立数据集市的步骤

  数据集市的建立主要包括以下5个步骤:

  (1)建立中心数据仓库:因为操作环境从来都不是一个能够直接向数据集市提供数据的合理数据源,也就意味着建立数据集市之前应该建立数据仓库。

  (2)装载数据集市:由于数据集市的多样性,使得在建立数据集市时要根据部门的需求来选择相应类型的数据集市,然后可以用一个加载程序从数据仓库中完全装载数据集市。

  (3)数据集市中的元数据:由于数据集市本身也是一个数据仓库,所以其中最重要的组件之一也是元数据,数据集市环境中的元数据与数据仓库中的元数据服务目的相同。

(4)数据集市的数据建模:在建立数据集市时最重要的问题是是否需要一个数据模型,这就要根据数据集市的大小和形式而定。

  (5)净化数据集市:和数据仓库一样,数据集市也要定期净化,即定期从数据集市中对某些数据进行有选择性的删除。

  7 建立数据集市的体会

  (1)坚持需求驱动。数据仓库是发展方向,也是新技术,前提是在引入该应用时,要有清醒的认识,时机要合适,规模要适当。

  (2)避免贪大求全。不要认为数据仓库实现的功能无所不有,结果造成投入与期望不符。一方面,技术人员要为将来的使用人员如实地描画未来数据仓库的功能,另一方面,使用人员在提供自己需求时,能够更客观、实用、具体。把无关紧要的数据都放到数据仓库中,容易导致过于庞大的数据库响应缓慢、难于维护。

  (3)平台环境适当。根据数据仓库的特点,在计划配置方面,与OLTP应用环境是不同的。其特点是数据存储的需求量大.其中不但包括大量的各级综合数据及索引数据,还应当考虑更多的临时空间用于排序操作和数据汇总。

  (4)确保数据质量。数据的抽取、转换和装载(ETL)是数据仓库建设中一项非常重要而繁琐的工作,在系统实施过程中需要由专人负责,并且由于不同应用系统的数据编码通常是不同的,统一编码及建立对照关系是一项非常费时并费力的工作,需要做好心理准备。

  8 结 语

  随着数据大量增加和对深层信息的挖掘需求,数据仓库应用需要进行频繁的修改,以满足用户不断变化的需求。而及时有效地满足新的用户需求的最佳办法是建立多个数据仓库或数据集市,分别根据特定的业务类型与需求进行定制。进一步来说,为应付数据仓库使用过程中不可避免的用户增加和需求的增加,更需要扩展能力强的多层处理结构,使用灵活的技术与结构,简化数据仓库的建立,同时保持对变化中需求的响应能力。