缓存Microsoft SQL Server中的问题

时间:2011-02-06 10:41:37

标签: sql-server memcached

我想知道如何配置Microsoft SQL Server以下列方式工作:

  • 所有数据库写入都是“后写”,所有查询主要在RAM缓存中运行(速度),即它在后台休闲时将数据保存到硬盘驱动器。

原因?速度。我们假设底层机器(它是Amazon EC2实例)的可靠性为99.99%,因此我们不介意缓存RAM中的所有数据(即使出现故障,我们也可以自己重建数据库,无论如何都是从第三方数据源)。

例如:

  • 用户1将数据包X写入数据库。
  • 用户2在2毫秒后查询相同的数据包X。
  • 用户2应该看到数据包X,因为SQL将直接从其RAM缓存中提供服务(即使数据包X没有持久存储到硬盘驱动器中)。
  • 数据包X将在闲暇时保留在硬盘上,可能需要500分钟。

1 个答案:

答案 0 :(得分:3)

如果您有大量内存并且在SQL Server实例中设置了较高的内存设置,那么SQL将尝试最大化其使用。

Checkpoint进程强制将脏页写入磁盘(自动发生但可以强制执行),因此您可能希望阅读以下内容。 http://msdn.microsoft.com/en-us/library/ms188748.aspx

这个主题非常复杂,可以通过您使用的硬件和解决方案来实现。例如,虚拟化带来了一大堆其他考虑因素。