控件中国网转载自CSDN:数据库高可用性解决方案优劣分析
在任何一个数据库中,高可用性都是大家所追求的目标。如果数据库能够不间断的运行,当然最好。但是这往往需要付出很昂贵的代价。有时候甚至比其得到的好处要大的多。
在SQLServer2008数据库中,本身就带有不少的高可用性解决方案。如可以采用故障转移群集、数据库镜像、日志传送或者复制等手段来提高数据库的高可用性。由于解决方案多了,数据库管理员不得不掌握各个解决方案的优点与缺陷,然后根据企业的实际应用来选择合适的解决方案。其实,这不仅仅是在考验解决方案的优劣性,也是在考验数据库管理员的能力。 诊断文件,帮助数据库管理员排忧解难
一、数据库镜像的优劣分析。
数据库镜像是一个软件解决方案,可以提供几乎是瞬时的故障转移,以提高数据库的可用性。简单的说,数据库镜像解决方案就是设置多个数据库,在多个数据库之间进行数据多同步。不同在同一个时间内,只有一个生产数据库(或者叫做主体数据库),而其他数据库都是备用数据库(又叫做镜像数据库)。当主体数据库出现故障时,系统会自动切换到镜像数据库上。此时这个镜像数据库就变为了主体数据库。由于主体数据库与镜像数据库之间数据进行了实时的同步,所以对于用户访问来说,基本不受影响。
镜像服务器解决方案最大的优点就是可以提供几乎是瞬时的故障转移。不过所采用的数据库镜像的方案不同,对于这个“瞬时”的影响也是不同的。数据库镜像可以具体分为高安全模式与高性能模式。在高安全模式下,主要体现“安全”两个字,已提交的事务会交给伙伴双方提交,此时虽然比较安全,大那时会延长事务滞后的时间。而在高性能模式下,事务部需要等待镜像服务器将日志写入到硬盘中便可以提交,为此可以最大程度的提高数据库数据不同的性能。 Oracle与SQL Server数据库镜像对比
不过这个解决方案也有一定的缺陷,最主要是其限制条件比较多。如只能够使用标准服务器;只能够使用数据库快照对镜像服务器进行有限的报告;只能够使用数据库单一、重复的副本。如果需要其他的副本的话,在可以在使用数据库镜像的同时,采用数据库的日志传送功能。可见几个不同的解决方案可以一起结合使用,吸长补短,以提高数据库的性能与高可用性。
二、日志传送的优劣分析。
跟数据库镜像一样,日志传送也是数据库级别的操作。通常情况下,可以使用日志传送来维护相应生产数据库的一个或者多个备用数据库。在日志传送中,这个生产服务器叫做主数据库服务器,备份服务器叫做辅助数据库。而在数据库镜像解决方案中,这个生产服务器也叫做主数据库服务器,不过这个辅助数据库则叫做镜像数据库。虽然他们的名字相同,但是实际上代表着同一种含义。日志传送配置包括一个主服务器(包含主数据库),一个或多个辅助服务器(每个服务器包含一个辅助数据库)和一个监视服务器。每个辅助服务器从主数据库的日志备份按设置的时间间隔更新其辅助数据库。日志传送涉及到主服务器创建主数据库日志备份和辅助服务器还原日志备份之间用户可修改的延迟。发生故障转移之前,必须通过手动应用全部未还原的日志备份来完全更新辅助数据库。
日志传送的优势也很明显,如最大的优势可以根据需要来定义数据同步的时间,如可以将延迟的时间定义为从主服务器备份主数据库日志到辅助服务器必须还原日志备份之间的时间。在某些特定的应用环境中,这个特性会非常的有用。而且,针对单个主数据库可以在多个服务器实例上支持多个辅助数据库等等。 数据库中日志问题详解
不过在有些情况下,这个日志传送解决方案往往不单独使用。例如将日志传送解决方案与数据库镜像结合使用。如此的话,这两个解决方案就能够各自发挥彼此的优势,以实现互补的目的。如日志传送具有支持多个备用数据库的灵活性。如果需要多个备用数据库,可以单独使用日志传送或将其作为数据库镜像的补充。当这些解决方案一起使用时,当前数据库镜像配置的主体数据库同时也是当前日志传送配置的主数据库。
三、故障转移群集的优劣分析。
故障转移群集由具有两个或多个共享硬盘的一个或多个节点或服务器组成。各应用程序将安装到一个称为资源组的群集服务群集组中。在任何时候,每个资源组都仅属于群集中的一个节点。该应用程序服务具有一个与节点名称无关的虚拟名称,称为故障转移群集实例名称。应用程序可以通过引用故障转移群集实例名称与故障转移群集实例连接。应用程序不必知道哪一节点承载该故障转移群集实例。跟上面两个解决方案相比,这个故障转移群集解决方案可以说是一个基于硬件的解决方案。
本文由控件中国网转载