InfoQ

InfoQ

新闻

我的书签

登录注册 以永久保存书签。

该内容已经被标记书签!

标记书签错误,请重试!

使用SafePeak动态数据库缓存提升SQL Server的性能

作者 Roopesh Shenoy 译者 侯伯薇 发布于 2011年11月9日

领域
运维 & 基础架构
主题
SQL Server ,
关系型数据库 ,
微软 ,
性能和可伸缩性 ,
数据库

SafePeak是一种即插即用的动态数据库缓存解决方案(Dynamic Database Caching Solution),它的设计初衷是要为构建在SQL Server上的应用程序提升数据访问性能。它会动态地缓存内存中的结果集,从而减轻执行“Select”操作的查询和存储过程的负载,进而减少读取操作的反应时间以及总体上的数据库负载。

SafePeak位于应用程序和数据库、服务器之间,因此所有对数据库的调用都会经过它。它会在RAM中按照原样保存数据库返回的结果集。当曾经执行过的查询或者带有相同参数的存储过程经过SafePeak的时候,它就会在几毫秒之内从RAM中返回结果,而不会把查询发送给数据库。SafePeak会使用流量分析识别出可重复出现的查询,从而受益于缓存机制。

 

当数据无效的时候,缓存就会得到更新——所有数据库查询,而不仅仅是读取查询会通过SafePeak到达SQL Server,SafePeak会分析用于数据更新事件的T-SQL语句,然后刷新相关的缓存记录。由于SafePeak无法发现所有数据修改,而那肯定会破坏缓存的正确性,因此新版本的SafePeak还包含了一项叫做登录触发器(logon trigger)的特性,它会在有人直接连接SQL Server的时候通知SafePeak,然后在需要的时候刷新所有缓存。

以下是之前的SQL Server MVP、现在微软的技术布道师Pinal Dave所说的

尽管特定的环境肯定会受益于SafePeak,像选择操作量大(high SELECTivity)和加强了读取操作(read-intensive)的数据库,但它是为OLTP应用程序设计的。看起来使用SafePeak能够获得最大速度提升的环境是电子商务、云和托管的应用程序、大型SharePoint和CRM Dynamics实现、ERP和CRM应用程序。

Pinal已经针对SafePeak的各种特性撰写了多篇博文。你还可以在厂商的站点上阅读到更多关于SafePeak架构的内容。

查看英文原文:Accelerate SQL Server Performance With SafePeak’s Dynamic Database Caching

译者 侯伯薇 是InfoQ中文站架构社区编辑,有多年对日和国内项目开发经验,目前关注企业中技术与实际业务之间的融合和协作。

memcache? 发表人 小 忙人 发表于
  1. 返回顶部

    memcache?

    发表人 小 忙人

    这可以算是微软版的memcache吗?