SQL Server 2014新特性探秘(2)-SSD Buffer Pool Extension

來源:互聯網
上載者:User
簡介

    SQL Server 2014中另一個非常好的功能是,可以將SSD虛擬成記憶體的一部分,來供SQL Server資料頁緩衝區使用。通過使用SSD來擴充Buffer-Pool,可以使得大量隨機的IOPS由SSD來承載,從而大量減少對於資料頁的隨機IOPS和PAGE-OUT。

 

SSD AS Buffer Pool

    SSD是固態硬碟,不像傳統的磁碟有磁頭移動的部分,因此隨機讀寫的IOPS遠遠大於傳統的磁碟。將SSD作為Buffer Pool的延伸,就可以以非常低的成本巨量的擴充記憶體。而傳統的模式是記憶體只能容納下熱點資料的一小部分,從而造成比較大的Page-Out,1所示。

圖1.大量隨機的IOPS需要由磁碟陣列所承擔

 

    但如果考慮到將SSD加入電腦的儲存體系,那麼記憶體可以以非常低的成本擴充到約等於熱點資料,不僅僅是提升了效能,還可以減少IO成本,2所示。

圖2.擴充後記憶體幾乎能HOLD所有熱點資料

 

    由圖1和圖2的對比可以看出,擴充後可以使用更便宜的SATA儲存。此外,該特性是透明的,無需應用程式端做任何的改變。

    此外,該特性為了避免資料的丟失,僅僅在作為緩衝區的SSD中儲存Buffer Pool的Clean Page,即使SSD出現問題,也只需要從輔助儲存中Page In頁即可。

    最後,該特性對於NUMA進行了特別最佳化,即使擁有超過8個Socket的系統,CPU也能無障礙的訪問記憶體。

 

啟用BUFFER Pool Extension

    在SQL Server 2014總,啟用Buffer Pool Extension非常簡單,僅僅需要擁有SysAdmin許可權後,輸入一個T-SQL語句即可,3所示。

   

    圖3.啟用Buffer Pool Extension

 

    對應的,我們可以在物理磁碟中看到這個擴充檔案,該檔案的效能和Windows的虛擬記憶體檔案非常類似,4所示。

   

    圖4.對應的Buffer Pool擴充檔案

 

    但這裡值得注意的是,我們啟用的記憶體擴充無法小於實體記憶體或閾值,否則會報錯,5所示。

   

    圖5.報錯資訊

 

    對於該功能,SQL Server引入了一個全新的DMV和在原有的DMV上加了一列,來描述Buffer Pool Extention,6所示。

   

    圖6.引入的新的DMV和對於原有DMV的更新

 

    此外,對於該特性的監控,SQL Server還引入了大量與之相關的計數器,7所示。

   

    圖7.相關計數器

 

小結

    SQL Server Buffer Pool Extension給我們提供了以更低成本來滿足更高企業級需求的可能,結合記憶體資料庫,未來的可能性將無限延伸。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.