使用SafePeak動態數據庫緩存提升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