程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> DB2數據庫 >> DB2教程 >> 透過世博分析DB2數據庫服務器選型

透過世博分析DB2數據庫服務器選型

編輯:DB2教程

本文從數據處理能力、可靠性和投資成本幾個方面來分析DB2數據庫對服務器的具體要求,為您揭示DB2服務器選型的關鍵因素,供您參考。

2010年上海世博會即將於5月正式揭開它的神秘面紗,從世博會的信息化通氣會上了解到,負責世博會預約服務管理系統的是長江計算機公司。該公司以 Windows Server操作系統+DB2數據庫作平台,力求穩妥高效的解決世博會開幕前龐大的票務和各種預約服務的IT系統壓力。

我們就DB2數據庫服務器的選型,從數據處理能力、可靠性和投資成本幾個方面來分析DB2數據庫對服務器的具體要求,並結合即將到來的世博會案例,揭秘其選型的關鍵所在。

什麼是DB2數據庫?

DB2數據庫是IBM研制的一種關系型數據庫系統,憑借優秀的可伸縮性、良好的大規模並行特性廣泛應用於大型數據庫系統。由於采用了數據分級技術,能夠使集群內的數據很方便的下載到本地LAN數據庫服務器,銜接了客戶機/服務器用戶對數據庫集群的訪問,使數據庫本地化和遠程連接盡可能的透明。也因此,從大型集群到單用戶環境,包括Linux、OS/2和Windows平台,DB2都有一席之地。

從DBA(數據庫管理員,英文是Database Administrator,簡稱DBA)的角度來看,DB2定位於高層次的數據利用性、完整性、安全性和可恢復性。從小規模到大規模的數據庫應用均可以流暢的運行在DB2上——這一點需要特別說明,傳統SQL數據庫在並行調用到一定規模之後,數據庫性能會有較大的下滑——而DB2恰恰在設計之初就是為了解決這類問題。

2006年IBM發布了DB2的第九個版本,其最大的特點就是率先實現了可擴展標記語言(XML)和關系數據間的無縫交互,而無需考慮數據的格式、平台或數據庫位置。可以說,DB2 9是一款劃時代的數據庫產品,它結合了關系型數據庫和層次型數據庫二者的特點,從而成為了混合型數據庫——各種DBMS特性仍然存在的同時,能夠非常好的支持XML數據。

DB2 9對服務器選型是一個考驗

基於以上兩種特性的DB2 9對服務器選型來說明顯是一個考驗。首先,關系型數據庫對計算並行性有較高要求,由於關系索引需要在各分支關系樹中以盡可能快的速度進行,因此在並行計算的同時也對計算速度(主頻等)有嚴格的要求——某一子進程返回結果造成的延遲會影響整個數據庫的性能。另一方面,層次型數據庫在逐層遞歸索引時,容易對服務器I/O造成巨大壓力。以往DBA們在處理典型的層次型數據庫時,通常采用增大服務器內存的方式,以保證一次性載入足夠多的數據,以消減服務器內部I /O瓶頸,但處理器對內存的訪問又成為掣肘的關鍵。

由於DB2更適用於企業級海量數據庫的部署,因此上述兩類對計算能力和內存響應的要求均只是性能層面的;真正困擾企業DBA的是如何保證數據庫的可靠性和穩定性。分布式數據庫配合龐大的集群固然可以保證業務的連續性,但其數據中心規模所帶來的運營成本在今天也成了企業IT部門的心病——據IDC調查,每花1美元采購數據中心設備,就將增添8美元的運營成本(還不包括電費)。因此,如何能夠在滿足性能和穩定性的前提下,盡可能的減少DB2數據庫硬件的假設成本,才是目前企業所面臨的核心問題。

兼顧計算與I/O性能 至強7500助力DB2

可以看出,DB2數據庫對服務器的苛刻要求讓DBA們難以選擇合適的解決方案:既要並行計算能力強大,其主頻(不能過低)還要能把保證單線程計算強度,此外還需要“內存敏感”,以使得I/O方面沒有瓶頸。

讓我們先來看看以往的解決方案:首先是RISC架構小型機。IBM Power系列處理器一貫以來都走著高主頻路線,然而其Power 6系列處理器區區4個核心在並行計算上顯得有些不足。而另一大RISC旗幟SPARC系列處理器,倒是走了多核心路線,但為了維持功耗而犧牲主頻的做法使得SPARC處理器在“主頻敏感”型計算中處於劣勢。

按照傳統的做法,DBA們只有承受昂貴的投資,接受“小型機集群”以彌補處理器造成的短板。而x86平台雖然價格便宜,但以往在並行計算性能以及可靠性上很難滿足DBA的需求。直到去年至強5500系列處理器發布,憑借Nehalem架構強悍的並行能力和優異的內存控制一舉在雙路領域贏得DBA們的青睐,而今年發布的至強5600更是以32nm六核12線程的超強性能接替至強5500為雙路至四路的數據庫服務器提供了充分的升級空間。

但是在四路以上的大型企業級應用領域呢?3月底,英特爾發布了至強7500系列處理器,憑借8核16線程的強悍並行能力以及優秀的4通道DDR3內存控制器橫掃x86平台——為八路及以上服務器帶來“革命性”的性能提升。據官方數據表示,至強7500的內存帶寬比至強7400高9倍,運行數據庫程序時的性能則是後者的2.5倍,整數運算性能為至強7400的1.7倍,浮點運算性能則是至強7400的2.2倍。而且,由於使用了4個QPI接口,讓服務器廠商無須借助其他控制器芯片,就可以擴展到8路服務器。

從前面分析的兩大需求來看,至強7500的並行計算性能已然是目前x86平台最高產品,而單核計算性能畢竟和主頻掛鉤。至強7500的主頻在 2.26GHz,在筆者的DBA朋友中有質疑的,認為這主頻並不高,比一些動辄3GHz以上的主頻要低。但是要知道,至強7500有英特爾Turbo Boost睿頻技術,可以根據工作負載,動態的提升主頻10%左右——甚至可以關閉其他低負載內核,將單核主頻提升至4GHz以上。筆者的DBA朋友在聽到解釋後也為之驚訝:“這也太聰明了吧。”英特爾所提倡的“智能計算”理念中的重要一環就是處理器能動態調節工作狀態。

另一方面,對於DB2數據庫的“內存敏感型”需求(比如前文提到的層次型數據庫)來說,至強7500擁有無與倫比的優勢——四通道DDR3內存的支持以及四條QPI帶來的6.4GT/s極限內部互聯速率。對於CPU來說,還有一個重要的I/O瓶頸,就是CPU內部的高速緩存。

簡單說明一下,CPU讀取數據時,先從高速緩存中索引,如果搜索到相關數據就可以很快返回給CPU計算。如果沒有需要的數據,就會去內存中索引,也因此我們經常會認為加大系統內存,同時提高系統內存的帶寬(也就是訪問內存的速度)可以提升性能。那麼,從本源上看,如果提升CPU緩存不是更有效麼。是的,但是成本太高,而且CPU內寸土寸金,受制於工藝制程也不可能集成太多(上一代至強7400二級緩存9MB,三級緩存16MB),如今的至強7500 憑借45納米工藝集成了16MB二級緩存和24兆三級緩存,也就提升了CPU在內部索引數據的成功率,大幅度提升了I/O水平——這種效率是疊加的(請自行理解)。

可以看出,盡管DB2數據庫對服務器要求很高,尤其是CPU方面,在計算性能和內存I/O方面對處理器要求可以說很苛刻。而至強7500通過睿頻和超線程技術解決了DB2數據庫對CPU主頻和並行能力的雙重要求,並以強悍的內存支持和超大緩存將系統I/O延伸到一個新的高度。最後要提一下DBA們關注的可靠性問題,至強7500首次引入了多達22條的RAS特性,所構建的MCA架構大大保證了數據庫服務器系統的可靠性。

從成本上看,x86平台低廉的價格和強大的生態環境支持使企業在部署DB2數據庫時的成本投資相對要少很多。而從運營維護上來看,至強7500的性能遠超以往的x86處理器,可以實現更多路整合,也就變相節約了投入和電費。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved