| 
 咨询电话:010-51727811/12/13
当前位置: 首页 > 新闻中心 > 业内新闻 >
如何对共享数据使用缓存技术(一)
时间:2012-08-07 09:27  来源:飞客数据恢复   作者:飞客数据恢复工程师
对于任何计算机系统,缓存都是提高性能的主要手段。然而,如果实施不正确的话,它还有可能降低性能。而且,在共享数据环境中,不正确的缓存有可能导致数据冲突。本节主要讨论数据共享环境中缓存的各种情况。

为了避免与内存缓存概念相混淆,这里所说的“缓存”是指磁盘或子系统的缓存。它是一种用于满足I/O请求的存储器,无需从磁盘驱动器的旋转介质中读取数据。

缓存的一致性
缓存的一致性是指多个缓存具有相同的数据版本。缓存的一致性是并行处理系统开发中的一个难题,如在进行共享数据集群系统开发时。在共享数据环境中保持缓存的一致性是一个牵涉到多种因素的难题,包括所采用的缓存算法、系统数量、存储子系统的数量、各种应用。数据共享所关心的一个问题是系统如何才能知道缓存中的数据已经过时了,换而言之,它们怎样才能知道别的系统已经更新了缓存中的数据?这又重新回到前面所讨论过的难题,即多版本数据的不一致问题。


缓存可用于提高磁盘子系统的性能。缓存可以用在I/O路径上的三种不同位置:系统内存总路线、主机I/O控制器、设备/子系统。大多数情况下,系统内存中实现的缓存最有效。对于需要经常访问的数据,如事务处理中的数据,一种在系统内存中的回写缓存可以提供最好的性能。

在共享数据环境中,有可能某些服务器需要访问放在另一个系统中的回写缓存里的数据。遗憾的是,还没有一种好方法用于从系统外部知道是什么块放在了一个系统中的缓存里。因此,几乎不可能从另外一个系统读取和检索缓存中的数据。另外,如果要写数据到另一个服务器的缓存里,则更困难,因为服务器缓存管理软件一般不能提供从一个子系统中更新缓存中的信息的方法。有一些特殊的缓存管理软件可以在同类系统环境中提供这种方法,但是它带来的好处还不足以抵偿更新进程的开销。