揭秘SQL Server 2014有哪些新特性(2)-固態(tài)硬盤 Buffer Pool(緩沖池) 擴(kuò)展
簡介
SQL Server 2014中另一個(gè)非常好的功能是,可以將SSD虛擬成內(nèi)存的一部分,來供SQL Server數(shù)據(jù)頁緩沖區(qū)使用。通過使用SSD來擴(kuò)展Buffer-Pool,可以使得大量隨機(jī)的IOPS由SSD來承載,從而大量減少對于數(shù)據(jù)頁的隨機(jī)IOPS和PAGE-OUT。
SSD AS Buffer Pool
SSD是固態(tài)硬盤,不像傳統(tǒng)的磁盤有磁頭移動(dòng)的部分,因此隨機(jī)讀寫的IOPS遠(yuǎn)遠(yuǎn)大于傳統(tǒng)的磁盤。將SSD作為Buffer Pool的延伸,就可以以非常低的成本巨量的擴(kuò)充內(nèi)存。而傳統(tǒng)的模式是內(nèi)存只能容納下熱點(diǎn)數(shù)據(jù)的一小部分,從而造成比較大的Page-Out,如圖1所示。
圖1.大量隨機(jī)的IOPS需要由磁盤陣列所承擔(dān)
但如果考慮到將SSD加入計(jì)算機(jī)的存儲(chǔ)體系,那么內(nèi)存可以以非常低的成本擴(kuò)展到約等于熱點(diǎn)數(shù)據(jù),不僅僅是提升了性能,還可以減少IO成本,如圖2所示。
圖2.擴(kuò)展后內(nèi)存幾乎能HOLD所有熱點(diǎn)數(shù)據(jù)
由圖1和圖2的對比可以看出,擴(kuò)展后可以使用更便宜的SATA存儲(chǔ)。此外,該特性是透明的,無需應(yīng)用程序端做任何的改變。
此外,該特性為了避免數(shù)據(jù)的丟失,僅僅在作為緩沖區(qū)的SSD中存儲(chǔ)Buffer Pool的Clean Page,即使SSD出現(xiàn)問題,也只需要從輔助存儲(chǔ)中Page In頁即可。
最后,該特性對于NUMA進(jìn)行了特別優(yōu)化,即使擁有超過8個(gè)Socket的系統(tǒng),CPU也能無障礙的訪問內(nèi)存。
啟用BUFFER Pool Extension
在SQL Server 2014總,啟用Buffer Pool Extension非常簡單,僅僅需要擁有SysAdmin權(quán)限后,輸入一個(gè)T-SQL語句即可,如圖3所示。
圖3.啟用Buffer Pool Extension
對應(yīng)的,我們可以在物理磁盤中看到這個(gè)擴(kuò)展文件,該文件的性能和Windows的虛擬內(nèi)存文件非常類似,如圖4所示。
圖4.對應(yīng)的Buffer Pool擴(kuò)展文件
但這里值得注意的是,我們啟用的內(nèi)存擴(kuò)展無法小于物理內(nèi)存或閾值,否則會(huì)報(bào)錯(cuò),如圖5所示。
圖5.報(bào)錯(cuò)信息
對于該功能,SQL Server引入了一個(gè)全新的DMV和在原有的DMV上加了一列,來描述Buffer Pool Extention,如圖6所示。
圖6.引入的新的DMV和對于原有DMV的更新
此外,對于該特性的監(jiān)控,SQL Server還引入了大量與之相關(guān)的計(jì)數(shù)器,如圖7所示。
圖7.相關(guān)計(jì)數(shù)器
小結(jié)
SQL Server Buffer Pool Extension給我們提供了以更低成本來滿足更高企業(yè)級需求的可能,結(jié)合內(nèi)存數(shù)據(jù)庫,未來的可能性將無限延伸。
相關(guān)文章
sqlserver主鍵設(shè)計(jì)的注意點(diǎn)
在數(shù)據(jù)庫設(shè)計(jì)中,主鍵用于惟一地標(biāo)識表中的某一條記錄2012-07-07利用腳本自動(dòng)安裝SQLServer的實(shí)現(xiàn)步驟分析
在工作中,經(jīng)常被要求一天安裝個(gè)10臺、8臺的SQL Server。2010-11-11mybatis collection 多條件查詢的實(shí)現(xiàn)方法
這篇文章主要介紹了mybatis collection 多條件查詢的實(shí)現(xiàn)方法的相關(guān)資料,希望通過本文能幫助到大家,需要的朋友可以參考下2017-10-10SQLServer 2012中設(shè)置AlwaysOn解決網(wǎng)絡(luò)抖動(dòng)導(dǎo)致的提交延遲問題
這篇文章主要介紹了SQLServer 2012中設(shè)置AlwaysOn解決網(wǎng)絡(luò)抖動(dòng)導(dǎo)致的提交延遲問題,需要的朋友可以參考下2015-02-02SQL Server數(shù)字開頭的數(shù)據(jù)庫表名的解決方法
這篇文章主要介紹了SQL Server數(shù)字開頭的數(shù)據(jù)庫表名的解決方法,需要的朋友可以參考下2015-11-11c#連接數(shù)據(jù)庫及sql2005遠(yuǎn)程連接的方法
這篇文章主要介紹了c#連接sql數(shù)據(jù)庫及sql2005遠(yuǎn)程連接的方法,大家參考使用吧2014-01-01