版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数据库集群技术引言信息系统作为企业的神经中枢,在企业的发展过程中起着极其重要的作用,成为保障企业快速发展的重要因素。数据库是用来保存最终计算结果的,所以是整个信息系统中最重要的组成部分,企业的数据库系统应该非常稳健,为什么我无法访问决策所需的数据,为什么用户不能查询到实时准确的数据,为什么用户经常反映系统的速度非常缓慢,为什么经常会造成数据丢失?为什么总是不停地更换更高配置的服务器也不能解决这些问题?这些问题的答案其实很简单,传统的数据处理方式由于技术限制已无法满足企业需求。只有实时的数据采集方式,才能为正确的决策提供精准分析的数据支撑,降低信息延迟,保证快速的业务响应,并推动业务价值的提升,只有合理的分担用户的访问压力,才能提升系统的反映速度,带来更好的用户体验,只有保证冗余的数据结构才能保证数据的安全,只有系统具备非常好的伸缩性才具备良好的扩展能力。用来保存计算最终结果的数据库是整个信息系统的重要组成部分,技术也相对成熟。然而,对于所有数据库而言,除了记录正确的处理结果之外,也面临着一些挑战:如何提高处理速度,数据可用性、数据安全性和数据集可扩性。将多个数据库联在一起组成数据库集群来达到上述目标应该说是一个很自然的想法。1-数据库集群的背景随着经济的高速发展,企业的用户数量、数据量呈爆炸式增长,在这样一个不断增长的环境下:对数据库提出了严峻的考验。对于所有的数据库而言,除了记录正确的处理结果之外,还面临着以下几方面的挑战:如何提高处理速度,实现数据库的负载均衡;如何保证数据库的可用性、数据安全性以及如何实现数据集可扩性?怎么综合解决这些问题成为众多企业关注的焦点。PC服务器以其高性能和低廉的价格而倍受广大客户青睐,在WEB应用或高性能计算中,为了追求更高的性能、以及可用性,大家都采用计算机集群技术(将多台服务器联合起来组成集群来实现综合性能优于单个大型服务器的技术)来实现,这种技术不但能满足应用的需要,而且大幅度地节约了投资成本;在数据库上,组建集群也是同样的道理,主要有以下几个原因:原因一:伴随着企业的成长,在业务量提高的同时,数据库的访问量和数据量快速增长,其处理能力和计算强度也相应增大,使得单一设备根本无法承担。在此情况下,若扔掉现有设备做大量的硬件升级,势必造成现有资源的浪费,而且下一次业务量提升时,又将面临再一次硬件升级的高额投入。于是,人们希望通过几个中小型服务器组建集群,实现数据库的负载均衡及持续扩展;在需要更高数据库处理速度时,只要简单地增加数据库服务器就可以得到扩展。原因二:数据库作为信息系统的核心,起着非常重要的作用,单一设备根本无法保证系统的持续运行,若发生系统故障,将严重影响系统的正常运行,甚至带来巨大的经济损失。于是,人们希望通过组建数据库集群,实现数据库的高可用,当某节点发生故障时,系统会自动检测故障并转移故障节点的应用,保证数据库的持续工作。原因三:企业的数据库保存着企业的重要信息,一些核心数据甚至关系着企业的命脉,单一设备根本无法保证数据的安全性,一旦发生丢失,很难再找回来。于是,人们希望通过组建数据库集群,实现数据集的冗余,通过多份数据来保证安全性。1.1数据库集群的分类集群(Cluster)技术是使用特定的连接方式,将价格相对较低的硬件设备结合起来,同时也能提供高性能相当的任务处理能力。下面讨论的数据库集群技术分属两类体系:第一、基于数据库引擎的集群技术第二、基于数据库网关(中间件)的集群技术。1.2问题的提出与分析在数据库上,保证可用性固然重要,但是随着信息化向前的推进,用户在数据库上遇到的困惑不只“可用性”一个,往往是综合几种需求,于是乎,用户的数据库上将出现如下情景:可能同时部署了负载均衡软件、双机软件、镜像软件、备份软件等等(有专业技术实力的公司可能不是这样,如互联网企业可以通过DBA来进行合理的优化及管理),可是,用户想要的是“一个可以为之稳定提供应用服务的数据库平台”,一个整体的数据库解决方案,而不是一堆HA、备份、复制、负载均衡等等零散的软件,或者是它们之间的简单集成。以微软的SQLServer数据库为例,因为其简单易用等优点占据了很大一部分客户,但SQLServer数据库集群解决方案以数据库的可用性为主,不能实现负载均衡及横向扩展,不论是失败转移集群(MSCS)或镜像(Mirror)仅仅是一种备份的方案,数据库只运行在一个节点上,当出现故障时,另一个节点只是作为这个节点的备份,在性能上是没有提升的。或许有人说,那你可以不用SQLServer,可以用Oracle,但是每个数据量都有其各自的优点,有其适用的环境。基于这样一个现状,一些国外的专业技术公司,甚至国内的一些拥有深厚背景的公司也在数据库平台上开发出了综合解决这些问题的集群产品,这些技术多数基于数据库开发(在开源数据库中也有类似的产品或方案推出)。其实回顾历史,Oracle的RAC就是一个很好的例子,RAC在Oracle8中还叫OPS,也是从一家第三方集群公司收购,如又收购了金门软件GoldenGate),也是从事类似技术的公司,于2009年7月被Oracle收购。当然也不排除,未来各数据库厂商自己推出这样的产品。在国内能买得起Oracle的用户,也不在乎多花些钱买RAC;银行的客户也不惜多花钱叫IBM解决;由于MySQL免费的特点,所以其用户是两个极端,要么很大,自己有能力在上面开发,如国内的大型互联网企业,要么很小,如一些小型软件,在这样的背景下,MySQL的集群技术只是大企业内部拥有,没有作为产品推向社会;SQLServer更能适合中国的国情,以其简单适用,方便管理等特点占据了很大的市场,相应的SQLServer的数据库集群技术也成为通用的技术在行业内快速发展。2.数据库集群2.1提高处理速度的四种办法2.1.1提高磁盘速度主要思想是提高磁盘的并发度。尽管实现方法各不相同,但是它们最后的目的都是提供一个逻辑数据库的存储映象。系统为了提高磁盘访问速度,建立一个虚拟的涵盖所有数据“大”数据库,而不用去考虑数据的实际物理磁盘存放位置。2.1.2分散数据的存放利用多个物理服务器来存放数据集的不同部分,使得不同的服务器进行并行计算成为可能。ORACLERAC是共享磁盘的体系结构,用户只需简单地增加一个服务器节点,RAC就能自动地将这节点加入到它的集群服务中去,RAC会自动地将数据分配到这节点上,并且会将接下来的数据库访问自动分布到合适的物理服务器上,而不用修改应用程序;UDB是非共享磁盘的体系结构,需要手工修改数据分区,MSCS和ASE也是同样情况。ICX是一种基于中间件的数据库集群技术,对客户端和数据库服务器都是透明的。可以用来集群几个数据库集群。系统通过化整为零的策略,将数据表格分散到多个服务器或者每个服务器分管几个内容不同的表格,这样做的目的在于通过多服务器间并行运算以提高访问速度。2.1.3对称多处理器系统利用多处理机硬件技术来提高数据库的处理速度。所有基于数据库引擎的集群都支持这个技术。将多CPU处理器进行合理调度,来同时处理不同的访问要求,但这种技术在数据库上的应用的实际收益是很有限的。2.1.4交易处理负载均衡在保持数据集内容同步的前提下,将只读操作分布到多个独立的服务器上运行。因为绝大多数的数据库操作是浏览和查询,如果我们能拥有多个内容同步的数据库服务器,交易负载均衡就具有最大的潜力(可以远远大于上面叙述的最多达四个处理器的对称多处理器系统)来提高数据库的处理速度,同时会具有非常高的数据可用性。所有基于数据库引擎的集群系统都只支持一个逻辑数据库映象和一个逻辑或物理的备份。这个备份的主要目的是预防数据灾难。因此,备份里的数据只能通过复制机制来更新,应用程序是不能直接更新它的。利用备份数据进行交易负载均衡只适用于一些非常有限的应用,例如报表统计、数据挖掘以及其它非关键业务的应用。负载平衡算是一项“老”技术了。但将性能提高到最大也是集群设计所追求的终极目标。2.2提高可用性的四种方法2.2.1硬件级冗余让多处理机同时执行同样的任务用以屏蔽瞬时和永久的硬件错误。有两种实现方法:构造特殊的冗余处理机和使用多个独立的数据库服务器。基于数据库的集群系统都是用多个独立的数据库服务器来实现一个逻辑数据库,在任意瞬间,每台处理器运行的都是不同的任务。这种系统可以屏蔽单个或多个服务器的损坏,但是因为没有处理的冗余度,每次恢复的时间比较长。传统意义上,硬件越贵,性能越高,但往往事与愿违。想通过追加和升级硬件设备来改善硬件级的冗余,要进行详细的需求分析和论证。2.2.2通讯链路级冗余冗余的通讯链路可以屏蔽瞬时和永久的通讯链路级的错误。基于数据库引擎的集群系统有两种结构:共享磁盘和独立磁盘。RAC,MSCS可以认为是共享磁盘的集群系统,UDB和ASE是独立磁盘的集群系统。共享磁盘集群系统的通讯的冗余度最小,通讯链路级的冗余具有容错功能。软件级冗余由于现代操作系统和数据库引擎的高度并发性,由竞争条件、死锁、以及时间相关引发的错误占据了非正常停机服务的绝大多数原因。采用多个冗余的运行数据库进程能屏蔽瞬时和永久的软件错误。基于数据库引擎的集群系统都用多个处理器来实现一个逻辑数据库,它们只能提供部分软件冗余,因为每一瞬间每个处理器执行的都是不同的任务。改善软件设计来提高冗余性能和屏蔽软件级错误是每个技术开发商的梦想。传统的集群系统只能提供部分软件冗余。数据冗余⑴被动更新数据集:所有目前的数据复制技术(同步或异步),例如磁盘镜像、数据库文件复制以及数据库厂商自带的数据库备份工具都只能产生被动复制数据集。它一般只用于灾难恢复。多数应用都是采用被动更新数据集的方法。这种方法容灾能力差,资源占用多,已面临淘汰和革新。⑵主动更新数据集:这种数据集需要一台或多台备份数据库服务器来管理,它可用于报表生成,数据挖掘,灾难恢复甚至低质量负载均衡。分同步和异步两种。异步主动复制数据集:先把事务处理交给主服务器来完成,然后事务处理再被串行地交给备份服务器以执行同样操作来保证数据一致性。所有的商用数据库都支持异步主动复制技术。同步主动复制数据集:要求所有并发事务处理在所有数据库服务器上同时完成。直接好处就是解决了队列管理问题,同时通过负载均衡实现更高性能和可用性。RAC,UDB,MSCS和ASE是用完全串行化并结合两阶段提交协议来实现的,设计目标就是为了获得一份可用于快速灾难恢复的数据集。主动更新数据集是目前比较先进的数据冗余方法。专业人员还可以进行更底层的技术细节比较。底层技术的差异直接影响着一些重要指标。提高安全和数据集可扩性的技术在提高数据库安全性和数据集可扩性这两方面,可以创新的空间是很小的。3.主流产品在数据库集群产品方面,其中主要包括基于数据库引擎的集群技术的OracleRAC、MicrosoftMSCS、IBMDB2UDB、SybaseASE,以及基于数据库网关(中间件)的集群技术的ICX-UDS等产品。3.1.0racleRACOracleRAC支持Oracle数据库在集群上运行的所有类型的主流商业应用程序。这包括流行的封装产品,如SAP、PeopleSoft和OracleE-BusinessSuite等,以及自主研发的应用程序,其中包括OLTP和DSS,以及Oracle有效支持混合OLTP/DSS环境的独有能力。Oracle是唯一提供具备这一功能的开放系统数据库的厂商。OracleRAC运行于集群之上,为Oracle数据库提供了最高级别的可用性、可伸缩性和低成本计算能力。如果集群内的一个节点发生故障,Oracle将可以继续在其余的节点上运行。如果需要更高的处理能力,新的节点可轻松添加至集群。为了保持低成本,即使最高端的系统也可以从采用标准化商用组件的小型低成本集群开始逐步构建而成。Oracle的主要创新是一项称为高速缓存合并的技术,它最初是针对Oracle9i真正应用集群开发的。高速缓存合并使得集群中的节点可以通过高速集群互联高效地同步其内存高速缓存,从而最大限度地低降低磁盘I/O,高速缓存最重要的优势在于它能够使集群中所有节点的磁盘共享对所有数据的访问。OracleRAC能显著降低了运营成本,增强了灵活性,从而赋予了系统更卓越的适应性、前瞻性和灵活性。动态提供节点、存储器、CPU和内存可以在实现所需服务级别的同时,通过提高的利用率不断降低成本。OracleRAC采用了“sharingeverythings现模式,通过CPU共享和存储设备共享来实现多节点之间的无缝集群,用户提交的每一项任务被自动分配给集群中的多台机器执行,用户不必通过冗余的硬件来满足高可靠性要求。另一方面,RAC可以实现CPU的共享,即使普通服务器组成的集群也能实现过去只有大型主机才能提供的高性能,各种规模的企业都可以采用OracleRAC来支持各类应用程序,利用OracleRAC的高速缓存合并技术,Oracle数据库实现了最高可用性和可伸缩性。现在,利用Oracle数据库和OracleRAC将大幅降低了运行成本,进一步增强了灵活性,其动态提供节点、存储器、CPU和内存的特性可以更轻松、高效地保持服务级别,而通过提高的利用率又进一步降低了成本。3.2.MicrosoftMSCS数年以来‘Microsoft—直致力于对自身服务器解决方案的伸缩能力、可用性与可靠性进行扩展。最初代号为Wolfpack且先后被称为Microsoft集群服务器与Microsoft集群服务的MSCSMicrosoft在NT集群技术领域中的首次重拳出击,它是公认的最佳Microsoft集群解决方案。在MSCS群集中,MSCS软件最多可以同四台运行在高速网络上的物理计算机建立连接。MSCS的主要用途是通过自身提供的容错能力提高应用程序可用性,容错能力是指将相关处理过程从某个节点上的故障应用程序移植到集群中其它健康节点上的集群功能,当故障应用程序得到恢复后,集群应当能够对原先的集群节点实现“故障返回”。MSCS能够在不丢失任何与故障应用程序相关数据的前提下对集群上所运行的应用程序进行故障恢复与故障返回管理,并且能够在故障恢复过程中维护用户及应用程序状态。这种类型的集群功能被称作有状态集群功能。SQLServer2005是微软的下一代数据管理和分析解决方案,给企业级应用数据和分析程序带来更好的安全性、稳定性和可靠性,更易于创建、部署和管理。它凭借针对故障转移群集机制的支持能力,得以增强的多实例支持能力以及分析服务对象与数据备份及恢复能力,分析服务的可用性得到了提高。它提供了诸如表分区、快照隔离、64位支持等方面的高级可伸缩性功能,使用户能轻松构建和部署关键应用。表和索引的分区功能显著增强了对大型数据库的查询性能。假设您决定在一个4节点MSCS群集上运行MicrosoftExchange2000Server。当安装MSCS软件以及适用于群集的Exchange2000版本后,您可以对群集进行配置,以便使Exchange2000能够在主要节点发生故障时在备份节点上进行故障恢复,当故障发生时,主服务器上肯定存在处于打开状态的用户会话,然而,MSCS能够在不丢失任何数据的情况下快速、自动的完成故障恢复,备份节点将从故障节点上接替工作负载及相关数据,并继续为用户提供服务。3.3.IBMDB2UDBDB2UDB大量自动或自我管理功能可使管理员能够节省更多时间来集中精力考虑驱动业务价值的问题,甚至可以消除较小的实施项目对专职管理员的需求。UDB的优势体现在DB2的开放无界:支持Unix,Linux以及Windows等主流操作系统;支持各种开发语言和访问接口;同时具有良好的数据安全性和稳定性。DB2V8.2的高可用性灾备技术,可在极短时间内使关键应用得到恢复。利用DB2数据分区部件(DPF)实现横向扩展,可以支持多达1000台服务器组成的庞大数据库群集,为构建企业级数据仓库提供坚实的技术基础。利用DB2的数据分区部件以及DB2信息集成器(DB2II)技术,数据库操作可综合利用网格中的每台服务器的运算能力,实现真正意义上的网格运算。自动生成统计信息概要代表了来自IBMLEO研发项目的首次部署,自主对象维护特性可自动执行基于策略的管理和维护功能,如表重构、统计信息收集和数据库备份,高可用性灾难恢复和客户机重路由特性实现了具备随选能力的企业所需的24*7信息可用性和恢复力。此外,DB2UDB提供与Java/Eclipse和Microsoft.NETIDE的深入集成或插件。随着信息基础结构从一个处理器发展到多个处理器再到高度并行的多个群集,它也随之扩展,将分区技术和群集技术集成到新的DB2UDBEnterpriseServerEdition中意味着该版本很灵活,自主数据库管理意味着管理员可以在管理日常任务上花费较少的时间。表的多维群集减轻了DBA创建索引的工作负担,同时提供了数据群集以快速查询,DB2内置的已规划的和未规划的可用性能力确保了业务应用程序在任何时候都可用。3.4.SYBASEASEASE性能的提高是建立在虚拟服务器架构上的,这是Sybase独有的体系结构。当前的ASE版本是ASE15,与操作系统和相关软件保持独立让ASE15可以更智能化地进行系统自我调优°VSA只需要很少的内存资源和内部交换开销,所以ASE15可以管理大量的联机用户,能够使ASE提高性能并控制成本的最主要原因是它采用了专利技术的、自调整的优化器和查询引擎°ASE15拥有高可靠性和极低的运行风险,个人数据的安全性是ASE特别关注的领域,使用了一种无需修改应用的独特加密系统。当应用和安全软件进行连接时将降低实施成本并避免产生新的安全漏洞,ASE15还通过一种简单、直接和可编程的脚本语言来方便进行加密和解密。新的存储引擎支持四种数据分区方式,在不同的物理设备上进行不同的分区操作。能帮助数据库管理员迅速地建立冗余灾难恢复节点并在异构的数据平台上同步数据库。SybaseASE是一个深受用户欢迎的高性能数据库,它具有一个开放的、可扩展的体系结构,易于使用的事务处理系统,以及低廉的维护成本。ASE可支持传统的、关键任务的OLTP和DSS应用,并且满足Internet应用的发展需要,Sybase可以很好地满足关键任务的企业业务应用的需求,提供数据库可靠性、集成性和高性能oASE有效的多线索结构,内部并行机制和有效的查询优化技术提供了出色性能和可伸缩性;还可提供先进的企业集成、强健和数据访问与数据移动技术,支持跨越远程Sybase和non-Sybase数据库的分布事务和查询。ASE进一步扩展了这些功能,通过分布信息和管理商业事务,支持通过企业信息门户对商业系统进行个性化的用户访问。3.5.ICX-UDSICX-UDS不受基于数据库引擎的集群技术限制,可以支持不同的数据库。它类似通常的代理服务器,把ICX放置在关键的网络路径上,监听数据库系统流量。ICX网关将自动过滤出无状态的查询访问,并将负载均衡到所有服务器上。对于统计报表和数据挖掘类应用,可以通过复制和只读去获得更快的处理速度,还能指定更多的只读来负载均衡,ICX网关的容错可以通过备份网关来达到。加载一个非同步的数据库可以造出不影响主服务机群的近于实时的数据源。ICX的最大优点是在数据库集群技术面临的挑战上有了新的探索,此项基于中间件的数据库集群技术为获得具有高可扩性的高性能数据库提供了一条切实可行的途径,同时能灵活地适应未来的技术变化。这种中间件复制技术可位于关键的网络路径上,监听所有进出数据库系统的流量,方便地提供防火墙和其它安全服务,保护物理的数据库服务器,通过多个服务器的并发处理很容易地隐藏了处理的延迟。4•性能指标这部分将介绍集群系统的细节技术指标,在做系统规划时,用户就可去掉一些应用中不太重要的指标,或赋予这些指标以不同的权重,从而进行专业的技术性能比较,选择最适合自己的数据库集群系统。4.1.处理速度⑴磁盘技术:所有集群系统都能很好地应用磁盘技术,但是由于DM,FM会对磁盘系统带来传输速度的负面影响,因此这方面它们相对欠缺。⑵数据分割:所有基于数据库引擎的集群系统都有很好数据分割能力。(3)SMP:所有基于数据库引擎的集群系统的SMP性能指标都比较接近。⑷负载均衡:一般的数据库引擎的集群系统由于使用了备份的数据集,因此只能支持有限的负载均衡。这一指标不同产品之间有差异。4.2数据
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度高端白酒品牌独家代理销售合同3篇
- 酒吧饮料冷藏柜租赁合同模板
- 软件开发股权合作协议
- 建筑住宅分包合同
- 2025版孔丽与张明离婚后财产分割及共同债务承担协议书3篇
- 棒球场遮阳棚安装合同
- 物流公司合作合同
- 医疗设备维修服务合同
- 投资者关系与市场信任
- 通信工程二级建造师合同模板
- 汽车底盘维修实训考核表(共24页)
- 炼铁厂3#烧结主抽风机拆除安全专项方案
- 四年级上册英语期末复习课件综合复习及检测讲义 牛津上海版一起
- 2020年污水处理厂设备操作维护必备
- 初中英语语法课堂教学设计有效性的探讨
- LSS-250B 纯水冷却器说明书
- 《煤矿开采学》课程设计实例
- (完整版)todo,doingsth初中魔鬼训练带答案
- 福建省青少年科技教育协会章程
- 防止返贫监测工作开展情况总结范文
- 2015年度设备预防性维护计划表
评论
0/150
提交评论