Oracle数据库在网格计算中的应用

  网格计算是很多厂商都在推崇的计算方式的发展方向,其核心内容就是把计算发展成为一种公共设施,就像我们日常所使用的水和电一样。网格计算的目标就是把计算发展成为一种公共设施、一种日常用品,它是普遍存在的。这是从“客户端”方面来理解的网格计算。

  如果从“服务器端”来考虑,网格计算又是什么呢?网格计算应该是计算资源的虚拟化或者说是计算资源的汇合,并实现信息共享、高可用性和安全性。网格计算将改变今天大多数企业利用计算或存储资源的方式,它把企业资源虚拟化,以便实现共享。网格计算必须是高可用的,就像电一样,打开开关就能用。网格计算也必须是安全的,因为,所有数据、计算和资源都存放在网格中。

  关于对网格计算的观点,我们听到的更多的是IBM、HP或Sun的观点,软件巨头如何看待网格计算的发展呢?日前,Oracle 高级副总裁Andy Mendelsohn在接受记者采访时谈到,有很多原因促使网格成为下一个新潮流。首先是当今的经济环境, IT部门希望能够降低成本,把已经购买的硬件和软件的利用率最大化,而网格计算正好可以帮助提高现有资源的利用率—整合硬件,创建中心化的计算池,对整个机构进行计算资源分配,消除未利用的计算机孤岛。

  其次是刀片服务器的面世,使网格计算的优势更加显现。刀片服务器的成本优势将使它在未来的硬件采购中占据主流地位。现在,关键的问题是,软件供应商是否能够让关键业务计算容易运行在刀片服务器上。

  在软件方面,Linux是近年来发展最快的操作系统,它在刀片服务器上运行性能表现良好。可以说,Linux和刀片服务器的发展是相辅相成的。

  在技术领域,网格的发展动力日益增强。Oracle、IBM等主要供应商正在准备或已经提供网格计算技术,网格标准机构——全球网络论坛(GGF)获得了所有主要技术供应商的支持。

  Oracle之于网格计算

  在网格计算方面,Oracle扮演什么样的角色呢?Andy Mendelsohn表示,Oracle正在利用网格计算来建立更快、质量更高的数据库,使用户能够在需要的时候把资源分配给特殊研发项目,获得更强大的计算能力。

  目前,Oracle已经拥有大量可以帮助用户现在就能够采用网格计算的技术,包括Oracle的真正应用集群(RAC)、Oracle9i数据库、Oracle Streams等等。

  Oracle9iRAC(Oracle9i Real Application Clusters)运行于硬件集群之上,它创造性地把集群技术扩展到各种低端硬件设施,使用户能够在成本低廉的硬件系统上实现过去只有高端系统才具备的高可伸缩性和高可用性。

  对于刀片服务器来说,利用Oracle9i RAC,用户可以在数据库运行过程中动态地增加和减少刀片,这意味着不需要停止应用系统,因此,用户可以在需要的时候增加刀片,不需要的时候把它们移走。

  另一方面,Oracle9i集群数据库提供了高可用性,如果一个刀片出现问题,数据库仍然可以运行,不会出现停机的情况。同时,大量基准测试证实了Oracle9i集群数据库能够随着刀片增加而线性地增长。

  Oracle提供网格计算的第二个特性是支持Linux。而且,网格计算需要在计算机之间交换和共享信息,而在计算机之间交换和共享信息方面,OracleTransportable Tablespace技术已经集成到数据库中。Transportable Tablespace技术可以让用户从一个数据库中分离数据并附加到另一个数据库中,在这过程中,不需要下载数据。用户还可以利用Oracle Streams来维持复制件并进行数据升级。Oracle Streams是一个集成的、异步的信息共享技术,它把消息、复制、发布/订阅、事件和通知功能结合到单一的技术中。

  网格计算需要处理大量的并发请求,及时查找和展示信息。因此,并行处理技术是非常重要的。Oracle9i的并行处理体系结构采用“Shared Everything(共享一切)”的体系结构,能够在任何情况下完全利用底层硬件基础架构——每个处理器单元、每个内存字节以及所有可用的I/O带宽。

  另外, Oracle数据库还是可携带的,它采用单一的代码,能够在所有平台上运行。如果利用Oracle数据库,所有的特性在每一个平台上都可以使用,因此,在把应用迁移到另一个平台上时,可以立即使用,从而可以容易地把现有应用迁移到网格计算中,立即获得应用优势。

  目前,Oracle的网格计算技术已经在欧洲最大的科研机构CERN、全美最大的包裹邮递服务公司UPS都获得了成功应用。