数据库镜像--数据库快照--数据库复制是数据库开发人员耳熟能详的一些名词了,那么他们究竟有什么好处和优势呢?举个很简单的例子,一个统计往往会对一个操作比较频繁的数据库造成很大的影响,例如数据库有1000w的数据,你sum一下,那估计这个程序需要
卡N秒,这样就对其他操作造成了非常大的影响,如果有一个一模一样的镜像,那么就算造成N+N秒,对于主数据库也是没有影响的,在这里简单说一下各个操作的优势和缺点,欢迎拍砖
①:数据库镜像:最低要求:2005以上版本,必须sp1以上补丁
介绍:数据库镜像就和我们普通的系统ghost镜像类似,就是一个备份,只是不同是,这个镜像和数据库是实时同步的,可以看做每秒钟都在备份
优势:镜像服务器最大是优势就是备份,当你是服务器崩溃时,你可以立即启动镜像服务器,使其正常运行,这个就是镜像服务器最大的优势
劣势:既然要备份,那么性能消耗是肯定的,但是相比起来,这个消耗基本上是在可接受的范围之内的,而且个人感觉不好的地方之一就是镜像数据库无法访问的,需要将镜像数据库快照以后再进行访问,希望以后可以直接访问,当然这个肯定是只读的
②:数据库快照:
介绍:数据库快照就想象成相机就可以了,就是将数据库拍下来,拍摄个一模一样的。呵呵。。
优势:一个人成长,有很多张照片,例如你每年拍一张,那么以后查看起来是非常方便的,而且不消耗主表的性能。
劣势:如果数据量非常大,那么就像拍照一下,就需要拍好多张,那么对性能的消耗那也是非常庞大的,而且部分比较特殊的需求,快照可能满足不了的。
③:数据库复制:(这个可不是数据库备份还原哦)
介绍:也是两个库,一个主库一个从库,主从库之间是一种发布订阅的关系,就是我修改了通知你,或者你时时来读取我,看看我是否修改了,就这么简单
优势:他是读取的日志文件,根据日志文件达到同步的,所以基本可以满足同步,并且我错略的测试了一下,除非服务器堵塞,否则性能还是很高的,百万数据同步几秒钟就可以完成,足见其效率了。
劣势:发布者和订阅者之间并非实时同步的,所以经常会有延时,这个就属于不定性因素的,而且消耗>数据库镜像 .
以上模式就使用而言,镜像和快照组合还是一个蛮不错的选择的。至于具体每种的具体用法,稍后的文章会逐一更新.