徐俊刚(xujg@gucas.ac.cn)2009年9月——2009年11月1.集中式数据仓库与分布式数据仓库2.分布式数据仓库的类型3.数据仓库开发项目的本质特征4.分布式数据仓库的开发5.在多个层次上构建数据仓库6.多个小组建立当前细节级分布式数据仓库第6章集中式数据仓库与分布式数据仓库1两者的比较1.1•集中式数据仓库–大部分企业采用的集中式数据仓库–数据仓库中的数据是全企业范围内集成的,而且只有企业总部才会使用集成的数据–企业是以集中式商务模式运作的–数据仓库中的数据量非常大,将数据集中存储在一个地方是较为妥当的–如果将逻辑上集成的数据分布于多个局部站点,那么存取这些数据将是很麻烦的。•分布式数据仓库–某些特定场合条件(下页分布式数据仓库类型所示)下,需要建立分布式数据仓库环境分布式数据仓库的类型2概述2.1•局部数据仓库和全局数据仓库–业务在不同地域或不同的生产线上进行–局部数据仓库是在远程站点上提供和处理数据,而全局数据仓库提供的是在这个业务范围集成后的数据•技术分布式数据仓库–数据仓库环境包括了大量的数据,它们分布在多个处理器上–从逻辑上看只有一个数据仓库,但在物理上,存在许多有紧密联系的但存放在不同处理器上的数据仓库•独立演进的分布式数据仓库–数据仓库是以一种不协调的方式建立起来的–首先建立某一个数据仓库,再建立另一个数据仓库–原因通常是政策和机构上的差异分布式数据仓库的类型2局部数据仓库和全局数据仓库2.2•局部数据仓库和全局数据仓库–数据的一部分以集中式的方式(全局)存在,而另外一部分则以分布式(局部)的方式存在。–如跨国企业,中心数据仓库负责采集数据,同时满足总部对企业信息的需求。但对于分布在不同国家的分支机构,仍然有建立各自数据仓库的需要。–再如大型企业有很多业务时,也需要局部/全局数据仓库。尽管有些业务之间可能很少或者没有必要集成,但是从企业层面上来讲,业务间需要集成。如客户、产品和销售等业务就需要在企业层面上集成。分布式数据仓库的类型2局部数据仓库和全局数据仓库2.2•业务处理拓扑结构(1)–总部处理所有的业务–分支机构没有业务处理或者只有一些非常基本的业务处理–没有必要建立分布式数据仓库环境分布式数据仓库的类型2局部数据仓库和全局数据仓库2.2•业务处理拓扑结构(2)–分支机构有少量的基本业务处理,一旦事务在局部发生并被捕获,它们就传送到总部进行进一步处理–也没有必要建立分布式数据仓库环境分布式数据仓库的类型2局部数据仓库和全局数据仓库2.2•业务处理拓扑结构(3)–分支机构有相当多的业务处理–分支机构站点是自主的,仅偶然地或对一些特殊处理才需要将数据和业务处理活动发送到总部–有必要建立分布式数据仓库环境分布式数据仓库的类型2局部数据仓库和全局数据仓库2.2•数据仓库拓扑结构(1)–大部分企业中,分支机构自主权不大,也没有大量业务处理,一般是建立一个中心数据仓库分布式数据仓库的类型2局部数据仓库和全局数据仓库2.2•数据仓库拓扑结构(2)–分支机构自主权比较大,有大量业务处理的情况下,既需要局部数据仓库,也需要全局数据仓库。分布式数据仓库的类型2局部数据仓库和全局数据仓库2.2•数据仓库拓扑结构(2)–分支机构自主权比较大,有大量业务处理的情况下,既需要局部数据仓库,也需要全局数据仓库。分布式数据仓库的类型2局部数据仓库和全局数据仓库2.2•典型的分布式数据仓库的可能形式分布式数据仓库的类型2局部数据仓库和全局数据仓库2.2•局部数据仓库间的数据及结构是不同的分布式数据仓库的类型2局部数据仓库和全局数据仓库2.2•全局数据仓库数据来自局部操作性系统的情况分布式数据仓库的类型2局部数据仓库和全局数据仓库2.2•局部操作性系统的数据到全局数据仓库的映射分布式数据仓库的类型2技术分布式数据仓库2.3•数据仓库采用分布式技术的优缺点–引入代价低。就是说采用分布式技术的数据仓库的软硬件代价比采用集中式软硬件的代价要低得多–使得存储在数据仓库中的数据量在理论上没有限制。如果数据仓库中的数据量开始超过一个分布式处理器的处理能力,那么可以在网络中加入另外一个处理器。–但是数据仓库的处理器达到一定程度,网络上就会出现过量的传输负载。分布式数据仓库的类型2技术分布式数据仓库2.3分布式数据仓库的类型2技术分布式数据仓库2.3数据仓库项目的本质特征3数据仓库项目的四种典型情况3.1•数据仓库项目的第一种情况–公司的业务是完全分离的、非集成的,对应的数据仓库是由不同的开发小组独立创建的–不同的业务独立向公司汇报情况,但是在公司内部没有业务集成或数据共享–现实中存在,但是不常见–两个不同项目之间发生冲突的可能性几乎没有–项目间很少或者不需要管理和协调数据仓库项目的本质特征3数据仓库项目的四种典型情况3.1•数据仓库项目的第二种情况–各个开发小组负责创建同一个数据仓库的不同部分,从而导致多个数据仓库开发项目同时出现。–同一层次数据是由不同开发小组创建的,但是它们分散在不同的地理位置–项目之间发生冲突的可能性比较大–开发小组之间需要密切合作,若开发项目不协调,则大量数据的冗余存储和处理可能导致较大的浪费。数据仓库项目的本质特征3数据仓库项目的四种典型情况3.1•数据仓库项目的第三种情况–不同小组负责建立数据仓库环境中的不同层次的数据(汇总数据和细节数据)。–此类情况比较常见–因为层次间的数据粒度不同,它们的作用也不同–项目容易管理,小组之间的协调比较简单。数据仓库项目的本质特征3数据仓库项目的四种典型情况3.1•数据仓库项目的第四种情况–多个小组试图以非分布式的方式建立数据仓库环境中数据当前细节级的不同部分。–这种情况很少出现,但是一旦出现就要特别的注意–体系结构设计者要知道如何来协调它们数据仓库项目的本质特征3数据仓库项目的四种典型情况3.1•第一种情况的例子分布式数据仓库的开发4常见的分布式数据仓库4.1•常见的数据仓库开发形式–对于跨国公司或跨地域公司来说,首先为每个不同地域的分支机构各创建一个局部数据仓库。–当数据仓库的价值在分支机构表现出来之后,公司就会决定建造一个企业数据仓库(全局数据仓库)分布式数据仓库的开发4常见的分布式数据仓库4.1•常见的数据仓库开发形式–对于跨国公司来说,首先为每个不同地域的分支机构各创建一个局部数据仓库。–当数据仓库的价值在分支机构表现出来之后,公司就会决定建造一个企业数据仓库(全局数据仓库)分布式数据仓库的开发4常见的分布式数据仓库4.1•两种方式的对比在多种层次上构建数据仓库5数据仓库的多层模式5.1•数据仓库的多层模式–A组负责建造轻度汇总的数据–B组负责建造中度汇总的数据–C组负责建造当前细节数据在多种层次上构建数据仓库5数据仓库不同层次间的互联性5.2•互联性的两个方面–调用层次存取的兼容性。调用语法是否兼容–有效带宽。如果两个级别之间有很大的传输负载,那么两个层次间的接口将会成为瓶颈在多种层次上构建数据仓库5细节数据是汇总级数据的基础5.3•细节数据是汇总级数据的基础多个小组建立当前细节级6概述6.1•这个模式存在的问题–如果不同开发小组开发的数据集是互斥的,并且使用相同的数据模型,技术平台也是兼容的,就不会出现太多问题。但是这种情况很少见。–往往存在一系列问题。如由冗余问题引发的费用问题(存储和处理的费用);蜘蛛网问题。多个小组建立当前细节级6公共数据模型6.2•公共数据模型–是不同开发小组对细节数据的共同需求–公共数据模型实现时可以分割为多张物理表多个小组建立当前细节级6公共数据模型6.2•公共数据模型–是不同开发小组对细节数据的共同需求–公共数据模型实现时可以分割为多张物理表多个小组建立当前细节级6不同开发小组的不同需求6.3•不同开发小组的不同需求–不同开发小组的不同需求导致了局部的细节数据,这些数据是数据仓库的一部分,但是和公共数据模型相比,比较小也比较简单。多个小组建立当前细节级6不同开发小组的不同需求6.3•细节数据冗余情况–细节数据不存在冗余–但是是仅限于非键数据,因为主键数据是冗余数据,外键将不同类型的数据相关联多个小组建立当前细节级6不同开发小组的不同需求6.3•细节数据冗余情况多个小组建立当前细节级6使用同一技术平台6.4•使用同一技术平台的优点–单一平台通常比多个平台代价要低–维护和培训费用较低多个小组建立当前细节级6使用不同技术平台6.5•使用不同技术平台的优缺点–具有一定合理性,比如保护投资–但是缺点更多:购买和支持多种平台,最终用户接受多种培训,各种技术很难融合到一起多个小组建立当前细节级6使用不同技术平台6.5多个小组建立当前细节级6使用不同技术平台6.5•不同技术平台间的接口–存在一些跨平台的访问数据的软件–但还是受相关问题的限制:一个是数据传输,少量数据传输是可以的,如果进行大量数据传输,就会成为性能瓶颈,而访问少量还是大量的数据并不能事先预知。另一个问题是“剩留”细节数据,随意的细节数据搬迁会导致冗余。多个小组建立当前细节级6元数据6.6•元数据–位于细节数据的顶层–无论单一技术平台还是多种技术平台,其作用都是不可忽略的总结•集中式数据仓库与分布式数据仓库•分布式数据仓库的类型•数据仓库开发项目的本质特征•分布式数据仓库的开发•在多个层次上构建数据仓库•多个小组建立当前细节级