面對大數據處理挑戰需提升服務器性能
據IDC預測,未來十年全球大數據將增加50倍。而僅在2011年,全球就產生了1.8ZB(也即1.8萬億GB)的大數據。毫無疑問,大數據將挑戰企業的存儲架構及數據中心基礎設施等,也會引發云計算、數據倉庫、數據挖掘、商業智能等應用的連鎖反應。
大數據引發三重挑戰
具體到企業而言,其面臨的最直接的挑戰就是企業的基礎架構是否適應大數據管理和分析的需要,尤其是一旦要從大數據中查找或者分析出有價值的信息,那大數據的處理效率就成為了關鍵。而即使是傳統的結構化數據,其對處理速度的要求也越來越高。以銀行業為例,伴隨著銀行網點、ATM機的多點布局,再加上越來越多的新興業務轉移到互聯網上,使得銀行不得不面對無時無刻無處不在的數據處理響應需求。
影響數據處理速度的因素很多,歸結起來主要有計算、存儲和網絡三大方面的因素。計算依靠服務器來實現,其CPU的主頻、內存的容量和I/O帶寬,都會影響到運算速度。尤其是服務器整體表現出來的性能,將會是影響大數據處理的關鍵因素。此外,有些企業喜歡采用x86集群或者分布式計算來對大數據進行處理,但是各個計算節點間的調用和處理器使用效率,亦成為影響數據處理快慢的因素。
存儲方面,傳統的存儲系統已經成為數據庫處理的瓶頸,這些制約因素包括存儲系統到數據庫的帶寬限制、存儲陣列的內部瓶頸等。數據帶寬已經嚴重地限制了數據庫的性能,而隨機I/O的瓶頸限制了OLTP(聯機事務處理)應用的性能。網絡帶寬涵蓋了服務器和存儲系統間的帶寬、終端和主機間的帶寬。假如采用集群或分布式系統,還需要考慮節點之間的帶寬。
大型數據庫開啟效率之旅
除了上述三個因素外,許多企業基于歷史發展的原因,還會創建多個數據庫。它們經常采用不同的平臺,使用不同的軟件,造成了數據處理和管理效率的低下。
這些數據庫通常包含與其它數據庫相重復的數據。一個數據庫一般不會將另一個數據庫作為數據源。這樣就會消耗額外的磁盤存儲,增加重復數據遷移所需要的網絡帶寬,也會因從多個數據存儲獲取相同數據的需要而額外增加服務器CPU處理的負荷。
同時,假如企業擁有多個數據庫的話,那么他們通常會將它們部署在不同的平臺上,針對不同的硬件平臺采用不同的維護方法。這樣需要維護不同品牌和模型的服務器數量越多,成本就越高。如果是關鍵任務服務器,那么提供冗余性的硬件就會重復,這也會增加額外的成本。
此外,企業還不得不面對運營效率低下的問題。假如在多個服務器上運行多個數據庫系統,那么有一些運營成本需要考慮,包括培訓多個系統的人員、監控多個系統、修復多個平臺的故障、修補和更新多個系統。而在統一的操作系統和硬件平臺上運行一個系統會更簡單一些,成本也更低。另外,監控和故障修復也更加簡單。
在一些情況中,數據規模直接決定了系統規模。大容量數據需要組織起來進行處理才會產生價值。如果將整個企業的信息整合為一個統一且安全的整體,那么許多企業都將獲益更多。因而雖然單個大型數據庫系統的初始成本高于一般數據庫,但是對于長期運營而言,更加劃算。而且單個數據庫系統可以根據當前需求調整規模,在有需要時增加容量,從而使整個系統處于高效率的運行狀態。
內存計算化繁為簡
值得一提的是,近年來許多數據庫廠商大力發展的內存計算技術,同樣對數據處理速度的提升起到了很大的作用。
內存計算的主要用途之一是龐大的數據集的實時操作。在傳統的數據庫中,數據存在硬盤上。數據和服務器的CPU,通過有線連接,所以數據要到達的“桌面”是緩慢和遙遠的,當需要十億字節或者艾字節的數據時,數據庫性能緩慢的主要原因之一是數據存取的時間過長,不能以足夠快的速度到達所需要的地方。
在內存計算中,數據就存儲在CPU的旁邊,可以瞬間到達。這意味著數百GB的數據分析,報告和預測需要幾秒鐘內就可以完成,而不是幾小時。