當確定有升級的必要性、決定要佈署SQL Server 2005後,企業就會面對一個最根本的問題:是否可在既有系統上升級?如果現有系統有所不足,是否還有升級的空間?如果現有系統已經不堪負荷,那又該如何選購最適合的伺服器與儲存系統?

由於資料庫有著無數種不同的應用,就算是使用免費的Express版本,也難保不會有人拿去作高負載的應用,基本上,這就是所謂「一百個人就會有一百零一種答案」的問題,不可能有放諸天下而皆準的答案。不過,還是有不少概念性的原則,值得作為企業採購前的重要參考。

如何從既有的系統升級?

理所當然的,為了節省開支,每家正在使用SQL Server 2000企業,都希望可延用現有的硬體資源,將資料庫升級至SQL Server 2005。但因SQL Server 2005和SQL Server 2000在架構及功能上有著根本性的差異,升級現有的伺服器與儲存系統乃勢在必行。

1.增加記憶體容量

相較於五年前的SQL Server 2000,SQL Server 2005所新增的大量功能,雖然簡化了管理維護的工作,整合.NET CLR(Common Language Runtime)也開闢了嶄新的資料庫開發途徑,但天下沒有白吃的午餐,這些新功能都大幅增加了記憶體的使用量。如果採用64位元系統,記憶體需求量更會水漲船高。所以如果還有升級的空間,建議增加既有伺服器的記憶體容量。不過,就算伺服器並未支援64位元,我們還是建議記憶體容量多多益善,只是千萬別忘了開啟PAE-36延伸定址模式,以免白白浪費記憶體。

2.盡量使用64位元版本

除非因預算不足,被迫採用免費的Express版本或Workgroup版本,如果伺服器已經採用64位元處理器,請盡量使用支援64位元的Standard與Enterprise版本,以充分發揮64位元的威力,尤其是越大型的資料庫。

此外,值得注意的是,既有的16位元及真實模式(Real Mode)應用程式,像會真正對映記憶體位址的API、如前述的AWE,都無法在64位元環境中使用。雖然在今日這些應用程式已經少之又少,但企業在轉移至64位元之前,仍需注意是否繼續使用這些類型的應用程式,或者是透過虛擬機器來延續這些應用程式的壽命,以避免造成系統轉移上的困難。

3.考慮外接式儲存系統

SQL Server 2005所提供的諸多新功能(如簡單易用的資料庫快照備份),以及全新的資料結構等,都大幅增加了儲存空間的需求。如果企業過去並未採用外接式儲存系統,而現有伺服器又缺乏足夠的硬碟擴充空間與高效能的RAID卡,建議改用SAN之類的外接式儲存系統,以改進儲存系統的效率。

如何採購全新的系統?

如果現有硬體已過於老舊,或著是全新建置採用SQL Server的系統,自然就會有節然不同的考量。

1.直接採用64位元系統

現在64位元已經成為所有x86伺服器處理器的標準功能,如果預算充足,建議直接採用64位元SQL Server 2005。就算預算有限,只能採用不支援64位元的Workgroup版本,我們也建議作業系統採用64位元版本,以改善伺服器記憶體的效率,因為伺服器上不見得只會跑SQL Server,也可能包含其他的伺服器應用程式。

相關文章

全面解析SQL Server 2005(下)
探索SQL Server 2005的最大潛能
SQL Server效能大評比

全面解析SQL Server 2005(上)
扛起企業重資料,SQL Server 2005邁進企業級資料庫
開發篇-當SQL遇上.NET
管理篇-SQL Server 2005管理新世界2.盡量使用雙核心處理器

由於SQL Server 2005的處理器計費方式是按照實體處理器(Per Socket)來計算,而非處理器核心數目(Per Core),所以如果預算充足,想要保留供日後其他用途的運算效能,採用雙核心處理器是比較好的選擇。當然,先決條件就是:伺服器上其他的應用程式,也都是採取一樣的計費方法,以免造成問題。

3.注意系統所支援的記憶體容量上限

如果需要安裝高容量的記憶體,就必須先注意處理器或系統晶片組所支援的記憶體容量上限。以Xeon DP為例,除了處理器僅支援36位元實體定址線、最多只能定址到64GB的記憶體空間,而且目前的「Lindenhurst」E7520/E7320晶片組僅支援到32GB,明年第一季推出的「Bensley」平臺也不會突破64GB。

另外,就算是全系列提供40位元定址線的Opteron處理器,2路系統最多也僅能安裝64GB,而且這類產品並不多見。換言之,如果需要64GB以上的記憶體,就必須採用4路的Xeon MP或Opteron 800系統,或著是更高階的Itanium伺服器。

4.設法改善記憶體的效能

資料庫本質上是一種記憶體多多益善的應用,但安裝高容量的記憶體是一回事,要如何選擇支援高頻寬、低延遲記憶體的伺服器,那又是另一回事。就算透過高容量的記憶體減少磁碟I/O的負面影響,記憶體的效率依舊遠遜於處理器,記憶體的存取延遲依舊是資料庫效能的一大瓶頸。企業在選擇伺服器時,可以仔細比較所採用的系統晶片組規格,是否提供高頻寬、低延遲的高效能記憶體系統,或著是選擇處理器直接內建記憶體控制器的機種,以改善資料庫的效能。

處理器的快取容量、記憶體管理單元(MMU)與虛擬/實體位址轉換緩衝器(TLB)更是對效能有著舉足輕重的影響。快取越大,越可以降低記憶體頻寬不足的影響;MMU的設計越有效率,記憶體管理參數的載入效率就越高;TLB的登錄數量越大,更可以加速記憶體虛擬位址與實體位址的轉換動作,改善多工環境下記憶體的存取效率。這些細節資訊都可從處理器廠商所提供的技術規格中取得,值得作為採購前的重要參考。

5.不可忽略記憶體的可靠性

記憶體資料可靠性則是另一個容易被企業所忽略的問題。近年來,有一個潛在的難題一直困擾電子設備製造商,那就是所謂的「軟錯誤」(Soft Error)。有別於硬體損壞的「硬錯誤」(Hard Error),軟錯誤造成的主因,主要是構成地球低強度背景輻射的帶電粒子所引起,這些帶電粒子有可能來自宇宙射線,也有可能來自大多數材料中的微量放射性元素,這些都可能會干擾利用粒子工作的晶片以及電子設備,尤其是半導體元件。如果帶電粒子撞擊儲存單元導致位元翻轉,就會造成資料錯誤。

另外,由於半導體製程技術一日千里,記憶體晶片的密度越來越高,而且為了追求更高的效能,也有更高的運作時脈,換言之,記憶體發生軟錯誤的機率隨著技術的發展而持續成長。為何伺服器廠商都會如此重視記憶體資料可靠性?答案很簡單,因為這問題的確越來越嚴重,而且難以預防及偵測,而且由於傳統的記憶體測試程式很難去偵測出可能發生的軟錯誤,就算問題發生了,依然難以察覺。讀者可以想像一個極端的狀況:假設在銀行的交易系統中,一個由64位元長整數所表示的巨額款項,發生正負號顛倒,將會是多麼嚴重的事情?

所以在高容量記憶體的背後,企業更應該重視伺服器所支援的記憶體資料可靠性功能,如ChipKill、記憶體鏡像備份、記憶體模組熱備援等,以確保企業資料庫的安全性。

6.建議採用SAN儲存系統

SAN儲存系統的價格已經大幅下滑,對於企業而且並非高不可攀,甚至最近還出現「1埠1萬元」的4Gb FC SAN入門級交換器。基於效能的考量、資料的可靠性以及日後擴充的彈性,如果預算充足,資料庫規模又大,我們建議盡量採用SAN儲存系統。

不過,這並不代表所有的企業就非得花大錢去建置SAN儲存系統不可,近期2.5吋SAS/SATA硬碟的普及,使得較小型的伺服器也有安裝大型磁碟陣列的機會。但如果要採用伺服器內建的硬碟儲存系統,就必須重視磁碟陣列控制卡的效能,尤其不少伺服器所內建的RAID控制器,效能不見得理想,這時候就需要另外選購更高階的RAID控制卡,尤其是內建高達256MB快取記憶體的高階產品。文⊙劉人豪

相關文章

全面解析SQL Server 2005(下)
探索SQL Server 2005的最大潛能
SQL Server效能大評比

全面解析SQL Server 2005(上)
扛起企業重資料,SQL Server 2005邁進企業級資料庫
開發篇-當SQL遇上.NET
管理篇-SQL Server 2005管理新世界

熱門新聞

Advertisement