APP下载

辽宁省水情数据库中集群技术的探讨与应用

2015-01-02梁卓然

水利信息化 2015年2期
关键词:扩展性水情辽宁省

梁 冰,梁卓然

(1. 辽宁省水文局,辽宁 沈阳 110003;

2. 河海大学水利水电学院,江苏 南京 210098)

辽宁省水情数据库中集群技术的探讨与应用

梁 冰1,梁卓然2

(1. 辽宁省水文局,辽宁 沈阳 110003;

2. 河海大学水利水电学院,江苏 南京 210098)

集群技术是当今数据库领域的研究热点之一。以辽宁省水情数据库为例,深入讨论集群技术的理论与应用,详细介绍 Share-Disk 与 Share-Nothing 2 种集群构架,并在此基础上着重探讨 Moebius 技术在辽宁省水情数据库 SOL Server 中的应用。应用结果表明:集群技术可保证辽宁省水情数据库的高可用、数据安全、扩展性及负载均衡。

水情;数据库;集群;架构

0 引言

当今水文是一个信息化的水文,水情报汛、传输、发布等系统都离不开信息系统的支撑,信息系统用于保存和处理最终结果的地方是数据库。因此数据库系统就变得尤为重要,如果数据库出现问题,则整个应用系统都会瘫痪,防汛信息报不出查不到,给防汛工作带来严重的损失和后果,因此保证数据库稳定可用是做好水情工作的关键点[1]。

辽宁省水情数据库自建成以来几经完善,先后使用了 VisualFoxPro,Access,SQL Server 等 3 个关系数据库管理系统,并依据国家相关标准进行了多次升级。现阶段,辽宁省水情数据库依据国家最新水情数据库标准 SL323-2011《实时雨水情数据库表结构与标识符》构建,包括基本、实时、预报、统计、交换和字典等 6 大类信息。

随着辽宁省水文报汛站网数量和报汛频次的增加、移动应用的兴起[2],数据量相比过去有了几何级的提升,辽宁省报汛站网从最初的 342 站,经过遥测雨量站建设增加到 648 站,中小河流建设增加到1 724 站,山洪灾害建设增加到现在总计 3 100 站,1 h 报汛频次,数据库中存储了海量数据,对数据的使用面临着性能方面的瓶颈[3]。

针对辽宁省数据库建设与维护使用过程中存在的问题[4],选用一种成熟有效的数据库集群技术应用到辽宁省水情数据库中。将多个服务器组成 1 组集群,充分利用每台服务器的资源,并将客户端负载分发到不同服务器上,随着应用程序负载的增加,只需将新的服务器添加到集群,即可保证数据库高效可靠使用。

1 数据库集群技术的简介

集群技术是一组通过协同工作方式运行同一套应用程序,针对客户端及应用程序提供单一系统映像,使用特定的连接方式,将硬件设备结合起来,构成的一种松散耦合的计算节点集合。集群系统具备性能、扩展性和可靠性提升等优势。

简单来说,有 n 台服务器,每台服务器上都有数据库,数据是完全一样的,相当于 1 套数据有多个副本。集群的作用是使这些副本实时同步,如果对 1 台服务器上的数据进行了操作,集群系统要保证这个操作实时地应用到所有的服务器上,实现数据同步。

数据库集群中的关键技术为负载均衡,负载均衡是在集群系统遇到大的处理需求时,能够尽可能平均分配处理压力,更好地利用集群内的处理资源,主要解决访问量大的问题。将对数据库的访问量均衡到集群中的每个服务器上,集群中的每一个服务器都可以提供服务,从而达到更高的吞吐量、更好的资源利用率和更低的响应时间,达到负载均衡的目的。

采用数据库集群技术可以保证服务器 7×24 h 提供服务。数据库数据量大,操作频繁,而且需要实时访问,如果有 1 台或多台服务器发生宕机情况,只要集群中还有 1 台服务器在运行,就可以保证服务继续运行下去。

主流的数据库集群技术都是基于数据库引擎的,要求数据库引擎本身具有集群功能(一般只有企业版的数据库才具有这种功能),比较成熟的数据库集群产品有:甲骨文公司的 Oracle 和 MySQL,微软公司的 SQL Server,IBM 公司的 DB2,Sybase公司的 ASE。由于辽宁省使用的是 SQL Server 数据库,所以主要介绍 SQL 集群。

2 水情数据库集群技术的应用

根据数据库集群技术的形式和架构特点,考虑辽宁省水情数据库的实际情况,选用不涉及到数据分片的架构 SQL Server 上的 Moebius。Moebius 是在SQL Server 数据库平台上开发的,用于实现数据库的负载均衡,同时提高数据库可用性,保证数据安全性的综合集群方案。Moebius 集群基于每个数据库实现,粒度更小,应用起来更加灵活方便;结构上采用无共享磁盘架构,横向扩展,具有良好的伸缩性;设计上,采用与 SQL Server 高度集成的方式,将 Moebius 中间件宿主于 SQL Server 的引擎中,将 Moebius 集群的配置管理器集成到 SQL Server Management Studio 管理工具中,不论是管理还是开发,都很方便。由于 Moebius 集群是和 SQL Server数据库高度集成的,整个集群对外只映射 1 个 IP 地址,因此使用 Moebius 集群不但不需要更改程序,而且不用改变使用习惯,透明性非常好。Moebius集群中采用以下 3 种连接数据库的方法实现负载均衡:1)通过专门为数据库集群定制的负载均衡软件Loadbalancing Director 连接数据库;2)通过负载均衡硬件连接数据库,如 F5 等;3)通过其它的负载均衡软件连接数据库。Moebius 集群具体架构如图 1所示。

图1 Moebius 集群

由图 1 可以看到,水情信息应用包括水情预报、信息发布等,都服务于防汛部门相关领导、水情专业人员及社会大众,因此选择 Moebius 集群技术应用到辽宁省水情数据库上是基于以下 3 点考虑的:

1)对信息的查询和访问速度要求必须快。即应用程序对数据库的访问性能要求高,没采用集群技术之前,计算一些数据或者打开 1 个网页会很慢;选择 Moebius 集群能够实现数据库的负载均衡,同时提高数据库性能,实际应用结果表明应用访问速度快,效果明显。

2)数据库需要长期运行。考虑数据库系统的可靠性,要保证系统在 99.98% 的时间内都能够正常运作。服务器需 7×24 h 连续运行,因而要求其具有很高的安全可靠性。Moebius 集群技术能够保证数据完整。

3)数据库建设方面要求。目前已经完成了国家基础水文和实时雨水情数据库的建设,即将开展水资源和水质数据库的建设和完善,同时进行遥测站原始数据库建设,对数据进行整编,纳入基础水文数据库。在这些数据库建设完成后,将按计划进行数据库整合工作,集成统一标准、数据源和算法的水文数据库,这就需要选择的集群技术有良好的扩展性,Moebius 集群能够满足此要求。

Moebius 集群中的每个节点都会对外提供服务,有以下优点:1)由于每一个节点都可以对外提供服务,因此可以提升性能;2)扩展性得到提升,可以通过向集群添加节点直接进行 Scale-Out 扩充;3)由于前端应用通过代理连接到集群,而集群中的每一个节点都保持完整的数据集,不存在分片不到位造成性能下降的问题,因此对应用程序端完全透明。

3 结语

通过对数据库集群技术的比较,选择 SQL Server 数据库上的 Moebius 集群技术,应用于辽宁省水情数据库中。通过集群技术应用前后对比,发现数据库性能和可靠性均得到明显提升,对于各地的数据中心建设有借鉴作用。应用结果表明:

1)数据库集群技术使得数据库性能遇到问题时,能够横向扩展,通过添加服务器的方式达到更高的吞吐量,从而充分利用现有的硬件实现更好的投资回报率。

2)数据库集群技术拥有实时同步的副本,当数据库面临灾难时,可以在短时间内通过故障转移的方式保证数据库的可用性。此外,当数据丢失或损坏时,能通过实时副本(热备)实现数据的零损失。

3)SQL Server 数据库上的 Moebius 集群技术,保证了辽宁省水情数据库的高可用、数据安全、扩展性及负载均衡。

[1] 安学军. 山西省实时雨水情数据库管理维护探讨[J]. 山西水利科技,2008 (2): 27-29.

[2] 刘玉亮,徐学军,袁艳斌,等. “清江流域水情分析与仿真系统”水情数据库的建立[J]. 计算机仿真,2013 (10): 30-32.

[3] 郭海伟,周新志,赵成萍. 都江堰灌区水情数据库存在的问题及解决方案[J]. 广西水利水电,2008 (2): 52-54.

[4] 丁阳,吕树龙,唐雷彬. 水情数据库建设常见问题及对策[J]. 东北水利水电,2004 (5): 15-16.

Discussion and Application of Cluster Technology of Hydrologic Information Database in Liaoning Province

LIANG Bing1, LIANG Zhuoran2

(1. Hydrology and Water Resources Survey Bureau of Liaoning Province, Shenyang 110003, China;
2. College of Water Conservancy and Hydropower Engineering, Hohai University, Nanjing 210098, China)

Clustering technology is a hot spot of the study on database field. This paper discusses the theory and application of cluster technology systematically, with the hydrologic information database of Liaoning Province as an example. It introduces the schemas of Share-Disk and Share-Nothing, and discusses the application of clustering technology in SOL-Server of Liaoning Province hydrologic information database as a key issue. Results shows that: the technology could ensure the high availability, data security, expansion and load balancing of hydrologic information database in Liaoning Province

database; cluster; water; schema

TV697

A

1674-9405(2015)02-0024-03

2014-11-03

梁 冰(1979-),男,辽宁沈阳人,本科,从事水文情报预报工作。

猜你喜欢

扩展性水情辽宁省
曹新刚
基于单片机的简易水情检测系统装置
提高初中阶段学生英语扩展性阅读能力策略分析
辽宁省各级工会收看十九大开幕会
甜水情
辽宁省环境保护厅与辽宁省气象局进一步深化合作
辽宁省自然环境分类探索
辽宁省建环保举报奖励制度
高中物理如何充分利用扩展性栏目
比ITX还小华擎推首款Mini—STX主板