SQL Server保障数据一致性的法宝

2009-05-12 20:35:53来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

快照复制是在数据库之间对数据以及数据库对象进行复制并进行同步,以确保多个数据库之间一致性的一个法宝。简单的说,快照复制就是实现把一个数据库服务器上的数据通过网络传输到一个或多个地理位置不同的数据库服务器的过程。其实,对于快照复制,我们可以做一个形象的比喻。就是在一个数据库管理员设定的时刻,对某个数据库进行“拍照”,然后把这个照片传送给其他数据库的一个过程。如此的话,就可以保证各个数据库之间数据的同步。

通常情况下,快照复制有如下特点。

一是从快照这个名词中,我们也可以看出,照片是一个静态的过程,即只反映数据库某个时刻的状态,而不会反映数据库的一个变化过程。快照复制知识对数据库某个设定的时间的数据进行复制,而不会对一段时间内的数据更改进行连续监视。这跟其另一个兄弟“事务复制”有本质的区别。若把快照复制比喻成完全备份的话,则事务复制就是一个差异备份。

二是快照复制所需要的资源比较大。快照复制是对整个数据库进行复制,而不管其是否发生了变化。无疑,这复制的时间、传输的时间都会比较长,其耗费的服务器与网络资源也会比较多。所以,快照复制的成本是比较高的。但是,在某些特定的情况下,快照复制反而可以提高效率。如对于不经常更改当数据,或者不要求保持高同步性的数据的情况下,利用快照复制来协调多个数据库之间的数据一致性反而使比较合理的选择。

快照复制虽然是一门比较先进的技术,但是,并不是在所有应用场景中,其都可以起到很好的效果。若使用不当,快照复制技术反而会拖数据库管理员的后腿。根据笔者的经验,一般在以下情况下,最好采用快照复制。

一是当数据更改量大但是不经常发生时,可以采用快照复制。如笔者有一个客户,在全国各地都有服装门市店,各个店面的销售价格基本一致。由于经济危机的影响,在年底为了尽可能的收回现金,决定在12月24日到1月3日之间下调各个门市店的销售价格。由于他们的销售系统都是全国联网的。价格的下调需要总部的系统来完成。此时,就可以采用快照技术,让这个价格表跟各个地方的数据库同步。在价格更改完成后,复制完成的数据库快照。一般来说,某个表的数据主要是静态数据,不经常更改。当数据在一个时间发生更改时,将一个全新的数据库快照发布到服务器上,其效果会更好。

二是在某些决策支持系统中,采用快照复制技术的比较多。因为决策支持系统,他们只需要查询数据,而很少对数据进行更改。同时,往往对数据库的及时性要求也不高。如一个销售决策系统,他们可能只需要到上个月月底的销售数据,而不需要到当天的销售数据。在这种情况下,采用快照复制技术,比起其他的数据同步技术,如事务复制技术,效果会更加的好。通常情况下,在某个时期,如果允许有过时的数据副本,也就是说,对数据的及时性要求不怎么高的系统,可以考虑采用快照技术。

三是复制数据比较少的情况下,可以采用快照复制技术。因为快照复制是一次复制整个数据库,如果数据量比较大的话,则每次复制、传输的时间都会比较长。此时,采用事务复制会比较合理。其实,这跟完全备份与差异备份类似。当数据库容量比较小时,采用完全备份反而比差异备份更加实际。因为维护起来方便。

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:在SQL server2005数据库下创建计划任务

下一篇:数据库备份过程中经常遇到的九种情况