资源描述
Oracle和SQLServer集群布署方案对比及实例
一、需求背景
1、大型全国系统稳定性、安全性必需在现有基础上深入提升,需要升级到综合性能更强大硬件,实现愈加完善故障转移、数据冗余、灾难备份等容错手段。
2、全国系统中,以数据量和访问量为代表系统负载将会大幅度提升,数据库性能将成为关键瓶颈。数据库服务器需要从现有双机故障转移集群升级为可支持负载均衡集群方法,在满足性能要求同时,为未来动态性能扩展打下基础。
二、Oracle RAC和SQL Server集群方案对比
1,方案和需求分析
关键功效和费用矩阵分析表:
对比项
Oracle RAC
SQL Server
故障转移
支持
支持
负载均衡
支持
不支持
可扩展性
支持
支持
费用
高
低
集群方案和需求矩阵分析表:
需求
方案
高可用性
高性能
数据冗余
灾备
故障转移
高速网络
共享存放
负载均衡
IO
RAID
ASM
DATA GUARD
集群
Oracle RAC
√
√
√
√
√
√
√
√
SQL
Server
√
√
√
╳
√
√
╳
╳
由上表可见:
集群分两个层面:系统层群集和应用层群集,Oracle RAC 和SQL Server 故障转移集群全部是属于应用集群,两种集群全部能够实现高可用性即容错要求。
二者最大不一样之处于于:Oracle RAC虽成本较高,但能实现负载平衡需求,支持动态添加服务器节点来应对负载增加。而SQL Server集群成本即使较低,但系统不含有方便负载性能扩展能力,当出现数据库系统性能不能满足应用负载时,只能更换更高配置机器,这个问题也是到现在为止微软本身集群处理方案含有通病。尽管也有部分号称是支持SQL Server实现负载均衡增值开发,但对这么一个全国系统来说,使用非微软原生第三方系统需要慎重考虑。
另外,对于一个大型全国系统来说,要求高可用性需求和场景还应该包含有其它内容,比如数据冗余、异地灾难备份,这些需求可能需要我们用集群以外方法来实现,还需要深入制订在上述集群之外方案,而在Oracle数据库所含有ASM和DATA GUARD功效也为数据冗余和异地灾难备份提供了更多愈加好可能性。
2,功效实现方法对比
以下再深入从故障转移、负载均衡、可扩展性等各个方面功效实现方法上,对两种集群方法进行愈加具体对比。
SQL Server集群功效实现方法
1) 故障转移
SQL Server集群故障转移功效是经过群集中连接多个计算机中冗余或备份实现,每台计算机全部含有独立故障状态。为了实现冗余或备份,需要在群集中多个服务器节点上全部安装数据库程序。但在故障发生前任一时刻,应用程序只会在其中一个数据库节点上处于联机状态。仅当该应用程序出现故障或该服务器停机时,此应用程序将在另外一个冗余或备份节点上重新连接或自动接替。
2) 多节点互备
在集群中布署多个数据库应用情况下。各个不一样应用可分别布署在不一样节点上运行。当任何一个节点故障时,该节点上运行应用可自动转移到其它节点上,从而实现多节点互备。
3) 可扩展性
可在不中止服务情况下,在线增加新节点,获取更多高可用备份,但不管集群中备份节点怎样增加,因为SQL Server只在最新Always On AG集群中能够在不一样节点上配置读写分离功效,没有动态负载均衡功效,所以要实现性能扩展标准上只能经过在现有集群中更换更高级服务器来实现。
Oracle RAC集群功效实现方法
1) 故障转移
除了经过群集中连接多个计算机中冗余或备份实现故障转移之外,Oracle RAC实现了对用户端透明(TAF)故障转移。所谓TAF,就是连接建立以后,应用系统运行过程中,假如某个实例发生故障,连接到这个实例上用户会被自动迁移到其它健康实例上。采取TAF 这种方法在提升系统高可用性上带来了很大进步。
ORACLE RAC故障转移特点:
Ø 访问时应用透明(注意不只是对Oracle 用户端透明)
程序经过Oracle端访问RAC,访问程序无需了解数据库是双机还是单双机,只经过当地服务名即可访问。
Ø 故障时应用透明
部分情况下,应用感受不到某个节点发生了失败,不会收到异常。部分情况下,应用收到异常,但不需要再次连接,即可继续实施访问。部分情况下,应用程序收到异常,并需要重新连接。
2) 负载均衡
服务器端负载均衡能够依据RAC中各节点负荷及连接数情况,而自动作出判定,将新用户端连接分配到集群中负荷最小节点上去。
3) 可扩展性
可在不中止服务情况下,在线增加新节点,获取更多高可用备份,同时加入新节点可经过上面负载均衡功效来提升系统整体负载能力,从而能够方便地在任何时候经过在现有集群中加入新服务器实现性能扩展。
3,硬件配置和租/买费用对比
硬件配置和费用对比表(双机集群,费用为估算)
对比项
Oracle RAC
SQL Server
自己购置中等硬件费用
30万
35万
IDC租用及托管费用
10万/年
12万/年
自己购置高级硬件费用
50万
55万
IDC租用及托管费用
16万/年
18万/年
硬件在IDC托管费用
6万/年
8万/年
注: SQL Server 硬件费用比Oracle RAC要高关键原因是需要增加两台域控制服务器。
由上表可见:
因为现在通常全部必需将服务器托管在IDC以获取必需网络服务,假如自己购置硬件,放在IDC托管显然是不适宜,自己先花了大把钱买来服务器,再花大把钱去托管显然不如直接在IDC租用硬件,方便又省钱。而且硬件出了问题,租用由IDC服务商处理处理,而自己购置硬件当然就要自己处理,或是自己出钱请原厂商来处理,多了很多麻烦。
另外,租用IDC服务器标准上三年租用以后IDC全部会送服务器产权,根据三年总费用划算下来,服务器一样也属于你了,不过直接租用IDC硬件比自己购置后再托管就大约能够节省下了每十二个月托管费用。
所以,全国系统提议采取硬件在IDC直接租用方法,而不要自己购置以后再去托管。
4,软件费用对比
软件授权费用对比表(双机集群,费用为4CPU估算)
对比项
Oracle RAC
SQL Server
双节点授权全价
410万
92-184万(4-8核)
双节点授权5折价
210万
46-92万(4-8核)
单节点授权全价
210万
46-92万(4-8核)
单节点授权5折价
105万
23-46万(4-8核)
安装服务费用
3-5万
2-3万
每十二个月运行维护费用
8万(非原厂商服务)
6万(非原厂商服务)
由上表可见:
用于全国系统软件费用,尤其是Oracle RAC集群软件费用,将大大地高于硬件费用。
降低软件费用方法:首先是在市场上找到适宜代理商以取得最大折扣价,根据现在可能找到5折价,费用可降低到全价二分之一。其次是考虑在双机集群中,只购置其中一个服务器节点授权,费用又能够降低二分之一,二者结合起来,能够将软件费用从降低为全价四分之一。
但假如在双机集群中只购置其中一个服务器节点授权将见面临使用盗版风险!因为对于Oracle RAC集群来说,其授权策略明确要求了集群上每个节点全部必需分别购置授权,而对于SQL Server集群来说,其授权策略也明确要求备份节点运行时间超出限制则必需单独购置授权。
所以,要尽可能降低软件授权费用,并完全规避盗版风险,就要尽可能寻求并采取双节点授权5折价,如采取表中最低单节点授权5折价将会有较大盗版风险。
五、结论
从对一个大型全国系统推广存在风险评定作为关键需求,再加上以上对数据库集群布署方案全方面比较分析,我们初步得出以下结论:
从系统性能角度,并汇总试用推广期中出现问题,在技术上一个大型全国系统推广关键风险点关键集中在应用软件和数据库性能提升上,尤其是数据库系统整体性能提升尤为关键。考虑到现有系统资源最大优化可能,立即实现系统升级换代,才能应对好全国系统负载大幅度提升、和对系统稳定性、安全性更高要求。
经过上面对数据库集群布署方案全方面比较分析,我们提议全国系统采取Oracle RAC实施数据库集群布署。其最大优势在于能实现负载平衡需求,支持动态添加服务器节点来应对全国系统负载不停增加,这将为系统长久稳定运行奠定最关键基础条件。
以下为推荐采取Oracle RAC数据库双机集群布署估算表:
项目
费用
IDC硬件租用及托管费用
10万/年
软件授权(单节点5折价)
105万 *
安装服务费用
3-5万
每十二个月运行维护费用
8万(非原厂商服务)
系统布署及第十二个月费用累计
128万
后续每十二个月费用累计
18万/年(非原厂商服务)
*注:假如我们采取没有数据库软件盗版风险、购置双节点5折价软件方案,则系统布署及第十二个月费用累计将增加为233万。后续每十二个月费用累计将保持18万/年(非原厂商服务)不变。
展开阅读全文