基于数据库引擎的集群办法要求数据库引擎本身具有集群功能(一般只有企业版的数据库才具有这
功能),而基于数据库网关(中间件)的集群办法对数据库没有集群能力的要求。所以标准版或企
业版都可以用。
在本文中,我们将评估下列数据库集群技术:
Oracle’s Real Application Cluster (我们将用 RAC 来代表).
Microsoft SQL Cluster Server (我们将用 MSCS 来代表).
IBM’s DB2 UDB High Availability Cluster (我们将用 UDB 来代表)
Sybase ASE High Availability Cluster (我们将用 ASE 来代表)
MySQL High Availability Cluster (我们将用 MySQL CS 来代表).
Parallel Computers Technology Inc.’s ICX-UDS middleware (我们将用 ICX 来代表).
除了 ICX,所有的其他集群技术全都是基于数据库引擎的。所以 ICX 可以支持任何当前流行的数据
库. 我们后面会提到,其实这两种不同的要求是各有利弊的。
至于其他相关技术,如 RAID(廉价冗余磁盘阵列)、磁盘镜像硬件(EMC 的 TimeFinder 系列)、
文件复制工具(如 DoubleTake, Veritas and Legato),我们也将做简单评价和打分。我们会用 DM 来
代表磁盘镜像 (Data Mirror), FM 代表文件镜像(File Mirror).
本文只限于讨论上述六类数据库集群系统和以上有关技术。如果有什么重要的技术遗漏的话,欢迎
读者和作者联系讨论。
提高数据库处理速度的技术
目前有四种提高数据库处理速度的办法:
提高磁盘速度:这包括 RAID 和其他磁盘文件分段的处理。主要的思想是提高磁盘的并发度
(多个物理磁盘存放同一个文件)。尽管实现方法各不相同,它们的最后目的是提供一个逻
辑数据库的存储映象。我们要评价的六个系统都能有效的利用这些技术。由于
ICX
已经有最
大的磁盘冗余度,
RAID
磁盘系统的设置应该侧重于速度,而不是数据冗余。这样磁盘利用的
效益就会提高。
分散数据的存放:主要思想是利用多个物理服务器来存放数据集的不同部分(一个数据库表
格分散到多个服务器或者每个服务器管几个内容不同的表格)。这些办法不但可以扩展数据
集(数据集的可扩性),而且使得不同的服务器进行并行计算成为可能。例如,对于
ORACLE 的 RAC 来讲,由于它是共享磁盘的体系结构,你只需要简单地增加一个服务器节
点,RAC 就能自动地将这节点加入到它的集群服务中去。RAC 会自动地将数据分配到这节点
上,并且会将接下来的数据库访问自动分布到合适的物理服务器上,而不用修改应用程序。