数据库集群技术及其在全台网中的应用
2016-07-12王郑
王 郑
数据库集群技术及其在全台网中的应用
王郑
摘 要:本文介绍了数据库集群的两种常见技术,即基于数据库引擎的集群技术和基于数据库网关的集群技术,对其进行了简单对比。结合这两种技术的优缺点,以全台网制作子系统为例,阐述了数据库集群技术在全台网中的应用。
关键词:数据库;集群;RAC;高速缓存合并
1 背景
在大数据飞速发展的今天,数据的价值日益凸显,已成为企业无比珍贵的资产,是大多数企业赖以生存的基础。数据库是保存计算结果最重要、最常见的手段。数据库运行性能低下,数据安全风险大,都将严重影响企业的日常生产,因此,数据库服务器是每个企业中最受重视、最应受保护的服务器。
数据库的发展面临着四方面的挑战:数据安全性、可用性、可扩展性及如何提高处理速度。基于此,数据库集群技术应运而生,该技术使用特定的连接方式,将多个数据库联在一起,组成数据库集群。采用数据库集群技术,可以使我们得到更快的处理速度、更高的数据可用性、更高的数据安全性和更大的数据集。
2 数据库集群技术
目前,市场上的数据库集群软件有Oracle的RAC、微软的MSCS、IBM的UBD、SyBase ASE、MySql CS等,数据库集群技术,从体系结构上主要分为两种,分别是基于数据库引擎的集群技术(如图1)和基于数据库网关(中间件)的集群技术(如图2)。
图1 基于数据库引擎的集群技术
图2 基于数据库网关(中间件)的集群技术
基于数据库引擎的集群技术,要求数据库引擎本身具有集群功能,通常只有企业版的数据库才具备该功能,该集群技术可共享磁盘,管理起来较为方便,但是,由于它们都要求应用程序对集群不透明,所以,修改和配置较为麻烦,其代表产品有RAC、MSCS等;而基于数据库网关(中间件)的集群技术,则无需数据库引擎也具备集群功能,标准版或企业版都可以用,该集群技术不共享磁盘,管理起来较为麻烦,但优点是应用程序对集群全是透明的,其代表产品有UBD、ASE、CS等。
3 数据库集群技术在全台网中的应用
安徽广播电视台全台网每天处理大量视音频节目制作,与数据库的交互极为频繁,对数据库服务器的处理速度、数据的可用性、数据安全性等,都有极高的要求,因此,在全台网的各个子网中,都应用了数据库的集群技术。由于篇幅有限,本文仅以全台网制作子系统为例,阐述数据库集群技术在全台网中的应用。
制作子系统中的数据库软件,采用的是Oracle 10g,因此,数据库集群软件选用的也是Oracle公司的RAC集群软件。
RAC(Oracle Real Application Cluster真正应用集群)是Oracle的并行集群,采用RAC可以使用户在由低成本的服务器构成的高可用性系统上自由部署应用,而无需修改应用程序。
制作子系统RAC集群作为共享磁盘集群软件,采用高速缓存合并(Cache Fusion)技术,使其在具备共享磁盘集群软件优点的同时,也具备了部分非共享集群软件的优点,集群架构如图3所示。
由上图可以看出,制作子系统中Oracle RAC集群架构主要由四个部分组成。
(1)集群的节点:2个安装并运行Oracle数据库服务的数据库服务器,采用RAC集群至少需要具备2个节点。
(2)私有网络:RAC在各节点之间构建了一个高速、低延迟的内部私有网络处理通讯,利用高速缓存技术,通过私有网络,完成各个节点数据缓冲区之间的数据交互。
(3)共享存储:主备等数据库服务器访问同一个存储设备上的数据文件,该存储设备作为多台数据库服务器的共享存储,提高了访问效率。
(4)对外服务的网络:即制作网,主备数据库服务器均通过制作网的接口,为制作网内的应用服务器和客户端提供数据库服务。
由于RAC集群采用了共享存储的架构,需要提高性能时,只需要动态增加服务器节点即可,RAC能自动将新增节点加入到它的集群服务中去。同时,由于RAC集群具备负载均衡功能,因此,会根据各个节点的工作压力,将接下来的数据库访问任务动态分配到合适的物理服务器上,极大地提高了系统的处理能力,缩短用户响应时间。另外,在硬件集群体系结构中采用了高速数据通道,大大减少了数据传输的延迟,释放了系统的处理资源。
图3 制作子系统RAC集群架构
RAC数据库集群能自动适应快速变化的业务需求及随之而来的工作负荷的改变。随着业务的增长,系统也可以从容提高处理能力。在现有的制作子系统中,我们仅用主备两台数据库服务器做成集群,随着未来业务量的不断增加,可以很方便地动态增加节点数,且任何节点的故障都不会影响其他节点对数据的访问,有效提高了系统的可靠性。
作者单位:(安徽广播电视台科技处)