您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 信息化管理 > 2-第二章 数据仓库(20844字)
17第二章数据仓库2.1数据仓库的基本概念数据仓库是一个环境,而不是一件产品,提供用户用于决策支持的当前的和历史的数据,这些数据在传统的操作型数据库中很难或不能得到。传统的数据库系统面向以事务处理为主的联机处理系统的应用,不能满足决策支持系统(decisionsustainsystem,DSS)的分析要求。事务处理和分析处理具有极不相同的性质,因而两者对数据也有着不同的要求。W.H.Inmon在其《建立数据仓库》一书中,列出了操作型数据与分析型数据之间的区别如表2-1所示。表2-1操作型数据与分析型数据的区别操作型数据分析型数据细节的综合的,或提炼的在存取瞬间是准确的代表过去的数据可更新不更新操作需求事先可知道操作需求事先不知道生命周期符合SDLC完全不同的生命周期对性能要求高对性能要求宽松一个时刻操作一单元一个时刻操作一集合事务驱动分析驱动面向应用面向分析一次操作数据量小一次操作数据量大支持日常操作支持管理需求上述操作型数据与分析型数据之间的差别从根本上体现了事务处理与分析处理的差异。传统的数据库系统由于主要用于企业的日常事务处理工作,存放在数据库中的数据也就大体符合操作型数据的特点。而为适应数据分析处理要求而产生的数据仓库中所存放的数据就应该是分析型的数据。表2-1中所列出的分析型数据的特点可以概括为4点,也就是数据仓库数据的4个基本特征:数据仓库的数据是面向主题的;数据仓库的数据是集成的;数据仓库的数据是不可更新的;数据仓库的数据是随时间不断变化的。由此,可以概括地定义,数据仓库就是一个用以更好地支持企业或组织的决策分析处理的、面向主题的、集成的、不可更新的、随时间不断变化的数据集合。下面我们着重来讨论数据仓库数据的这4个基本特征。2.1.1数据仓库的数据是面向主题的传统数据库是面向应用的,为每个单独的应用程序组织数据。数据仓库中的数据是面向主题进行组织的。面向主题性表示数据仓库中数据组织的基本原则,数据仓库中的所有数据都是围绕着某一主题组织、展开的。1.主题的概念主题是一个抽象的概念,是在较高层次上将企业信息系统中的数据综合、归类并进行分析利用的抽象,在逻辑意义上,它是对应企业中某一宏观分析领域所涉及的分析对象。面向18主题的数据组织方式,就是在较高层次上对分析对象的数据的一个完整、一致的描述,能完整、统一地刻画各个分析对象所涉及的企业的各项数据,以及数据之间的联系。从信息管理的角度看,主题就是在一个较高的管理层次上对信息系统中的数据按照某一具体的管理对象进行综合、归类所形成的分析对象。从数据组织的角度看,主题就是一些数据集合,这些数据集合对分析对象进行了比较完整的、一致的数据描述,这种描述不仅涉及数据自身,还涉及数据之间的关系。数据仓库的创建、使用都是围绕主题实现的,因此,必须了解如何按照决策分析来抽取主题,所抽取的主题应该包含哪些数据内容,这些数据内容应该如何组织。例如,在企业销售管理中的管理人员,所关心的是本企业哪些产品销售量大、利润高?哪些客户采购的产品数量多?竞争对手的哪些产品对本企业产品构成威胁?根据这些管理决策的分析对象,就可以抽取出“产品”、“客户”等主题。2.主题划分的原则在划分主题时必须保证每个主题的独立性,也就是说,每一个主题要具有独立的内涵,明确的界限。在划分主题时,需要保证对主题进行分析时所需的数据都可以在此主题内找到,保证主题的完备性。确定主题以后,需要确定主题应该包含的数据,此时应该注意不能将围绕主题的数据与业务处理系统的数据相混淆。在主题的数据组织中应该注意,不同的主题之间可能出现相互重叠的信息,这种主题间重叠是逻辑的,而不是同一数据内容的物理存储重复。例如,“客户”主题与“产品”主题在产品购买信息方面有相互重叠的信息,是源于客户和产品都有关的销售业务处理系统。需要指出一点,目前数据仓库仍是采用关系数据库技术来实现的,也就是说数据仓库的数据最终也表现为关系。3.主题划分的实例为了更好地理解主题与面向主题的概念,说明面向主题的数据组织与传统的面向应用的数据组织方式的不同,下面通过一个例子来说明。例如一家采用“会员制”经营方式的商场,按业务已建立起销售、采购、库存管理以及人事管理子系统。(1)面向应用的数据组织该商场按照不同的应用建立了各自的数据库模式,各子系统建立数据库情况如表2-2所示。表2-2各子系统建立数据库情况子系统数据库名称数据字段销售子系统顾客顾客号,姓名,性别,年龄,文化程度,地址,电话销售员工号,顾客号,商品号,数量,单价,日期采购子系统订单订单号,供应商号,总金额,日期订单细则订单号,商品号,类别,单价,数量供应商供应商号,供应商名,地址,电话库存管理子系统领料单领料单号,领料人,商品号,数量,日期进料单进料单号,订单号,进料人,收料人,日期库存商品号,库房号,库存量,日期库房库房号,仓库管理员,地点,库存商品描述人事管理子系统员工员工号,姓名,性别,年龄,文化程度,部门号部门部门号,部门名称,部门主管,电话19(2)面向主题的数据组织按照面向主题的方式,数据的组织应该分为两个步骤:抽取主题以及确定每个主题所应包含的数据内容。主题的抽取,应该是按照分析的要求来确定的。概括各种分析领域的分析对象,可以综合得到主题。上例的主题应包括:供应商、商品、顾客等。每个主题有着各自独立的逻辑内涵,对应了一个分析对象。按照面向主题的数据组织如表2-3所示。表2-3面向主题的数据组织主题信息类数据字段商品商品固有信息商品号,商品名,类别,颜色商品采购信息商品号,供应商号,供应价,供应日期,供应量商品销售信息商品号,顾客号,售价,销售日期,销售量商品库存信息商品号,库房号,库存量,日期供应商供应商固有信息供应商号,供应商名,地址,电话供应商品信息供应商号,商品号,供应价,供应日期,供应量顾客顾客固有信息顾客号,顾客名,性别,年龄,文化程度,住址,电话顾客购物信息顾客号,商品号,售价,购买日期,购买量以“商品”主题为例,关于商品的各种信息已综合在“商品”这一个主题中,包含了商品的固有信息(商品名称、商品类别、型号和颜色等商品的描述信息)和商品的流动信息(商品采购信息、商品销售信息及商品库存信息)。丢弃了原来不必要的、不适于分析的信息,如有关订单、领料单等信息;并将原来分散在不同数据库中的商品信息集成在一起,形成了关于商品的一致的信息集合。不同的主题之间有重叠的内容,如,“商品”主题的商品销售信息同“顾客”主题的顾客购物信息有些数据字段是相同的,这表现了“顾客”和“商品”这两个主题之间的联系;同样,“商品”主题中有些信息同“供应商”主题中的某些信息相同,这表现的是“商品”和“供应商”之间的联系。但主题间的重叠并不是两两重叠,如“供应商”和“顾客”主题间是没有重叠内容的,这表现了“供应商”和“顾客”之间不发生直接的联系,而是通过“商品”主题来表现它们之间的间接联系。“商品”、“顾客”和“供应商”这3个主题间的关系如图2-1所示。商品顾客供应商图2-1主题间的重叠关系一个主题可以划分成多个表,基于一个主题的所有表都含有一个称为公共码键的属性作为其主码的一部分。公共码键将各个表统一联系起来,体现它们是属于一个主题的。如“商20品”主题的“商品号”就是公共码键。2.1.2数据仓库的数据是集成的数据仓库的数据是从原有的分散的数据库、数据文件和数据段中抽取来的,数据来源可能既有内部数据又有外部数据。面向应用的数据与面向主题的数据之间差别很大。因此,在数据进入数据仓库之前,必然要经过转换、统一与综合。这一步是数据仓库建设中最关键、最复杂的一步。1.统一源数据面向应用的设计人员经过多年的不同设计会有许多不同的表示方法,不同的设计人员也会采用不同的表示,没有一个统一的标准。例如,表示性别,可以用“男”、“女”,也可以用“Y”、“Z”等。因此,当数据进入数据仓库时,必须消除面向应用的数据的不一致性,将源数据统一。统一源数据的内容包括:命名规则编码数据特征度量单位2.综合和计算许多情况,在从原有数据库抽取数据生成数据仓库时,并不仅仅是原封不动地“复制”过来,而需要进行综合和计算。例如,上例中销售子系统的“销售”数据库按照顾客每一次的购买作为一条记录。而在数据仓库中的顾客主题的“顾客购物信息”中,可以按天、周、月等组织数据。很明显,在这种情况就需要对数据进行计算和综合。数据仓库中的数据综合工作可以在从原有数据库抽取数据时生成,但许多是在数据仓库内部生成的,即进入数据仓库以后进行综合生成的。2.1.3数据仓库的数据是不可更新的从操作型系统中提取的数据和从外部数据源中提取的数据,在数据仓库中被转换、综合并存储。数据仓库的数据主要供企业决策分析之用,不是用来进行日常的操作的,一般只保存过去的数据,而且不是随着源数据的变化实时更新,数据仓库中的数据一般不再修改。所涉及的数据操作主要是数据查询,只定期进行数据的加载、数据追加,一般情况下并不进行修改操作。由于数据仓库的数据是不可更新的,因此,也称其为具有非易失性或非易变性。这种不可更新性可以支持不同的用户在不同的时间查询相同的问题时获得相同的结果。2.1.4数据仓库的数据是随时间不断变化的1.数据仓库的数据随时间变化数据仓库中的数据不可更新是针对应用来说的,即数据仓库的用户进行分析处理时是不进行数据更新操作的。但并不是说,在从数据集成输入数据仓库开始到最终被删除的整个数据生存周期中,所有的数据仓库数据都是永远不变的。数据仓库的数据随时间的不断变化主要体现在数据仓库随时间变化不断增加新的数据内容,删去旧的数据内容,数据仓库中所包含的综合数据经常按照时间段进行综合,隔一定的时间片进行抽样等重新综合。因此,数据仓库数据的码键都包含时间项,以标明数据的历史时期。2.数据仓库的数据追加如何定期向数据仓库追加数据也是一个十分重要的技术。数据仓库的数据初装完成后,再向数据仓库输入数据的过程称为数据追加。数据追加的内容仅限于上次向数据仓库输入后原来数据库中变化了的数据。因此,要完成数据追加,必需能够明确哪些数据是在上一次追21加过程之后新生成的,这项工作称为变化数据的捕捉。捕捉变化数据的常用的方法如下:(1)时标方法如果数据含有时标,那么只需根据时标即可判断哪些数据是上次追加后变化了的。但许多数据库中的数据并不含有时标。(2)DELTA文件DELTA文件是由应用生成的,记录了应用改变的所有内容。利用DELTA文件,效率比较高,避免了扫描整个数据库。但生成DELTA文件的应用并不普遍。(3)前后映象文件的方法将抽取数据到数据仓库时的数据库单独“保存”(称之为“快照”);在抽取数据库数据时,对数据库再作一次快照,比较两幅快照的不同,从而确定实现数据仓库追加的数据。这种方法需占用大量资源。(4)日志文件最可取的技术是利用日志文件。因为它是数据库的固有机制,不会额外增加工作量和占用系统资源。并且,提取数据只局限于日志文件,不用扫描整个数据库。当然,原来日志文件的格式是依据数据库系统的要求而确定的,它包含的数据对于数据仓库而言可能有许多冗余,如:对一个记录的多次更新,日志文件将全部变化过程都记录下来,而对于数据仓库,只需要最终结果。因此在利用日志文件进行数据仓库的数据追加时,同样需要进行数据的转换、综合和鉴别等。传统数据库在联机事物处理中取得了较大的成功,但在基于事物处理的数据库帮助决策分析时却产生了很大的困难。主要原因是传统数据库的处理方式和决策分析中的数据需求不相称,导致传统数据库无法支持决策分析活动。这些不相称主要体现在决策处理的响应较慢,决策数据需求得不到满足,决策数据操作不能满足用户的需求等。数据仓库虽然是从数据库发展而来的,但是两者在许多方面存在着相当大的差异(见表2-4)。从数据存储内容看,数据库只存放当前值,而数据仓库则存放历史值;数据库中数据的目标是面向业务操作人员的,为业务处理人员提供信息处理的支持,而数据仓库则是面向中高层管理人员的,为其提供决策支持。数据库内数据是动态变化的,只要有业务发生,数据就会被更新,而数据仓库则是静态的历史数据,只能定期添加
本文标题:2-第二章 数据仓库(20844字)
链接地址:https://www.777doc.com/doc-4065496 .html