常见数据库集群技术.docx
- 文档编号:4365848
- 上传时间:2022-11-30
- 格式:DOCX
- 页数:9
- 大小:63.05KB
常见数据库集群技术.docx
《常见数据库集群技术.docx》由会员分享,可在线阅读,更多相关《常见数据库集群技术.docx(9页珍藏版)》请在冰豆网上搜索。
常见数据库集群技术
常见数据库集群技术
数据库集群技术有哪些
集群软件的分类:
一般来讲,集群软件根据侧重的方向和试图解决的问题,分为三大类:
高性能集群(Highperformancecluster,HPC)、负载均衡集群(Loadbalancecluster,LBC),高可用性集群(Highavailabilitycluster,HAC)。
按照集群工作的层面,可分为:
数据库服务器集群,应用服务器集群,交换机集群等按照集群的架构,可分为:
共享磁盘型,非共享磁盘型。
按照集群粒度不同:
基于IO;基于操作系统;基于数据库实例的;基于每个数据库的等。
什么是高性能集群
高性能集群(Highperformancecluster,HPC),它是利用一个集群中的多台机器共同完成同一件任务,使得完成任务的速度和可靠性都远远高于单机运行的效果。
弥补了单机性能上的不足。
该集群在天气预报、环境监控等数据量大,计算复杂的环境中应用比较多;
什么是负载均衡集群
负载均衡集群(Loadbalancecluster,LBC),它是利用一个集群中的多台单机,完成许多并行的小的工作。
一般情况下,如果一个应用使用的人多了,那么用户请求的响应时间就会增大,机器的性能也会受到影响,如果使用负载均衡集群,那么集群中任意一台机器都能响应用户的请求,这样集群就会在用户发出服务请求之后,选择当时负载最小,能够提供最好的服务的这台机器来接受请求并相应,这样就可用用集群来增加系统的可用性和稳定性。
这类集群在网站中使用较多;
什么是高可用性集群
高可用性集群(Highavailabilitycluster,HAC),它是利用集群中系统的冗余,当系统中某台机器发生损坏的时候,其他后备的机器可以迅速的接替它来启动服务,等待故障机的维修和返回。
最大限度的保证集群中服务的可用性。
这类系统一般在银行,电信服务这类对系统可靠性有高的要求的领域有着广泛的应用。
数据库集群的现状
数据库集群是将计算机集群技术引入到数据库中来实现的,有数据库厂商自己开发的;也有第三方的集群公司开发的;还有数据库厂商与第三方集群公司合作开发的,各类集群实现的功能及架构也不尽相同Oracle’sRealApplicationCluster(RAC)
MicrosoftSQLClusterServer(MSCS)
IBM’sDB2UDBHighAvailabilityCluster(UDB)
SybaseASEHighAvailabilityCluster(ASE)
MySQLHighAvailabilityCluster(MySQLCS)基于IO的第三方HA(高可用性)集群
RAC(RealApplicationCluster,真正应用集群)是Oracle9i数据库中采用的一项新技术,也是Oracle数据库accurategraspfivebigdevelopmentconceptofrichconnotation,advocateinnovation,andfocusedoncoordination,andadvocategreen,andthickplantopen,andadvanceshared,putfivebigdevelopmentconceptimplementationto"xxxxxxxx"constructionofspecificpracticeinthe,effectiveimproveledeconomicdevelopmentnewnormalofcapacityandlevel.Second,wemuststrivetoimprovecapacitytoimplementpolicies
支持网格计算环境的核心技术。
它的出现解决了传统数据库应用中面临的一个重要问题:
高性能、高可伸缩性与低价格之间的矛盾。
在很长一段时间里,甲骨文都以其实时应用集群技术(RealApplicationCluster,RAC)统治着集群数据库市场。
其余供应商似乎主要将重点放在了可用性上。
例如,xkoto公司(该公司为DB2提供集群技术)最初的计划本来是着眼于DB2的性能,不过他们现在的立场已经发生了变化,他们现在认为“性能固然重要,但真正需要解决的问题是持续可用性”。
您为什么需要集群
伴随着企业的成长,在业务量提高的同时,系统的访问量和数据流量的快速增长,其处理能力和计算强度也相应增大,使得单一设备根本无法承担。
在此情况下,如果扔掉现有设备去做大量的硬件升级,这样将造成现有资源的浪费,而且如果再面临下一次业务量的提升,这又将导致再一次硬件升级的高额成本投入,甚至性能再卓越的设备也不能满足当前业务量的需求。
于是,人们希望通过几个中小型服务器组建集群,实现数据库的负载均衡,在需要更高数据库处理速度,我们只要简单地增加数据库服务器就可以得到扩展。
数据库作为应用系统的核心,在企业的IT系统中起着非常重要的作用,单一设备根本无法保证系统的持续运行,发生系统故障,严重影响系统的正常运行,甚至带来巨大的经济损失。
于是人们希望通过组建数据库集群,来保证系统的可用性,一旦某节点发生故障,系统会自动故障转移,实现系统的持续工作。
企业的数据是企业的一些重要信息,一些核心数据甚至关系着企业的命脉,单一设备根本无法保证数据的安全性,一旦发生丢失,很难再找回来,于是人们希望通过组建数据库集群,实现数据集群的冗余,通过多份数据来保证安全性。
问:
SQLServer自身提供的集群有哪些,和Moebius集群有什么区别,答:
SQLServer自身提供的集群技术有两种:
失败转移集群(MSCS)和镜像(Mirror)失败转移集群(MSCS),这是一种基于共享磁盘架构的高可用集群,是操作系统级别的集群;镜像(Mirror),是一种共享磁盘架构的高可用集群,是数据库级别的集群。
它们共同的特点就可以保证系统的可用性,但是对性能没有丝毫的提升,甚至较单机还有下降,事实上SQLServer数据库只运行在一个节点上,当出现故障时,另一个节点只是作为这个节点的备份;因为始终只有一个节点在运行,在性能上也得不到提升,系统也就不具备扩展的能力。
当现有的机器不能满足应用的负载时只能更换更高配置的机器,而且是一次性更换两台。
Moebius集群研究的范畴
在SQLServer数据库平台上开发的,用于实现数据库的负载均衡,同时提高数据库可用性,保证数据安全性的综合集群方案。
Moebius集群基于每个数据库实现,粒度更小,应用起来更加灵活方便;结构上采用无共享磁盘架构,横向扩展,具有良好的伸缩性;设计上,采用与SQLServer高度集成的方式,将Moebius中间间宿主于SQLServer的引擎中,将Moebius集群的配置管理器集成到SQLServerManagementStudio管理工具中,不论是管理还是开发上,最大程度地顺应了用户的使用习惯。
accurategraspfivebigdevelopmentconceptofrichconnotation,advocateinnovation,andfocusedoncoordination,andadvocategreen,andthickplantopen,andadvanceshared,putfivebigdevelopmentconceptimplementationto"xxxxxxxx"constructionofspecificpracticeinthe,effectiveimproveledeconomicdevelopmentnewnormalofcapacityandlevel.Second,wemuststrivetoimprovecapacitytoimplementpolicies
Moebius集群常见问题,
1.问:
使用Moebius集群软件搭建集群是不是还要搭建MSCS(微软失败转移集群)或第
三方HA(高可用)集群,
答:
不需要,Moebius集群是一个单独的集群软件,是基于SQLServer数据库平台开发的,在应用时不依赖于其它的集群软件。
2.问:
Moebius集群支持无共享磁盘架构,若我现在已经搭建MSCS,使用了共享磁盘,
怎么办,
答:
Moebius集群也支持在共享磁盘架构上搭建集群,只是有两份相同的数据存放在同一个存储中。
3.问:
我一台服务器上有多个SQLServer数据库,会不会影响我使用Moebius集群,
答:
不会影响,Moebius集群是基于数据库级别的集群,可以将多个数据库搭建成多组集群。
4.问:
Moebius集群中的机器是不是一定要求一致,一个4CPU机器能不能和一个2CPU
机器搭建集群,
答:
可以,使用Moebius集群时,可以根据节点性能的不同,配置不同的权重,4CPU机器多分配些压力,2CPU机器少分配一些压力。
5.问:
我的应用程序很复杂,数据库的表结构也很复杂,是不是使用Moebius集群需要
要我们更改应用程序,更该数据库结构,
答:
在Moebius集群中,我们将客户的应用体验放在了很高的位置,客户不必担心由
于使用Moebius集群而更改原有程序,Moebius集群是和SQLServer数据库高度集成的,
Moebius配置管理器集成到SQLServer的ManagementStudio管理工具中,Moebius中
间件宿主在SQLServer的数据库引擎中,整个集群对外只暴露一个IP地址,您不但不需
要更改程序而且不用改变使用习惯,透明性非常好。
6.问:
Moebius集群中提供几种连接数据库的方法,负载均衡如何来实现,
答:
共提供了三种方式,
accurategraspfivebigdevelopmentconceptofrichconnotation,advocateinnovation,andfocusedoncoordination,andadvocategreen,andthickplantopen,andadvanceshared,putfivebigdevelopmentconceptimplementationto"xxxxxxxx"constructionofspecificpracticeinthe,effectiveimproveledeconomicdevelopmentnewnormalofcapacityandlevel.Second,wemuststrivetoimprovecapacitytoimplementpolicies
1、通过格瑞趋势专门为数据库集群定制的负载均衡软件LoadbalancingDirector来连接数据库。
2、通过负载均衡硬件来连接数据库,如F5等。
3、通过其它的负载均衡软件来连接数据库。
7.问:
使用LBDirector负载均衡软件连接数据库集群是不是消耗很大,
答:
不是,LoadBalancingDirector是一个Windows服务,根据后端数据库服务器的压力的不同,合理的进行分发。
8.问:
使用LBDirector负载均衡软件具体如何连接数据库,
答:
LBDirector负载均衡软件可以部署在一台单独的服务器上,也可以部署在应用程序所在的服务器上。
9.问:
使用Moebius集群,管理工具是不是要增加额外的机器,有多少个节点,是不是
就要安装多少次,
答:
不需要,首先,Moebius集群的配置管理器集成到SQLServer的ManagementStudio
管理工具中,不需要您增加额外的机器;在您安装MoebiusforSQLServer时,您实际上安装的是Moebius集群的配置管理器,通过配置管理器来部署集群,在部署的过程中,Moebius中间件会自动创建到其它服务器的数据库节点上去。
10.问:
由于业务逻辑复杂,某,,,语句在单机上执行时间为,分钟,搭建Moebius集
群后,若是两个节点,那么是不是要执行10分钟,
答:
不是,Moebius集群中,首先在集群中的一个节点上执行,花费的时间也是5分钟,中间件监测到数据有变化,将变化的数据同步到其它节点,不需要在另一节点上重新执行。
11.问:
在同步数据的过程中,若同步到一个节点花费的时间是10毫秒,那么同步到2个
节点花费的时间是不是20毫秒,3个节点是不是30毫秒,
答:
不是,在同步数据的过程是以一个并发的形式进行的,所以这个时间和同步到一个节点花费的时间应该是基本相同。
12.问:
数据同步的具体消耗是多少,
答:
消耗是和实际的应用场景以及硬件环境有关系的,假设在环境相同的情况下,以某次测试的真实数据来说,单机执行3毫秒;在集群环境下执行3.5毫秒。
accurategraspfivebigdevelopmentconceptofrichconnotation,advocateinnovation,andfocusedoncoordination,andadvocategreen,andthickplantopen,andadvanceshared,putfivebigdevelopmentconceptimplementationto"xxxxxxxx"constructionofspecificpracticeinthe,effectiveimproveledeconomicdevelopmentnewnormalofcapacityandlevel.Second,wemuststrivetoimprovecapacitytoimplementpolicies
13.问:
Moebius在同步数据的过程中是如何保证数据一致性的,
答:
Moebius中间件宿主在SQLServer里面,监测数据的变化,当有数剧变化时,中间件才工作,同步工作是在一个分布式事务中完成的,由MSDTC保证,所以数据是一致的。
14.问:
使用MSDTC来保证事务的一致性是不是会增加额外的消耗,消耗会不会很大,
答:
不是,首先分布式事务是有消耗,要比本地事务消耗大一点儿。
15.问:
Moebius集群和SQLServer的镜像有什么区别,
答:
相同:
都采用了基于事务日志的复制技术
a)不同:
镜像中只有一个服务器可读写,镜像服务器处于recoveing状态,是不能提
供读写服务的(可以通过快照做报表等,详细参考MS镜像相关介绍;在Moebius
集群中,两个节点是处于同等地位的,都是可读写的,可以有效均衡访问压力的。
b)在复制日志的过程中镜像是严格按照日志的顺序逐条传送的,在Moebius集群中,
采用了传输压缩以及智能同步策略,以最小的消耗完成数据的同步(详细参考
Moebius帮助文档中中间件的同步策略及传输压缩部分)
16.问:
我不知道Moebius集群是否适合我当前的应用,到底对我的数据库能提升多大性
能,若想得出一个直观的测试结果,我该怎么做,
答:
确实,在不同的应用场景、不同的硬件环境,所表现出来的性能提升是有差别的,建议您将自己的真实业务的还原到测试环境中,通过实际的测试数据来得出结论。
格瑞趋势提供了专门的测试工具,您也可以用专业的测试工具如LoadRunner等
部署Moebius集群时操作系统问题列表,1.现象:
CannotuseSAVETRANSACTIONwithinadistributedtransaction.或者:
不能在分布
式事务内部使用SAVETRANSACTION
解决办法:
升级到版本2047以上
2.现象:
不允许启动新请求,因为该请求应具有有效的事务描述符
accurategraspfivebigdevelopmentconceptofrichconnotation,advocateinnovation,andfocusedoncoordination,andadvocategreen,andthickplantopen,andadvanceshared,putfivebigdevelopmentconceptimplementationto"xxxxxxxx"constructionofspecificpracticeinthe,effectiveimproveledeconomicdevelopmentnewnormalofcapacityandlevel.Second,wemuststrivetoimprovecapacitytoimplementpolicies
解决办法:
属于一个.Net2.0的Bug,打hotfix:
ndp20-kb916002-x86
3.现象:
在使用DTCping的时候会出现一个警告"Warning:
theCIDvaluesforbothtest
machinesarethesame"
原因:
克隆的操作系统导致
解决:
添加/删除
4.现象:
win2000上不能启动分布式错误:
解决办法:
打开注册表,HKEY_LOCAL_MACHINE\Software\Microsoft\MSDTC修改以下两项:
AllowonlySecureRpcCalls=0
TurnoffRpcSecurity=1
5.现象:
accurategraspfivebigdevelopmentconceptofrichconnotation,advocateinnovation,andfocusedoncoordination,andadvocategreen,andthickplantopen,andadvanceshared,putfivebigdevelopmentconceptimplementationto"xxxxxxxx"constructionofspecificpracticeinthe,effectiveimproveledeconomicdevelopmentnewnormalofcapacityandlevel.Second,wemuststrivetoimprovecapacitytoimplementpolicies
解决办法:
1、安装.net补丁文件extensibilitymsm.msi
2、在命令行中执行
3、%SYSTEMROOT%\M\Framework\v2.0.50727\regasm"C:
\Program
Files\MoebiusforSQLServer2005\GRQSH.Moebius.Studio.dll"
4、cdC:
\ProgramFiles\MicrosoftSQLServer\90\Tools\Binn\VSShell\Common7\IDE
5、qlWb.exe/setup
部署中问题列表
1.现象:
添加第二个节点不成功
原因:
没有按照用户手册中的说明操作,在添加第二个或其他节点时,这些节点的数据
库都是由首节点备份还原所得到。
accurategraspfivebigdevelopmentconceptofrichconnotation,advocateinnovation,andfocusedoncoordination,andadvocategreen,andthickplantopen,andadvanceshared,putfivebigdevelopmentconceptimplementationto"xxxxxxxx"constructionofspecificpracticeinthe,effectiveimproveledeconomicdevelopmentnewnormalofcapacityandlevel.Second,wemuststrivetoimprovecapacitytoimplementpolicies
2.现象:
添加好后,保存不成功
3.原因:
1、DTC服务没配置,注意不论是操作工具还是数据节点说在的服务器都要配置
DTC服务。
2、防火墙开启,请暂时关闭防火墙,或者将DTC所涉及的端口全部开启。
3、克隆操作系统
4.克隆操作系统解决办法:
6、UseAddWindowsComponents,andremoveNetworkDTC.
7、Gotothecommandlineandrun:
MSDTC-uninstall
8、GototheregistryanddeletetheMSDTCkeysin
HKLM/Software/Microsoft/Software/MSDTC,
HKLM/System/CurrentControlSet/Services/MSDTC,and
HKEY_CLASSES_ROOT\CID(ifthey'restillthere).
9、Reboot
10、Gotothecommandlineandrun:
MSDTC-installaccurategraspfivebigdevelopmentconceptofrichconnotation,advocateinnovation,andfocusedoncoordination,andadvocategreen,andthickplantopen,andadvanceshared,putfivebigdevelopmentconceptimplementationto"xxxxxxxx"constructionofspecificpracticeinthe,effectiveimproveledeconomicdevelopmentnewnormalofcapacityandlevel.Second,wemuststrivetoimprovecapacitytoimplementpolicies
11、UseAddWindowsComponents,andaddNetworkDTC.
12、Gotothecommandlineandrun:
netstartmsdtc
accurategraspfivebigdevelopmentconcep
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 常见 数据库 集群 技术