让我们详细探讨下面三种信息网格的设计场景:虚拟数据存储、集成的虚拟数据层和虚拟全局资料库。
简介
本文是网格计算的信息基础设施设计系列文章的最后一篇。第一篇文章的标题为 信息网格,第 1 部分:基础设施,该文章向系统架构师展示了如何在设置网格计算环境时考虑其信息基础设施。第二篇文章的标题是 信息网格,第 2 部分:蓝图与层次,该文章介绍了在拥有蓝图的情况下怎样规划网格的信息基础设施。第 2 部分讨论了虚拟化层(包括数据、文件系统和存储),然后提供了使用每一层所需的蓝图。
场景 1:虚拟数据存储
第一种场景体现了在全球拥有多个研发站点的一家公司(R&D)的情况。该公司的每一个站点都用不同的系统管理其数据。在 R&D 站点之间共享信息所花费的时间很长,费用很高,而且付出的劳动也很多。
R&D 公司有许多应用程序都使用特定类型的数据文件。对于某些种类的分析表明,如果应用程序可以直接在其他 R&D 站点上访问数据源,那么我们可以从中获得一些好处。这种机制可以降低对数据传输的需求,而数据传输不只花费时间,有时候还可能因为出现错误而导致不一致的问题。因此,公司希望有一种解决方案能够让这些应用程序访问所有的 R&D 数据,而不必移植任何数据源或应用程序。
如果公司使用虚拟数据存储层提供通用的接口,那么不论所有应用程序位于何处,都可以访问数据。通过虚拟化,所有的数据看起来都像是存储在一个站点上。在理想的情况下,虚拟化层提供的接口将等于访问本地数据文件时使用的接口。这样,所有的应用程序都可以透明地从任何地点访问数据,而不必管数据文件位于何处。图 1 展示的是上述解决方案的高级概念视图。
通过数据虚拟化的方式,应用程序可以访问的所有数据集看上去都像是属于一个数据源,而所有的 R&D 都可以访问该数据源。
图 2 从面向体系结构的角度对该方法进行了描述。数据虚拟化是由软件层提供的,所以应用程序可以通过该软件透明地访问本地和远程数据集。
场景 2:集成的虚拟数据存储
通过展示 R&D 公司仍将数据存储在数据源系统中,场景 2 扩展了虚拟化的概念,这些数据源系统包括关系型 DBMS、平面文件(如 XML)、包含电子邮件和文档的数据库,以及内容管理系统(包括图像、绘画、文档等)等。
此外,公司希望共享这些数据,但这将超出在特定应用程序中共享数据的限制。R&D 公司希望实现组合搜索。R&D 站点也希望在搜索和获取数据的操作中包含不同类型的数据源。R&D 站点不希望被限制在某一种类型的数据源上,而是希望能在其搜索和获取数据的操作中包含所有存在潜在关联的数据源。
构建一个能够透明地访问异构和分布式数据源的数据虚拟化层,就可以实现上述要求。由于 R&D 公司希望使用组合搜索的功能,因此在这一层上,不仅要提供位置透明性,而且还要在搜索-查询-获取操作中指明不同的数据源类型。图 3 展示了需要在虚拟数据存储中添加的数据源类型的高级视图。其中包括 DBMS(关系型、非关系型)、平面文件(如 XML)和内容管理系统。
处理这种数据多样性的方法之一是提供一个抽象层,屏蔽数据位置和类型的差异。图 4 展示了一种可以提供这些功能的体系结构的概念视图。其中的基础是一个软件层,它可以将异构数据源系统的数据集成为一个单一的数据库,并提供通用的接口,以便用户以统一的方式搜索和查询这些数据。
虚拟数据库的概念是基于 数据联邦 提出的,这意味着向用户和应用程序提供的只有一个逻辑上集成为一体的数据源视图。因为集成只在逻辑层次上进行,因此,不必将这些数据源都转移或者集成到一个单一的数据存储体中。
将数据源集成到一个虚拟数据库中的技术可以实现一个抽象层,通过该抽象层,异构和分布式数据源看起来好像就是一个本地数据库。
许多产品(包括 IBM DB2 Information Integrator,DB2 II)都提供这种抽象层。该抽象层提供了单一的数据库映像,在这个映像中,每一个集成的数据源都好像是 DB2 数据中的 DB2 表。对这些数据的访问是通过标准的 DB2 接口实现的。抽象层可以利用结构化查询语言(SQL)的能力,在异构分布式数据源上实现搜索-查询-获取操作。
图 5 提供的是虚拟数据库的高级视图。R&D 站点访问单一的虚拟数据库,该数据库中所有的数据看起来都在 DB2 表中,而实际情况并非如此。所有站点都通过标准的 DB2 接口来访问这张表,因此我们可以利用 DB2 II V8.1 提供的 SQL 函数。
场景 3:虚拟全局资料库
场景 3 关注的是一家供应链公司,该公司从数以百计的供应商那里进行采购,然后想将其所有项数据(item data)合并成到自己的系统中,以便以后能够在供应链的下一阶段中担当起供应商的角色。这种规划要求公司从其每一家供应商那里接收项数据。这家供应链公司及其所有的供应商都已同意用标准化格式提供有关项数据的信息。
搜集单项数据的方法之一是将所有的项数据添加到某一数据存储库中,从而实现单一的全局资料库。在本例中,供应商们将其项数据发送到了一个中心资料库中,这家供应链公司将对该资料库进行控制和维护。
还有一种方法是将项数据保留在供应商那里,利用网格技术提供虚拟的全局资料库。图 6 展示的就是一个虚拟资料库。
通过将所有供应商的项数据集成到单一的虚拟数据存储库中,公司可以访问更多的最新数据,而无需在物理上设置和维护一个数据存储库。通过使用网格技术,公司可以提供信息基础设施,并将所有供应商的数据集成为一个虚拟的全局资料库,而不必考虑数据的位置和供应商使用的数据源系统的类型。
因为供应商使用的是异构 IT 环境,因此需要访问的数据源系统各不相同。根据就提供项数据的数据源系统达成的协议,供应链公司可能需要设置几种虚拟化层次:
- 如果所有的供应商都赞同用统一的平面文件格式提供其项数据,那么公司可以使用一个分布式文件系统。然后,公司可以在平面文件的基础上访问数据。
- 如果各方达成的协议只包括项数据文件本身的格式,但使用了不同的文件类型,那么公司就需要一个虚拟数据层,用它来屏蔽不同文件类型,提供统一的源数据访问方式。
- 如果达成协议的只是项数据的格式,不包括数据源类型,那么公司就需要能够在虚拟数据层上,将多种不同数据源系统提供的数据透明地集成起来,如关系型或非关系型 DBMS,以及多种不同类型的平面文件。
图 7 描述了该供应链公司实现虚拟全局资料库的多种不同方法,可以根据数据源系统的情况选用这些方法。
结束语
这三种信息网格的设计场景,为大多数公司在网格计算的信息基础设施领域内的需求提供了样板。您的公司可以选用虚拟数据存储、集成虚拟数据存储或者虚拟全局资料库中的一种。
[page]
参考资料
“信息网格:在任何地方、通过任何网络安全地访问任何信息”一文提供了信息网格的概要信息(developerWorks,2004 年 1 月)。
IBM 网格计算站点 提供了 IBM 关于网格的更多信息。
Global Grid Forum Web 站点中有开放网格服务架构(OGSA)的规范。
Globus Alliance Web 站点提供了构建计算网格所需的技术。
要了解有关 OASIS 的更多信息,请参阅 OASIS Web 站点。
要获得有关 SOA 和 Web 服务的更多信息,请访问 developerWorks 的SOA and Web services 内容区。
了解更多有关 WSRF 的信息。
在 IBM developerWorks 网格观察专栏 中,可以了解开发人员对网格标准的看法。
有关随需应变电子商务的更多信息,请参阅 developerWorks On Demand Business 内容区。
作者简介
Luis Ferreira 又名"Luix",是奥斯汀中心国际技术支持组织部门的高级软件工程师,从事 Linux 和网格计算方面的项目。他在类 UNIX 操作系统方面有 20 年的经验,主要研究该操作系统的设计、体系结构和实现等方面。他从巴西 Universidade Federal do Rio de Janeiro 获得系统工程硕士学位。在加入 ITSO 之前,Luis 先后在 Tivoli® System 担任 Tivoli 认证顾问,在 IBM Brazil 担任认证 IT 专家,还在 Cobra Computadores 从事内核开发和操作系统设计的工作。您可以通过 luix@us.ibm.com与他联系。
Joachim Dirker 是 IBM Germany 的数据管理顾问。他在数据管理领域有 15 年的管理经验。他专长的领域范围很广,从数据建模和数据库设计,到 OS/390 和 UNIX/Windows® 平台上的 DB2 UDB 高端 OLTP 系统调优和数据仓库解决方案。他曾参与了整个售前和售后流程,从设计端到端数据管理解决方案和有竞争性的定位技术,到跨整个 IBM 数据管理产品范围的实现和问题确定活动。您可以通过 DIRKER@de.ibm.com 与他联系。
Olegario Hernandez 以前是 IBM 的咨询系统工程师,在 IBM 有 30 多年的经验。他从智利大学毕业时是 Chemical Civil Engineer。在他为 IBM 效力的时间里,他先后从事过应用程序开发、系统管理规则、IS 架构、CICS® 应用程序接口、业务系统规划方法学(BSP)等工作。他曾参与 IBM 国际技术支持组织不同中心的工作:在 ITSC Boeblingen 从事 CICS Application Interface 方面的工作,在 ISC Gaithersburg 从事的是 AD/Cycle® 方面的工作,他在 ITSC Poughkeepsie 工作过两次,分别从事 Systems Management 和 SystemView® 方面的工作。从 IBM 退休之后,作为 IBM 商业合作伙伴的 IT 系统顾问,他曾参与 ITSO Austin Architecting Secure System 的 Tivoli 产品的研究工作,并在研究网格计算之前先进行了 Globus 的高级培训。
Carlos Alexandre Queiroz 是 Alex Microsystems 的独立顾问,一直从事网格计算方面的工作。目前,他正在圣保罗大学攻读硕士学位,想成为一名分布式系统和网络专家。他在很多大会上都发表过文章,如 middleware2003、SBRC、grid computing and parallel applications events 等。Carlos 还是 InteGrade 项目的在职开发人员。
Volker Rohleder 是位于德国美因兹州的 TotalStorage Executive Briefing Center 认证的 IT 专家。在为 IBM 不同的存储、虚拟化产品和技术提供支持方面,他有 24 年的经验,其中包括存储管理与其他正在成长的技术。他曾从事过服务器、网络和支持 EMEA 的存储组织方面的工作,包括市场和开发。他曾参与整个售前和售后流程,从端到端数据管理解决方案和有竞争性的定位技术,到跨整个 IBM TotalStorage 数据管理产品范围的实现和问题确定活动。您可以通过 VROHLEDE@de.ibm.com 与他联系。







