數據庫應用由於具體類型和規模的不同,對服務器的性能要求也不一樣。由於承載著企業數據存儲與計算任務,因而高性能、高穩定性都是其最主要的需求。但是另一方面,服務器的安全性、可擴展性和客觀理性也是用戶在選購時要考慮的因素。那麼具體到數據庫服務器的核心——CPU在選型時又有哪些需要注意的呢?
1) 超強計算性能滿足業務需求與成長
傳統X86處理器由於架構和原理上的差異,因此在面對並行計算需求強,浮點運算和大規模數據庫時的性能往往不能與RISC架構處理器相比。除了這些對處理器架構有所依賴的“硬指標”之外,數據庫應用往往還需要多核處理器在互聯上以及內存訪問上擁有較高的帶寬——因為其數據吞吐量大,計算隨機性和突發性大。這也是x86處理器長期以來的軟肋。
此外,用戶在選購服務器時往往還會考慮未來的可擴展性,尤其是處理器方面。傳統的x86處理器很難直接支持4路以上的擴展,因此在數據庫業務拓展上存在瓶頸。
但近幾年x86處理器性能提升很快,尤其是英特爾Tick-Tock戰略推出之後,x86處理器以一年架構、一年工藝的速度飛快發展,與RISC處理器的性能差距越來越小,在某些方面甚至超越了RISC。
英特爾最新發布的至強7500系列處理器,不但可以支持2路到最高256路服務器的拓展,滿足業務拓展,此外還通過強大的Nehalem-EX架構使其在計算性能上不弱於當今主流RISC處理器,為數據庫應用開辟了新路。
上一代至強7400相比,至強7500采用8核(高端版本)封裝,加上超線程技術(HT),一舉將邏輯計算線程提升到了16條,數據庫並行處理能力大大增加。據英特爾官方數據,處理器在數據方面的計算性能是上一代的2.5倍,而其中最顯著的功效來源於4條QPI直連總線帶來的超快通訊速度(可到6.4GT/s,遠非以往FSB總線所能企及)、超大的L3緩存(多達24MB)和9倍於前的內存帶寬(四通道DDR3)。
這一系列技術使得至強7500成為目前最強的x86處理器,足以輕松應對現有數據庫應用的升級,並獲得較高的整合效率。在專業針對數據庫應用的TCP-E測試中(詳見:至強7500橫空出世 TCP-E數據庫測試名列榜首),采用了至強7500系列處理器的NEC和IBM服務器分別獲得了前兩名,足見其性能之強悍。
2) 保證可靠性是x86處理器的必修課
但是另一個擺在我們面前的問題是處理器的可靠性問題。眾所周之,企業中的數據庫作為支撐前台業務的核心,其可靠性要保證在99.9%以上。而與RISC平台相比,x86處理器由於計算原理所限,在計算可靠性和精確性上有天然缺陷。也因此,關鍵業務領域一直以來都選用的是RISC平台,而x86平台被看做是不穩定、不可靠的通用計算平台。
在數據庫規模日趨龐大的今天,很多企業在猶豫是保有原來的x86平台數據庫,承擔可能的風險;還是遷移到RISC小型機上,承擔一大筆成本。實際上,這類矛盾和擔憂一直存在於關鍵業務領域在x86平台和RISC平台的博弈中。甚至有DBA在采訪中稱:“性能高、穩定性又能與小型機媲美,我當然會選擇相對靈活的x86平台,因為成本要少很多。”
可見,x86平台的開源和低成本是吸引數據庫用戶部署的主要因素。另一方面,x86處理器在說服數據庫用戶時,迫切需要提高的就是可靠性。
傳統上來說,RISC+UNIX比x86+Linux或Windows更穩定。RISC服務器在硬件架構設計上與X86服務器有很大的差別,使用了非常多的冗余技術和高可用技術,因此可靠性較高,當然成本也更高。X86服務器的硬件質量水平參差不齊,有高有低,硬件做工上稍差。不過,X86服務器——尤其是X86處理器與RISC處理器的可靠性比拼上,也在不斷進步。
在至強7500的正式說明文檔中,提到的RAS特性就有22條之多,集中解決三個方面的問題:一是數據保護,利用CRC、ECC等硬件機制來對傳輸的數據進行校驗、糾錯,如果無法糾正,就將損壞的數據進行隔離,以保證不造成更大的數據,避免系統的重啟和宕機。
二是高可用性,包括各種主要部件的備、鏡像和熱切換等,以保證系統的高可用性。
三是計劃宕機時間最小化,包括系統分區管理技術、CPU和內存的熱添加和熱移除等,將系統維護時間降低到最小。
這些特性形成了一個完整的MCA架構(Machine Check Architecture),可以在不關機的情況下檢查和糾正處理器、內存或者IO中的錯誤,在OS配合的情況可以對系統進行熱維護,保障系統的不間斷運行。據了解,原先只在IA64架構處理器上才有MCA功能;而系統方面,包括微軟Windows Server、RedHat、SUSELinux以及VMware等平台都已經支持這一功能。
3) 從采購到運營 強勢生態造就低成本
如果說以前企業在考慮購買數據庫服務器時,考慮的僅僅是性能足夠。那麼今天的企業IT部門在部署數據庫服務器時,更多考慮的是其性能是否適用於未來業務的拓展。
從性價比來看,至強7500由於性能相比上一代產品提升2.5倍(數據庫應用),因此在同樣規模的業務量下,部署數量也相應要較少2倍多。而售價上至強7500只上升了約10%,這筆帳想必買家都會計算。但是如前文分析,設備的淘汰和折舊,產品生命周期,能否適應業務的升級,是現在用戶更加關注的問題。在未來數據庫規模拓展,需要更多計算量的時候,至強7500提供了兩種選擇:一種是無縫升級到更多內核的處理器;另一種是拓展成多路服務器系統。
前文已經說過,至強7500支持2路到最高256路的多路服務器系統,其中8路以下拓展不需要第三方節電控制器的支持。拓展之後的性能,也因為QPI總線的內部互聯而徹底解除了瓶頸。
此外,至強7500系列處理器支持多達16條DIMM內存插槽。在Dell新推出的至強7500服務器中,創造性的采用Flex Memory Bridge技術,使得一個四路服務器在僅插兩個處理器的情況下,每個處理器可以使用另外沒插處理器的8條DIMM內存插槽(每個處理器標配了8個DIMM內存插槽),也就是兩個處理器可以用全服務器內的32條內存插槽(請自行理解)。這給了用戶極大的靈活性——有的用戶數據庫規模大,運算量卻並不大,因而僅需要內存多,而並不需要插滿四個處理器。
另一方面,受去年金融危機的影響,IT業界普遍認為未來的IT系統應更加注重能效比(有數據稱數據中心兩年的電費等於采購成本)。至強7500相比上一代處理器平均性能提升了3倍,而功耗在95W~130W之間,因此可以說“在性能相同的情況下,電費僅為過去的1/3”。
與小型機相比,至強7500的x86生態環境更加開放,支持Linux、Windows、Solaris等多種操作系統。此外,由於x86平台軟件廠商眾多,支持的應用軟件數量遠遠多於RISC+UNIX,因此可以更加靈活地適應各種環境變化,數據庫遷移相對容易。
從整個產業的發展來看,X86服務器有廣泛的生態系統,各種軟硬件廠商數量眾多,用戶甚礎也相當龐大,整個產業有強大在的生命力。而RISC小型機的廠商各自為戰,IBM、HP、Sun自成一家,硬件和操作系統都相對封閉很多,因此生命力不如X86。而基於以上三大方面的考慮,RISC平台在傳統數據庫領域的性能優勢、可靠性優勢和可拓展性優勢仍然存在,但在以至強7500為首的x86處理器的沖擊下,差距正逐漸縮小。我們相信,在x86和RISC平台的爭奪與發展中,受益的永遠是用戶。