一.概述 作為應用系統的持久化層,不管資料庫採取了什麼樣的Cache機制,資料庫最終總是要將數據儲存到可以長久保存的I/O設備磁碟上。但磁碟的存取速度顯然要比cpu,ram的速度慢很多。因此,對於比較大的資料庫,磁碟I/0 一般總會總為資料庫的一個性能瓶頸。 ram:又稱作“隨機存儲器”,是與CPU ...
一.概述
作為應用系統的持久化層,不管資料庫採取了什麼樣的Cache機制,資料庫最終總是要將數據儲存到可以長久保存的I/O設備磁碟上。但磁碟的存取速度顯然要比cpu,ram的速度慢很多。因此,對於比較大的資料庫,磁碟I/0 一般總會總為資料庫的一個性能瓶頸。
ram:又稱作“隨機存儲器”,是與CPU直接交換數據的內部存儲器,也叫主存(記憶體)。它可以隨時讀寫,而且速度很快,通常作為操作系統或其他正在運行中的程式的臨時數據存儲媒介。
我們章節前面提到的sql優化,資料庫對象優化,資料庫參數優化,以及應用程式優化等。大部分都是想通過減少或延緩磁碟讀寫來減輕磁碟I/O的壓力及對性能的影響。本章從硬體方面出發,描述下磁碟陳列(RAID),從等更底層的方面來介紹提高磁碟I/O能力。
二 .磁碟陣列
RAID是 Redundant array of inexpensive disks的縮寫,通常叫磁碟陣列。 RAID就是按照一定策略將數據分佈到若幹物理磁碟上,這樣不僅增強了數據存儲的可靠性,而且可以提高數據讀寫的整體性能,因為能過分佈實現了數據的"並行"讀寫。
常見的RAID級別比較如下圖所示:
2.1 如何選擇RAID級別
瞭解各種RAID級別的特性後,我們就可以根據數據讀寫的特點,可靠性要求,以及投資預算等來選擇合適的RAID級別比如:
(1) 數據讀寫都很頻繁,可靠性要求也很高,最好選擇RAID 10。
(2) 數據讀很頻繁,寫相對較少,對可靠性有一定要求,可以選擇RAID 5。
(3) 數據讀寫都很頻繁,可靠性要求也很不高,最好選擇RAID 0。
2.3 軟RAID和硬 RAID
最初,RAID都是由硬體實現的,要使用RAID,至少需要有一個RAID卡。現在一些操作系統中提供的軟體包,也模擬實現了一些RAID特性,雖然性能上不如硬RAID,但相比單個磁碟,性能和可靠性都有改善。
RAID卡如下圖所示:
關於軟RAID,這篇中有介紹:
轉載來源 Windows Server 2008 R2做軟RAID實戰文章
總結:現在公司一般都是用硬RAID。以我們公司來說是用RAID 10,也就是RAID 1+ RAID 0組合。