跟着网络的遍及,数据库集群体系现已广泛运用在各行各业,极大地促进了社会经济发展。一起也对自身可用性和稳定性提出了更高的要求。网上银行、火车票订购、搜多引擎、电子商务等新的网络运用层出不穷,用户量之大,超出了人们开始的幻想。而且大型网站还必须要能够供给24小时连续服务,因为巨大的拜访量以及长时间不间断服务,数据库办理体系在处理巨大数据和并发数时遭受着很大的检测。在金融、证券、电信等行业范畴,作为要害设备的数据库服务器担负着很多重要信息的处理、存储和传递使命,一但服务器发生毛病或溃散,将带来不可估量的影响。确保服务器连续、稳定的运转现已成为核算机体系运用中的迫切需求。在这种情况下,单个数据库办理体系现已不能供给令用户满足的服务。
在这样的需求背景下,数据库集群技能受到了业界的重视。数据库集群技能是指多台一般的数据库服务器经过高速网络进行衔接,成为一个一致数据库体系,一起为运用程序供给服务。数据库集群体系对用户来说是通明的,对外仅呈现一个节点,经过各个服务器之间的快速信息交流和负载均衡算法对多个节点分配使命,进步服务器的处理功能。
数据库集群技能应战
高速互联网络、心跳检测和毛病搬迁是技能上的首要难点和应战。
1、互联网络
数据库集群将集群技能运用到数据库体系中,由一组独立的数据库服务器经过高速网络构成一致的体系。各个数据库服务器之间彼此协作一起完成使命,对用户仅呈现出一个节点。数据库集群与分布式数据库的组织形式类似,但他们之间有很大的不同,不同在于,分布式数据库不要求运用节点间的协作来进步整个体系功能,其意图在于完成数据的通明同享,一般由低速网络进行衔接。而数据库集群的意图是经过同一集群中的各个数据库服务期间彼此的协作来完成单一体系不能完成的使命,进步整个体系的功能。集群体系的节点之间会有频频的信息传输,以完成节点间的负载平衡,是每个数据库服务器都能发挥其最大功能。为了削减通讯价值,各个节点间需求经过高速网络进行衔接。一起还要考虑到跟着节点数和交换链路的添加,核算机协同作业的杂乱度添加了,怎么降低多机协同作业的杂乱度的问题。
2、心跳检测
心跳检测是要处理多节点环境下各节点信息的收集、通讯、失效节点检测的问题。怎么快速地收集个节点的情况信息,精确地检测到体系的毛病、及时对失效节点作出判断、完成毛病搬迁也是多节点集群要处理的核心问题。为了完成体系的高可用,体系必须对网络情况、节点情况、软件情况、存储体系情况灯进行实时检测,监控到有毛病节点时,立行将毛病节点的作业搬迁到其他节点中。为此,体系中各节点件必须尽快获取到对方的信条信息才能对集群做出精确的调度。这些信息包括:CPU运用率、内存运用率、网络负载、网卡IP作业情况、同享存储运用情况、用户要害业务的进程情况等,急群众的每个节点需求不断的收集自身的这些动态信息,报告给其它节点。一起还要不断获取其他节点的最新运转情况,以便在呈现毛病的时分做出敏捷的反映。
3、毛病搬迁
多台数据库服务器彼此衔接,构成供给服务的整体,运用程序和客户端所需求的数据存储在同享的存储设备中。在某一节点是小的时分,同享存储的拜访控制权就由失效节点切换至正常运转的节点上,客户端和运用程序能够经过同享存储设备持续拜访所需的数据。这样能够是现在一个服务器节点失效的情况下,数据库集群仍能够正常供给数据拜访和网络服务,确保客户要害业务的运转。
计划逻辑图
技能路线
1、数据库集群计划
为了缓解数据库体系日益增长的功能压力,Oracle公司推出了实时运用集群体系(RAC),支撑Oracle数据库在集群上运转各种类别的商业级运用程序,经过同享cpu和内存将多个节点组成集群体系,是一种同享存储的体系结构。Oracle RAC运转在集群上,为Oracle数据库供给了最高级别的可用性、可伸缩性和低成本核算才能。两个或多个服务器节点并行协同作业,供给远超单机的数据库服务功能,且节点之间彼此备份。假设集群中某个节点呈现毛病而中止服务,该服务器上的服务可主动搬迁到其他节点,这样就进步了Oracle数据库的可用性。如果现有的集群体系不能满足服务要求,需求更高的处理才能,新的节点能够轻松添加进集群。假设现有的集群体系的功能超过了实际服务所需,又能够方便的删去节点,这样就增强了Oracle数据库的可伸缩性。
RAC的每个节点上都运转着一个Oracle实例,所有这些实例都经过同享磁盘体系拜访一致数据库。数据库的重做日志文件和回滚段也存放在这个同享磁盘体系上,服务器之间在保存原有IP的基础上,别离装备服务器的信赖联系,用户在进行服务器衔接是,不需求制定特定主机IP,只需衔接集群的虚拟IP,体系将依据服务器的是否可用和繁忙程度来自行决定衔接其中一台。集群服务器吧客户的请求通明地定向到集群内部的各个服务节点。集群服务器中某个服务器因为毛病或计划停机而无法运用时,集群中其它节点能够主动承担作业负载,对毛病节点进行实例康复。体系中单一节点的毛病不会影响集群中的其他节点,能够通明的进行毛病切换。
2、节点间高速互联计划
Infiniband是一种公开的高带宽高速互联网络标准。当前Infiniband网络能够供给40Gbps的带宽和1us级别的推迟。基于Infiniband的互联网络是集群体系中最盛行的组网计划之一。InfiniBand架构是一种支撑多并发链接的“转化线缆”技能。在InfiniBand架构中,最首要的硬件部分便是HCA、TCA和IB Link。HCA是Host Channel Adapter的缩写,它是衔接内存控制器和TCA的桥梁;TCA是Target Channel Adapter的缩写,它将I/O设备(例如网卡、SCSI控制器)的数字信号打包发送给HCA;IB Link包含了衔接HCA和TCA的光纤以及光纤交换机、路由器等整套设备。在现阶段一根光纤的传输速率是2.5Git/s,支撑全双工形式,而且能够把多条光纤绑缚到一起作业,目前的形式有x4、x12两种。这种架构在一个链接的时分速度是500 MB/秒,四个链接的时分速度是2 GB/秒,12个链接的时分速度能够达到6 GB /秒。
计划收益
经过Oracle RAC建立的数据库集群。能够完成将多个独立的服务器组合成高功能数据库集群体系,一起增强了体系的可用性和可伸缩性。当数据库集群中某个节点毛病,数据库会持续运转在集群中其它节点上,确保了数据库集群的高可靠性。当体系需求更多的处理才能时,能够很方便地在线添加别的的服务器节点进步整个集群体系的处理才能。集高功能、高可靠性、易办理性、灵敏扩展、低TCO五大特性于一身。
在大规模数据库集群体系中运用InfiniBand技能衔接服务器节点和它们的I/O设备,集群体系的可办理性和可用性都会进步。Infiniband技能所供给的40Gb/s节点到节点,120Gb/s交换机到交换机的带宽,能够处理网络瓶颈所带来的功率低下的问题,经过Infiniband处理计划,能够进步核算的功率,然后削减节点数目,降低花费,削减功耗。在传统的集群体系中,服务器之间要经过快速以太网或其它高速网络设备衔接,服务器与存储设备经过SCSI或光纤通道的方式衔接,服务器与外界的客户机经过以太网或ATM方式相连,网络办理员面临着各种各样的连线。而InfiniBand规定了对设备办理的一致形式,HCA、TCA、IB Link、存储体系、网络设备、InfiniBand交换机、路由器都运用一致的办理软件,能够削减办理员的杂乱的作业流程。Mellanox公司的端到端的Infiniband处理计划能够为客户带来更好的网络整合才能,进步数据库集群网络的稳定性和可靠性,对客户来说是最好的选择。