第6章分布式数据仓库第6章分布式数据仓库6.1分布式数据仓库的类型6.2开发项目的本质特征6.3分布式数据仓库的开发6.4在多种层次上构建数据仓库6.5多个小组建立当前细节级6.6公共细节数据采用多种平台6.7小结6.1分布式数据仓库的类型6.1.1局部数据仓库和全局数据仓库6.1.2技术分布式数据仓库6.1.3独立开发的分布式数据仓库6.1.1局部数据仓库和全局数据仓库业务是在不同地域或不同的生产线上进行的。在这种情况下就出现了局部数据仓库和全局数据仓库。局部数据仓库是在远程站点上提供和处理数据,而全局数据仓库提供的是在整个业务范围集成后的数据。6.1.1局部数据仓库和全局数据仓库什么情况下需要建立分布式数据仓库?当一个企业遍及世界各地时,总部和分支机构都需要信息。中心数据仓库负责采集数据,同时可以满足总部对企业信息需求。但是对于分布在不同国家的各个分支机构,仍然有建立各自的数据仓库的需要。这种情况下,就需要建立分布式数据仓库。数据以集中式和分布式两种方式存在。站点A站点B总部站点C操作型处理图6-1许多企业典型的业务处理拓扑图6.1.1局部数据仓库和全局数据仓库6.1.1局部数据仓库和全局数据仓库站点A站点B总部站点C捕获信息活动捕获信息活动操作型处理图6-2某些场合,在站点层处理一些基本业务活动捕获信息活动6.1.1局部数据仓库和全局数据仓库站点A站点B总部站点C局部操作型处理局部操作型处理局部操作型处理全局操作型处理图6-3在分支机构要做许多操作型处理6.1.1局部数据仓库和全局数据仓库1.局部数据仓库局部数据仓库是数据仓库的一种形式,仅包含对分支机构有意义的数据。每个局部数据仓库都有自己的技术、数据、处理器等。局部数据仓库除了作用环境是局部的外,具有与任何其他数据仓库相同的功能。6.1.1局部数据仓库和全局数据仓库图6-5局部数据仓库6.1.1局部数据仓库和全局数据仓库2.全局数据仓库局部数据仓库的数据来源于相应的操作型系统,企业全局数据仓库的数据来源通常是局部数据仓库,有时全局数据仓库可能直接被更新。6.1.1局部数据仓库和全局数据仓库图6-6从局部操作型环境到局部数据仓库的数据流6.1.1局部数据仓库和全局数据仓库全局数据仓库包含了必须在企业级被集成的信息。某些情况下,仅仅包含财务信息,有些情况下,可能包含客户、产品等集成的信息。有相当多的信息专属或仅用于分支机构,而其他企业通用信息需要在企业层次上共享和被管理。全局数据仓库中包含那些需要被全局管理的数据。6.1.1局部数据仓库和全局数据仓库每个局部数据仓库都有自己独有的数据和结构。图6-7局部数据仓库的不同6.1.1局部数据仓库和全局数据仓库3.全局和局部数据的重叠图6-8全局数据仓库中数据来自于远程的操作型系统6.1.1局部数据仓库和全局数据仓库分布式数据仓库环境成功的关键是如何将局部操作型系统中数据映射到全局数据仓库的数据结构中。这种映射决定哪些数据要进入到全局数据仓库、数据的结构、必须做的转换。映射是全局数据仓库设计很重要的部分,对于每一个局部数据仓库来说映射都不同。局部商业行为的差异决定了映射到全局数据仓库的方式。图6-9全局数据仓库有一个公共结构,每个局部站点以不同的方式映射到公共结构6.1.1局部数据仓库和全局数据仓库局部/全局数据仓库的一种变化形式:将全局数据仓库的数据缓冲区域保存在分时机构。每个局部区域在将全局数据仓库数据传送到中心位置前先将其缓冲。同时有一个重要的问题是:当缓冲全局数据的局部数据仓库中保存的缓冲数据传送到全局数据仓库后应不应该清空,如果分支机构不删除这些信息,将出现冗余数据。图6-10全局数据仓库可能在局部层上进行缓冲,然后传送到总部层的全局数据仓库6.1.1局部数据仓库和全局数据仓库4.冗余全局数据仓库和局部数据仓库的问题之一就是数据的冗余或重叠。(1)一些细节级的数据不用经过任何的转换或变化就进入到全局数据仓库。(2)多数数据在从局部数据仓库导入到全局数据仓库时,要经过某种形式的换算、转化、重新分类或者汇总。6.1.1局部数据仓库和全局数据仓库6-11数据可以存放在局部数据仓库或全局数据仓库,但不能在两者中都放6.1.1局部数据仓库和全局数据仓库大量冗余:没有正确定义不同级别的数据仓库所辖的范围。蜘蛛网系统—不一致的结果、不能很容易的创建新系统、操作的代价问题等等因此,除了少量数据的偶然重叠外,应当对局部数据和全局数据实行互斥,这是一种很重要的策略。6.1.1局部数据仓库和全局数据仓库5.局部和全局数据存取图6-12需要解决的一个重要问题是局部站点是否应访问全局数据仓库6.1.1局部数据仓库和全局数据仓库这些存取方式正确与否是与查询有关的,他们可能是或者不是数据仓库的正确使用方法。如果分支机构的意图是提高分支机构的效益,那么在分支机构对全局数据的存取可能就是一个好的政策。如果在存取过程中,全局数据被作为信息使用并且仅被访问一次以提高局部业务运作,那么在分支机构上这种存取方式就可能是正确的。6.1.1局部数据仓库和全局数据仓库体系结构化信息环境中信息请求的路径选择问题:当仅仅存在一个中心数据仓库时,此关系问题不大,但当数据分布在一种复杂环境中时,例如分布式数据仓库,就需要考虑如何确保信息请求来自正确的地方。6.1.1局部数据仓库和全局数据仓库数据从局部数据仓库到全局数据仓库的传输,对这个问题需要考虑很多因素:*从局部环境到全局环境数据传输的频率如何?全局数据仓库要求数据传输要多快?在分支机构出现了多少业务活动?要传输的数据量是多少?6.1.1局部数据仓库和全局数据仓库*从局部环境到全局数据仓库的传输是否合法?一些国家有严格的规定来限制一些特定数据的传输出入。*从局部环境到全局环境的数据传输需要什么样的网络?在因特网上可以安全的传输足够的数据吗?备份策略是什么?什么样的安全保护措施来确定所有的数据已经传输完毕?6.1.1局部数据仓库和全局数据仓库*为了从局部环境到全局环境传输数据,处理过程的哪一部分是可见的?当数据仓库负载很重的时候,是否还传输数据?*局部/全局数据应采用什么技术?将局部技术转换为全局技术必须采取什么措施?在转换过程中会有数据丢失情况发生吗?6.1.2技术分布式数据仓库数据仓库环境包括了大量的数据,它们分布在多个处理器上。从逻辑上看只有一个数据仓库,但从物理上看,存在许多有紧密联系但存放在不同的处理器上的数据仓库。这种配置可被称为技术上分布的数据仓库。6.1.2技术分布式数据仓库数据仓库采用分布式技术的优缺点?优点:1、引入代价低2、存放在数据仓库中的数据量在理论上没有限制6.1.2技术分布式数据仓库图6-14添加服务器来保存数据仓库中数据的进程6.1.2技术分布式数据仓库当数据仓库中的处理器扩展到一定数量时,网络上就会出现过量的传输负载。问题不仅仅出现在一个查询要访问存储在多个服务器管理的数据,而且出现在需要从一台服务器上传输大量的数据。6.1.3独立开发的分布式数据仓库数据仓库环境是以一种不协调的方式建立起来的,首先建立某一个数据仓库,然后再独立的建立另一个数据仓库。建立不同数据仓库缺乏协调性的原因通常是政策和机构上的差异,这种情况被称为独立演进的分布式数据仓库。图6-15多个小组建造数据仓库的四种可能方式,每种均与其他各种不同6.2开发项目的本质特征完全无关的数据仓库:图6-16四个完全独立的业务部门在业务级没有或很少有业务集成6.2开发项目的本质特征对于完全自主的业务,在某一层也是必须集成的:财务平衡表。图6-17独立的业务部门共享共用的企业财务数据6.3分布式数据仓库的开发图6-18逻辑上属于同一个数据仓库6.3分布式数据仓库的开发图6-19在每个子公司建立局部数据仓库6.3分布式数据仓库的开发每个分部根据自己的需要创建特有的自主的数据仓库。这种方法创建分布式企业数据仓库有几个优缺点。优点:能很快完成。不利:如果部门间的数据结构存在共性,这种方法不能识别或合理处理这样的共性。6.3.1在分布的地理位置间协调开发另一种方法就是尽量协调不同的局部组织间的局部数据仓库的开发项目。当数据仓库技术的价值在分支机构表现出来后,公司就会决定建造一个企业数据仓库。6.3.1在分布的地理位置间协调开发一般来说,企业数据仓库采用迭代开发的方法。开始时,企业数据模型的规模较小、比较简单且限制于一个业务子集。在企业数据模型建立后,将形成企业数据仓库。6.3.2企业数据的分布式模型企业数据仓库的数据源可能来自局部数据仓库,也可能来自局部操作型系统。这应该完全在分支机构确定。记录系统的定义大都需要几次循环往复。6.3.2企业数据的分布式模型此外,一个重要的设计问题是从技术角度考虑如何将分支机构的记录系统数据创建和传送到企业数据仓库。在某些情况,正式“缓冲”数据保留在分支机构。而另一些情况,她们被传送到企业环境,且在分支机构不可存取。6.3.2企业数据的分布式模型表现为汇总数据还是细节数据是由观察者的不同角度决定的。图6-20在一个层次上是细节的而在另一个层次上是汇总的6.3.2企业数据的分布式模型图6-21分布式公司的数据仓库可以非常类似于一些无关公司的数据仓库6.3.3分布式数据仓库中的元数据在整个分布式的企业数据仓库中元数据起着非常重要的作用,通过它可以协调不同地域的数据仓库中的数据结构。元数据是实现一致性和相容性的工具。6.4在多种层次上构建数据仓库图6-22不同的开发小组负责构建数据仓库的不同层次A组负责建造高度汇总的数据,B组建造中度汇总的数据,C组建造当前的细节数据6.4在多种层次上构件数据仓库不同的开发小组同时建造同一数据仓库的不同汇总级时,一个有趣的问题是,正在建造当前细节级的开发小组在使用数据仓库的数据模型。图6-22正在开发最低细节级的开发组使用该数据模型6.4在多种层次上构件数据仓库在数据仓库中管理建造不同汇总级的多个小组的问题之一,是数据仓库各层采用的技术平台的问题。由于数据仓库的不同开发小组在开发不同级数据时通常采用不同平台,这就出现了互连性问题。6.4在多种层次上构件数据仓库管理低级细节数据的开发小组必须为在其基础上汇总并建立新层次的数据的开发小组提供一个正确的数据基础。图6-23细节级数据是建立汇总级数据的基础6.5多个小组建立当前细节级问题一:费用问题二:蜘蛛网为了确保不创建冗余数据,必须创建一个反映公共细节数据的数据模型。图6-24对所有开发小组,数据模型标识公用数据6.5多个小组建立当前细节级数据模型构成了数据仓库设计的基础。图6-25数据仓库在物理上分布在多物理表和数据库中6.5.1不同层的不同需求图6-26数据仓库中的当前细节级包含各开发小组的特有数据6.5.1不同层的不同需求所有的这些细节数据肯定不存在冗余。数据非冗余性仅仅限于非键码数据。主键数据肯定是冗余数据,因为外键用于将不同类型的数据相关联。图6-27中表中的外键与参照完整性所支配的典型的外键关系不同。因为数据仓库中存取的是快照,出现的外键关系是以人工关系组织的。图6-27数据仓库环境中的外键6.5.1不同层的不同需求是否应采用同样的技术存放所有的细节表?图6-28数据仓库细节级不同类型的数据都在同一技术平台上6.5.2其他类型的细节数据另一种策略是对不同类型的细节级数据使用不同的平台。图6-29数据仓库的细节级数据的不同部分分散在不同的技术平台上6.5.2其他类型的细节数据图6-30不同平台间的接口问题6.5.3元数据图6-31元数据位于数据仓库中实际数据内容的顶层6.6公共细节数据采用多种平台图6-32公共的细节数据采用多种开发平台THEEND