SSD在SQLServer中的應用

MaxIE發表於2013-12-23
 
 

一. 首先,回顧一下 SSD 的讀寫特性

 

       (1)有限次數寫;
       (2)隨機讀效能最好;
       (3)順序讀效能好;
       (4)順序寫效能差;
       (5)隨機寫效能最差。
從儲存上來說,SQLServer 不同的內容有其特有的個性。     


下面就TempDB,資料,索引,事務日誌,分別列舉他們各自的特點,分析他們是否適合及如何利用快速存取介質。

 

二. SQLServer 資料庫如何使用快速儲存

1. TempDB

特點:

(1)大量順序寫,隨機寫;
分析:TempDB 大量寫操作的特性,可能會讓SSD很快的被磨損;對可擦寫次數有限的SSD來說,確實不是個好訊息;
(2)如果能提升TempDB的讀寫效能,可以給整個資料庫的執行效率帶來很大的提升;
分析:TempDB 需要使用高速儲存介質。
(3)不需要保證 TempDB 資料的安全,資料在重啟後會自動清除;
分析:由於不用考慮其資料的固化及安全,因此,可以選擇一些快速讀寫但無使用次數限制的介質;
            例如:RamDisk(用記憶體模擬磁碟)

策略:

 

(1)儘量考慮其他高速儲存介質,例如,記憶體,藉助RamDisk技術;
(2)如果用SSD,建議:
         a)單獨使用一塊SSD存放。即便該盤出故障,換塊盤,或修改儲存地址,重啟SQLS,就可以再提供服務;       
         b)TempDB 分檔案,儘量利用SSD的併發特性
                 CPU總核數 < 8  檔案數等於CPU總核數;
                 CPU總核數 >= 8 檔案數等於8;

2. 資料,索引

特點:

 

(1)順序寫
(2)隨機讀
分析:可以利用到SSD的優點

策略:

 

(1)建議使用SSD;
(2)使用檔案組,將資料和索引分開;
(3)建立多個檔案組,資料做分割槽(同樣是想充分利用SSD的IO併發)

 

3. 事務日誌      

特點:

 

(1)離散的連續寫;
(2)一個資料庫只能有一個日誌檔案;
(3)安全性要求高;
分析:雖然是離散的連續寫,但由於有buffer的存在,其實就是連續寫。連續寫式HDD的強項;

 

策略:

 

(1)事務日誌建議使用HDD
(2)如果事務日誌的寫操作有瓶頸,則考慮使用SSD,但必須確保:
        a)使用企業級的SSD,做RAID10;
        b)選擇有寫快取且有斷電保護電路的SSD;

三. 推薦的使用架構

資料庫中儲存的畢竟都是重要的資訊,有人會擔心,萬一哪天人品不好,SSD 資料盤真的出故障了,怎麼辦?

建議,使用讀寫分離的方式。在讀庫中使用SSD。這樣既能保證資料安全,又能有效利用SSD的高效離散讀特性。

 

相關文章