一种基于PostgreSQL数据库的主备/集群应用的综合性方法

文档序号:9471472阅读:334来源:国知局
一种基于PostgreSQL数据库的主备/集群应用的综合性方法
【技术领域】
[0001] 本发明设及一种基于数据库的主备/集群应用的方法,尤其设及一种基于 化stgreS化数据库的主备/集群应用的综合性方法。
【背景技术】
[0002] 化stgreS化数据库作为目前功能最强大的开源数据库,受到了越来越多的关注, 不少政府机构、企业或单位正在(或计划)将自己的产品从其它数据库(如Oracle)向 化stgreS化数据库迁移,如:
[0003] 全球最大的CRM软件服务提供商Salesforce开始使用化stgreS化,并招募了 化stgreS化内核开发者。2012年,美国联邦机构全面转向化stgreS化阵营;法国也正在积 极推动政府机构采用化stgreS化数据库,从而取代商业数据库。
[0004] 在国内,越来越多的公司开始使用化stgreS化数据库,如:斯凯网络的后台数据 库基本使用的都是化stgreS化数据库;去哪儿网也大量使用了化stgreS化数据库;主流 的云服务提供商如亚马逊、阿里云的RDS(关系型数据库服务)同样提供了对化stgreS化 的支持。在国产数据库开发方面,不少厂商选择了W化stgreS化数据库作为基础来构建自 己的数据库产品,如:金仓化in浊ase)、神通等。总之,PostgreS化数据库将迎来越来越广 泛的应用前景。 阳0化]但是,作为一种企业级应用,在将化stgreS化数据库正式应用于生产系统之前, 决策者和技术负责人不得不面对可能出现的下列问题或需求:
[0006] A、持续的服务能力
[0007] 在实际的企业生产环境中,需要数据库服务器能提供不间断的、持续的数据库服 务能力,但现实的情况是,由于外部条件、网络环境、设备故障、操作系统故障、软件故障等 等一系列原因,我们无法绝对避免单一服务器故障的发生。
[0008] B、数据规模
[0009] 随着生产系统的运行,数据日积月累,数据规模会越来越大,单一查询所耗费的时 间越来越长,甚至超出了我们所能容忍的程度,严重影响企业生产系统的正常使用。
[0010] C、用户规模
[0011] 有的生产系统,面对着一个巨大的用户规模,当大规模的并发访问发生时,服务器 变得不堪重负,无论是服务器的吞吐量,还是响应速度都无法等到保证,同样严重影响企业 生产系统的正常使用。 阳〇1引 D、数据可靠性
[0013] 数据可靠性是几乎所有生产系统中的重中之重,不容许有数据破坏和数据丢失的 情况发生,一旦发生也要求能够从备份系统中获得完整的数据恢复,或尽可能的减少数据 丢失。
[0014] 而且,在一个实际的生产系统中,往往上述的各种问题或需求都是同时、并综合性 存在的,如果得不到妥善得解决,将严重影响化stgreS化数据库在企业生产环境中得实际 应用。
[0015] 解决上述问题或需求最有效的办法之一就是采用数据库的主备/集群解决方案, 应用主备/集群解决方案后,有的问题虽不能彻底杜绝,却可降低事件发生的概率,或为事 后挽救提供可能,或缩短事故恢复时间、减少数据丢失的量;而有的问题却可获得了成倍的 性能提升。例如:
[0016]A、通过构建"双机热备系统"可W解决服务器故障问题,当主服务器故障时,备用 服务器可W迅速接替主服务器提供服务,从而提高服务可靠性和服务持续能力。
[0017]B、对数据库(或表)进行水平分割减少单表数据规模,和应用并行查询,可W解决 大数据量下单一查询性能低下的问题。
[0018]C、通过连接池和负载均衡技术,可W降低连接消耗,分担查询压力,从而解决多用 户条件下并发处理响应慢、系统吞吐能力有限的问题。
[0019]D、通过数据复制和备份,W多份数据的方式提高数据可靠性,减少数据丢失的后 顾之忧。
[0020] 然而,PostgreS化数据库虽然为上述某些问题和需求的解决提供了一些基础的功 能支持,但到目前为止还没有针对上述问题和需求提供可用的、完善的解决方案。

【发明内容】

[0021] 针对上述问题和需求,本发明提供一种基于化stgreS化数据库的主备/集群应用 的综合性方法。该方法通过选择和利用第=方工具或中间件与化stgreS化数据库的现有 功能集成,实现了主备/集群应用的整体解决方案,使得用户可W本方案提供的技术支持, 快速搭建基于化stgreS化数据库下的主备/集群应用环境,从而极大地减少企业或个人在 化stgreS化数据库主备/集群应用方面的学习、探索与实验成本,产生直接或间接的经济 效益。
[0022] 本发明采用的技术方案为一种基于化stgreS化数据库的主备/集群应用的综合 性方法,该方法包括W下步骤:对在至少两个群集服务器中分别配置数据库和中间件,使客 户端与群集服务器连接;调用数据库的流复制功能,处理所述群集服务器中的数据复制与 同步,并且通过阵列的方式配置数据同时储存在所述群集服务器中的储存器,比如磁盘;调 用数据库的热备份功能,同时设置一个群集服务器为主机,并设置另一个群集服务器为可 读的备机;调用中间件的主/备模式下的故障监测功能,实现所述主机故障时的自动故障 迁移,从而建立主机和备机之间的双机热备份;为客户端访问提供地址共享映射,使一个或 多个客户端对主机和备机的访问与对单一数据库服务器的访问方式完全相同。
[0023] 优选地,其中所述的中间件为P甜00^11中间件系统。
[0024] 作为进一步的改进,所述的方法还包括:调用所述中间件的看口狗功能,进行双 P甜00^11服务配置W消除单点故障。 阳0巧]作为进一步的改进,所述的方法还包括:在中间件中配置监控进程,用于在主机和 备机之间定期传输屯、跳检测信号。
[00%] 作为进一步的改进,其中为客户端访问提供地址共享映射的步骤还包括:调用中 间件的虚拟飘移IP功能,为客户端的访问提供一致的地址共享映射。
[0027] 作为进一步的改进,所述的方法还包括:当主数据库故障时,通过中间件将备机的 数据库提升为主数据库,同时将原主机的数据库迁出集群,在修复原主数据库故障修复后, 从新主数据库生成新备数据并恢复到修复的数据库中,然后使修复的数据库服务器作为备 机。
[0028] 作为进一步的改进,所述的方法还包括:使主机和备机对等,按照给定的时间执行 轮流切换,使得在主机故障恢复后不将修复故障的数据库服务器恢复作为主机;利用中间 件负载比例分配和数据库备机可读的功能,在读取数据期间实施负载均衡集群,用于减轻 主机压力。
[0029] 作为进一步的改进,所述的方法还包括:直接通过中间件的连接池和连接数限制 功能,限制主机及备机的连接数。
[0030] 作为进一步的改进,所述的方法还包括:使中间件的服务器和数据库服务器共用, W提局通f目效率。
[0031] 作为进一步的改进,所述的方法还包括在群集数据库服务器空闲期间或者维护期 间执行W下任意的一种或多种测试:正常数据访问测试、负载均衡测试、大规模并发访问测 试、中间件故障迁移测试、数据库主机的故障与恢复测试、数据库备机的故障与恢复测试和 集群数据库服务持续能力测试。
[0032] 本发明的有益效果为:兼具主备/集群双重特性,既可提高服务可靠性、又可提高 数据可靠性,同时,具备负载均衡、连接池等功能;具有数据库服务和中间件服务的可靠性; 既具有数据复制提供的数据可靠性,又有raid(磁盘阵列)配置提供的磁盘数据可靠性;所 采用的数据库及中间件均为开源、免费产品,中间件服务器和数据库服务器共用,既可W提 高通信效率,也可减少硬件成本;为用户测试依据本方案配置过程所搭建的应用环境是否 具备本方案所描述的功能,提供了统一的测试方法及测试用例,操作方便;数据库服务器主 /备对等,轮流切换,故障恢复后可W不用Fai化ack(自动恢复,即是使故障恢复后的服务 器恢复为故障前的服务器),使得配置更简单,处理更高效。
【附图说明】
[0033] 图1所示为根据本发明方法的示例性原理框图;
[0034] 图2所示为根据本发明方法的网络拓扑示意图。
【具体实施方式】
[0035] 下面通过具体的实施例并结合附图对本发明的方案作详细且具体的描述解析,但 运些实施例仅是示例性的例子,不旨在限制本发明的范围。
[0036] 在根据本发明的实施例中,采用两台数据库服务器,充用利用化stgreS化数据库 自身内置的"流复制(StreamingReplication)"及化tStan化y功能,实现数据的复制及 数据库的主/备基础功能。同时,利用P甜00^11的故障监测功能,编程实现主库故障发生 时的备库自动提升(Promote),达到数据库服务高可用化i曲Avail油ility)的目的;利用 P甜00^11的连接池及负载均衡功能,实现连接管理和读的负载均衡;利用P甜00^11 "看 口狗"的功能,实现P甜00^11自身的高可用化i曲Avail油ility)。该方案的逻辑架构图 1所示,网络拓扑如图2所示。
[0037] 在本实施例中,可遵循W下配置过程示例: 阳0測硬件配置
[0039]
[0040] 上述所列设备,指的是完整部署本发明所设及到的设备W及相应的外围设备,而 属于执行根据本发明的方法的设备只有"集群服务器_A"和"集群服务器_B"。
[0041] 软件配置
[0042]
[0043]
W44] 根据本发明一个实
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1