用Nehalem、SSD和Solaris 打造完美數據庫平臺 |
發布時間: 2012/9/11 14:33:36 |
基于IT產業不斷涌現的各種嶄新技術,以及阿里巴巴電子商務業務的不斷快速發展,阿里巴巴和英特爾合作對于互聯網應用中數據庫的新型應用平臺展開探討和研究,開拓了全新的數據庫平臺,并最終成功部署到阿里巴巴電子商務平臺應用環境中,展現了高科技推動互聯網生產力的典型驅動力。
本文從架構角度分析幾種新技術(Nehalem, Solaris, SSD)的特點,并能夠把它們有機的結合起來,充分發揮各自的潛力,相互配合,統一到一個高效的組合中。同時,基于一些測試數據和真實的實際運營的情況,給出較令人信服的論據。最后,本文對將來的發展做進一步展望。
背景介紹
數據庫系統的發展,特別是高端數據庫,一直是小型機的天下。基于PC服務器解決方案成本低,但往往被認為單臺系統性能不能滿足大規模系統的要求,更主要的是系統的穩定性和可靠性常常為人詬病。
人脈通是阿里巴巴今年推出的電子商務領域的SNS平臺,背靠阿里巴巴強大的交易平臺和豐富的用戶數目,其對性能的要求在規劃時期就被明確地提了出來。同時,基于成本和可擴展性的考慮,阿里巴巴也打算嘗試新的數據庫平臺系統架構,而不是單一的使用小型機。
阿里巴巴數據庫平臺的特點和業務
數據庫系統是典型的IO密集型應用系統,其系統壓力瓶頸最容易出現在IO操作方面。對于 Oracle 數據庫,由于其優異的實現機制的設計,shared pool 的高效實現,大大降低了解析 SQL 語句所需要的資源。同時,對即使像 MySQL 這樣沒有 shared pool 機制的數據庫,只要訪問的數據稍微離散一些,性能瓶頸很快就會出現在 IO 操作上面了。當然,如果系統的訪問集中在相對靜止的少部分數據的話,瓶頸可能還是會出現在CPU以及其與內存的交互方面,但是這樣的系統已經很稀少了。
隨著 Web2.0 的流行,互聯網信息量的增長簡直可以用爆炸式來形容。而 此類Web2.0 類型的應用,由于用戶交互性非常高,正是典型的高并發高離散的實時性數據請求類應用,自然就會給數據庫帶來直線上升的壓力。
對于阿里巴巴這樣的典型電子商務類型的網站應用,其實質可以被認為是較早涉及Web2.0的應用,也是非常典型的OLTP數據庫應用。其最顯著的特點就是每個事務處理單元都比較小,即每個事務請求涉及的數據量都很小,但是并發量非常高,而且要求響應時間要非常短。對應到數據庫就是會產生大量的離散IO操作,這對于傳統的機械硬盤來說無疑是非常致命的,因為硬盤的機械原理決定了離散的小IO請求會讓大部分服務時間花在磁頭尋道上面。所以,對于高并發的 OLTP 數據庫系統,為了解決苛刻的 IOPS 量,不得不使用大量的機械硬盤,通過 RAID 技術將數據進行 strip 處理,來提高存儲系統的并發 IO 處理能力,進而提高整個存儲系統的 IOPS 能力,以滿足前端應用對每次請求的響應時間要求。
另一方面,當傳統大規模數據庫的IO請求由昂貴的機械硬盤存儲設備來滿足的時候,處理器的壓力也進而增加。現有的解決方案往往是尋求大型的服務器系統,包括多路的小型機等來滿足。這樣的方案也許能解決一時的需求,但在系統的可擴展性,針對阿里巴巴不斷增長的業務數據需求來說,總是會達到瓶頸而無法順利的滿足要求。
最后,對數據庫系統,特別是阿里巴巴這樣的電子商務類系統,數據的安全性、一致性和可靠性是最重要的。現有的一些方案比如PC服務器配合Linux的方案,在操作系統本身以及文件系統上,確實在這方面要比小型機系統都要遜色。 本文出自:億恩科技【www.vbseamall.com】 |