一种具备高可用性的数据库制造技术

技术编号:11323007 阅读:71 留言:0更新日期:2015-04-22 11:43
本发明专利技术实施例公开了一种具备高可用性的数据库,包括至少两组集群,所述的集群通过网络连接,所述的集群包括至少一个节点和至少一个存储装置;其中,所述的一组集群为主数据库,其余集群为备份数据库。本发明专利技术实施例所提供的具备高可用性的数据库能够使得数据库系统中多节点负载均衡,可以用多个廉价PC服务器代替昂贵的小型机或大型机,节约硬件及维护成本,具有高扩展性;同时采用了多个共享存储设备,当主数据库不能正常工作时,可以切换备份数据库进行服务减少了服务停止时间,并且数据不会丢失。

【技术实现步骤摘要】

本专利技术涉及数据库领域,尤其涉及一种具备高可用性的数据库
技术介绍
随着现代计算机科学技术的发展,数据库已逐步成为计算机信息系统的基础和核心,被广泛应用于电信、金融、政府、企业、能源等关键行业。数据库应用的高可用性也越来越引起人们的关注。在高可用的解释方面,有人给出了如下的诠释:(I)系统失败或崩溃(system faults and crashes);(2)应用层或者中间层错误(applicat1n and middleware failures);(3)网络失败(network failures);(4)介质失败,一般指存放数据的媒体故障(media failures);(5)人为失误(Human Error);(6)容灾(Disasters and extended outages);(7)计划宕机与维护(Planned downtime, maintenance and management tasks) o由此可见,高可用不仅仅包含了系统本身故障,应用层的错误,人为错误等等,还应当包括数据冗余、容灾以及计划的维护时间,也就是说,一个真正的高可用环境,不仅仅是能避免系统本身的问题,还应当能防止天灾人祸,以及有一个简单可靠的系统维护方法(如硬件升级、软件升级等等计划停机维护)。对于oracle数据库来说,一般采用的是双机热备的方式达到高可用性。如图1所示,常用的做法是采用两台(或多台)服务器,使用共享的存储设备(磁盘阵列柜或存储区域网SAN)。两台服务器系统A (SYSTEM A)与系统B(SYSTEM B)可以采用互备、主从、并行等不同的方式。在工作过程中,两台服务器将以一个虚拟的IP地址对外提供服务,依工作方式的不同,将服务请求发送给其中一台服务器承担。同时,服务器通过心跳线(listener)侦测另一台服务器的工作状况。当一台服务器出现故障时,另一台服务器根据心跳侦测的情况做出判断,并进行切换,接管服务。对于用户而言,这一过程是全自动的在很短时间内完成,从而对业务不会造成影响。由于使用共享的存储设备,因此两台服务器使用的实际上是一样的数据,由双机或集群软件对其进行管理。这方式的优点是有利于数据库的升级,当其中系统A需要升级的时候,就把服务切换到系统B上运行,升级A的oracle程序,之后还可以把服务切换回到A来,然后升级B的oracle程序。这个升级过程不会影响用户的oracle使用,因为总有一台机器可以使用oracle程序来响应用户的服务请求,同时由于保存了两份数据库的数据文件,这样如果其中一台服务器出现了数据损坏或者文件丢失,也不会因为单点故障导致数据无法恢复了。虽然oracle的双机热备机制可以解决单点故障和数据安全等问题,但是其自身的局限性和缺点也尤为明显,存在的问题有如下几个方面:(I)只有一台机器发挥作用,另外的机器浪费投资;(2)性能相对较差,单一数据库无法承担大量的并发操作;(3)实际成本更高;(4)发生故障时,需要切换时间,并不是真正24X7不间断运行;(5)扩展性差,每添加一个节点必须停掉所有的服务器。
技术实现思路
有鉴于此,本专利技术实施例提出一种具备高可用性的数据库,以实现对应提高数据库的可用性。本专利技术实施例提供了一种具备高可用性的数据库,所述的具备高可用性的数据库包括若干个节点及共享存储设备,所述的共享存储设备至少为两个,所述的至少两个的共享存储设备中一个为主数据库(Primary Database),其余共享存储设备为备用数据库(Standby Database)。本专利技术实施例所提供的具备高可用性的数据库能够使得数据库系统中多节点负载均衡,可以用多个廉价PC服务器代替昂贵的小型机或大型机,节约硬件及维护成本,具有高扩展性;同时采用了多个共享存储设备,当主数据库不能正常工作时,可以切换备份数据库进行服务减少了服务停止时间,并且数据不会丢失。【附图说明】通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本专利技术的其它特征、目的和优点将会变得更明显:图1是现有技术所提供的双机热备的数据库结构示意图;图2是本专利技术实施例所提供的集群的逻辑结构示意图;图3是本专利技术实施例所提供的集群的物理结构示意图;图4是本专利技术实施例一所提供的具备高可用性的数据库的结构示意图;图5是本专利技术实施例二所提供的具备高可用性的数据库中的主数据库与备用数据库同步方法的流程示意图;图6是本专利技术本专利技术实施例二所提供的具备高可用性的数据库中的主数据库与备用数据库同步方法的示意图。【具体实施方式】下面结合附图和实施例对本专利技术作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅用于解释本专利技术,而非对本专利技术的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本专利技术相关的部分而非全部内容。图2是本专利技术实施例一所提供的集群的逻辑结构示意图;图3是本专利技术实施例一所提供的集群的物理结构示意图;图4是本专利技术实施例一所提供的具备高可用性的数据库的结构示意图。图2是本专利技术实施例一所提供的集群的逻辑结构示意图,由图2可以看出,集群可以由若干个物理计算机组成(每个叫做一个节点),这些节点间通过网络连接(心跳网络)。每个节点上都运行一个实例(Instance),这些实例通过一个特殊的软件(Clusterware,集群软件)的协助,共同操作一个数据库。从外部用户视角看,他们看到的只是一个数据库。从逻辑上看,集群由存储层、网络层、集群件层、应用层4层组成。集群软件可以采用Oracle RAC,可以支持24x 7有效的数据库应用系统,在低成本服务器上构建高可用性数据库系统,并且自由部署应用,无需修改代码。在Oracle RAC环境下,Oracle集成提供了集群软件和存储管理软件,为用户降低了应用成本。当应用规模需要扩充时,用户可以按需扩展系统,以保证系统的性能。Oracle RAC有以下优点:(I)多节点负载均衡;(2)提供高可用:故障容错和无缝切换功能,将硬件和软件错误造成的影响最小化;(3)通过并行执行技术提高事务响应时间;(4)通过横向扩展提高每秒交易数和连接数;(5)节约硬件成本,可以用多个廉价PC服务器代替昂贵的小型机或大型机,同时节约相应维护成本;(6)可扩展性好,可以方便添加删除节点,扩展硬件资源。图3是本专利技术实施例一所提供的集群的物理结构示意图,由图3可以看出RAC集群实际上是实例级别的容灾,但是各个实例在后台与共享存储器(SHARE STORAGE)连接,其仍然只使用了一份数据文件(DATAFILE),通常这份DATAFILE保存在磁盘阵列这样的共享存储器里面,如果由于未知的原因一个节点出现了错误宕机了,这个时候RAC的另外一个节点会通过INSTANCE RECOVERY的方式构建GRID并且访问宕机节点的日志文件(L0GFILE当前第1页1 2 3 本文档来自技高网
...

【技术保护点】
一种具备高可用性的数据库,其特征在于:所述的具备高可用性的数据库包括至少两组集群,所述的集群通过网络连接,所述的集群包括至少一个节点和至少一个存储装置;其中,所述的一组集群为主数据库,其余集群为备份数据库。

【技术特征摘要】

【专利技术属性】
技术研发人员:黄辉
申请(专利权)人:北京锐安科技有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1