去IOE:去掉“IE”就Ok?

2009年4月底,Oracle宣佈收購Sun。塵埃落定後開始集中全力推動其軟硬件集於一身的工程系統(Engineered System,通稱“集成系統”),很快成爲傳統“硬件廠商”(有服務器、存儲等硬件業務就算)的公敵。

也是在三年前,阿里巴巴開始涉足雲計算,隨後成立了阿里雲。在阿里巴巴集團首席架構師王堅的主導下,阿里巴巴和淘寶的技術團隊發起了“去IOE”運動,現在已獲得不小的成果,並在中國的互聯網行業產生了很大的影響,欲效仿者甚衆。

這兩件事的共同點何在?幹掉共同的“敵人”,拯救自己。

去IOE:開源+工業標準

首先,必須解釋一下“IOE”是怎麼回事,才能談得上“去IOE”。

IOE分別是IBM、Oracle、EMC,更確切地說是IBM小型機、Oracle數據庫與EMC存儲設備的組合。這三駕馬車構成了一個從軟件到硬件的完整商用數據庫系統,甚至可以說是同類產品中的最佳組合,爲何要去掉呢?

傳統的商用環境強調單一系統的規模,也就是縱向擴展(Scale-up)能力。即使到今天,小型機的縱向擴展能力還是高於x86,而IBM早已是這個市場上的王者;EMC在中高端存儲市場上的統治地位亦非常牢固。因此,Oracle數據庫用戶選擇IBM的小型機和EMC的存儲設備,在規模和性能上都有足夠的保障。據說,採用EMC存儲的Oracle安裝就有4萬多個。

但是雲計算的規模,不是任何單一系統能夠滿足的,多系統的橫向擴展(Scale-out)成爲必然之選。如此一來,單一系統的縱向擴展能力便不再那麼重要,x86架構以其廉價和開放的特性而越來越受青睞。這就好比虎大於狼,一對一穩操勝算,但羣狼戰術就招架不住了。

IOE的另一問題是除了軟硬件的購置費用(CAPEX),生命週期內的維護費用(OPEX)也非常高昂。據說,阿里巴巴集團花在Oracle數據庫上的許可費用是每年千萬人民幣級別的,而承載Oracle數據庫的IBM小型機與EMC存儲設備,購買和保修費用開銷更大。

242353_1339552892aq04.png

新浪微博@mysqlops發佈的與“去IOE運動”文章相關的微博

從網上流傳的知情人士所寫文章來看,在“去IOE”運動之前,大淘寶、阿里巴巴B2B和支付寶等公司98%以上的軟件系統和業務都採用Oracle數據庫提供數據服務。隨着淘寶、支付寶和阿里巴巴B2B的註冊用戶數激增,用戶產生的數據也越來越多,即使採用冷熱隔離的方式也解決不了大數據量大併發的難題。阿里巴巴B2B中文站因數據量大和業務要求,高峯期CPU保持98%的使用率,負荷亦超高,即使更換存儲設備,不久也會再次出現同樣的狀況。互聯網行業公司迅速發展非常快,集中式數據庫系統會逐漸成爲業務的瓶頸,如果總是花費重金升級硬件,就不得不考慮更加省錢的數據庫軟硬件解決方案。

阿里巴巴集團使用Oracle最多的子公司是大淘寶,啓用了全亞洲最大的Oracle RAC集羣,2010年之前還計劃部署更多的Oracle RAC數據庫集羣。但在阿里巴巴B2B將中文站壓力和數據容量最大的Offer數據庫,成功從Oracle數據庫+IBM小型機+EMC存儲設備(IOE體系)遷移到MySQL數據庫+x86服務器的模式之後,大淘寶及核心系統部門也招聘了能修改MySQL源碼和HBase源碼的人才,把產品線的Oracle數據庫遷移到MySQL數據庫提供服務,採用Oracle數據庫支持的數據分析業務則採用Hadoop集羣替代,既解決了業務系統的壓力和瓶頸,也能幫助降低資金投入。

簡而言之,阿里巴巴的去IOE,是軟件上將Oracle數據庫以開源的MySQL和Hadoop替代,Oracle RAC以Hadoop集羣替代,硬件上以工業標準的x86服務器(存儲可以用PCIe SSD,或連接沒有智能的JBOD)替代IBM小型機和EMC存儲設備,同時解決性能快速擴展和軟硬件投資的壓力。

這裏面,首當其衝是Oracle不願看到的,但也有Oracle正着力解決的。

硬件:去“IE”利人利己

與此同時,完成Sun收購的Oracle,具有了涵蓋應用程序、中間件、數據庫、操作系統、虛擬化、服務器、存儲設備的完整堆棧。但是,樣樣通不等於樣樣精,Sun的小型機不是IBM的對手,存儲更無法與EMC相抗衡。

242353_1339552463SdOc.jpg

從應用到存儲,Oracle擁有了“你們有的我都有”的完整堆棧,通過集成設計的軟硬件一體化系統發揮整體優勢

Oracle的應對方案是發揮整體優勢,推出軟硬件集成系統(Engineered System,工程系統),以強項數據庫、中間件等軟件帶動硬件。但是硬件也不能差距太大,否則不僅性能功能參數等不佔優勢,還很容易被***爲“將不好的產品捆綁銷售給客戶”……

如果堅持用Sun的小型機和SAN存儲,硬件將成爲Oracle無法迴避的短板。可是,如果把服務器和存儲都換成基於x86的體系架構,遊戲規則就完全不同了。

在收購Sun之前,Oracle已經推出了與HP合作的HP Oracle Database Machine(數據庫機,可以簡寫爲“HP ODM”嘛?4.gif)。不僅服務器是HP的ProLiant DL360,存儲也是構築在HP ProLiant DL180之上的Oracle Exadata Storage Server(Exadata存儲服務器),全都基於x86架構。

當時HP很自豪地宣稱這是“排他的”合作,但是同爲x86架構,能有多大的區別呢?在收購Sun以後,HP的硬件被Sun的服務器和存儲服務器替換,更名爲Exadata數據庫機(Exadata Database Machine,中文稱“數據庫雲服務器”),不變的是x86架構。

242353_1339552462L5Xz.jpg

Oracle Exadata Database Machine X2-2有四分之一、半和全機架的配置,可以看作橫向擴展的關係

接着Oracle又陸續推出了Exalogic中間件雲服務器(Exalogic Elastic Cloud)和Exalytics商務智能雲服務器(Exalytics In-Memory Machine),硬件上全都以x86架構爲主導。

簡而言之,雖然出發點不同(Oracle的想法要複雜得多),但是Oracle與打出“去IOE”口號的阿里系至少有一件事情是一致的,那就是去“IE”(IBM小型機與EMC存儲)。即儘量使用標準化的硬件,降低硬件成本,主要在軟件層面實現差異化——畢竟,相對於底層的硬件,上層的軟件和應用纔是王道。

不同點更是顯而易見,那就是對Oracle的態度。

去留Oracle:各有理由,量力而行

從Oracle的角度,這當然不成其爲問題,但是他們必須給客戶一個解釋。

已經是Oracle數據庫用戶的傳統商業企業(如金融、電信),不需要解釋。即使是致力於推廣去IOE經驗的阿里巴巴集團數據庫架構師張瑞也指出,“選擇技術要考慮:場景,成本和控制力,互聯網的玩法並不一定適合企業級應用。IBM、Oracle、EMC主要面向企業級領域,單論技術含量在各自領域都是No1。其實,玩開源的大部分也就是搭積木作方案而已,誰也別嘲笑誰人傻錢多,別人玩得轉未必適合自己。”

儘管Google分佈式計算三駕馬車(GFS、MapReduce和BigTable)是Hadoop的創意之源,谷歌中國技術總監谷雪梅仍明確表示,在嚴格要求一致性的Google廣告系統中,(以Oracle爲代表的)傳統的交易型應用仍然是更好的解決方案。Google研究院推出了融合BigTable的高擴展性和SQL數據庫的可用性和功能性的新型數據庫F1,並已將Google廣告系統從MySQL部分遷移到F1上。作爲一種混合型數據庫,F1在一致性和存儲系統上比MySQL更好,雖然付出了響應時間的代價,還是可以爲OLTP業務所接受。

不過,Google、Amazon都只有一個。能達到阿里巴巴這個水準的,也不是很多。有一定規模的商業用戶構建自己的IT系統,“IE”可以不用,但繞開Oracle的機率不是很高。雲計算的未來很美好,可現在不能越過當下。

242353_1339552462Z7s8.jpg

Exalytics In-Memory Machine的硬件是一臺配備了40G InfiniBand的至強E7服務器

那麼,在另一些Oracle是後來者的領域,如何說服用戶?譬如內存數據庫,SAP的HANA已經走在前面,Exalytics商務智能雲服務器除了做成軟硬件集成的一體機,還有什麼招數?依然是靠整體作戰,除了行式內存數據庫產品TimesTen,Exalytics還結合了多種Oracle BI和Oracle Hyperion績效管理應用軟件,並能通過高速的InfiniBand連接與Exadata相集成。Oracle以性能和功能的豐富性爲說辭,與SAP展開了口水戰……

騎牆用戶:IT是否核心競爭力?

口水戰能吸引眼球,哪些客戶會青睞Oracle的集成系統呢?

以Exalytics爲例,客戶肯定要有分析處理大數據的需求。除了前面已經提過的金融和電信行業,快速消費品、零售等IT不是企業核心競爭力的行業,也是Oracle主攻的對象。新浪、騰訊、百度等互聯網巨頭,IT能力簡直是生存的命脈,還有規模和成本的考慮,很難接受這種商業集成系統。那麼,有沒有處於中間狀態的,譬如……電商?

電商電商,一邊是互聯網,一邊是零售業,成分決定選擇。淘寶當然屬於電商,商的一面不評論,電(互聯網)的能力足夠強,正如文章開頭已經介紹過的,都有能力“去IOE”了,再走回頭路的可能性不大——Oracle的集成系統雖然也去了“IE”,但成本和擴展能力仍不能滿足他們的要求。不過,像京東、噹噹,特別是京東,儘管商的一面咄咄逼人,號稱要掃平淘寶等競爭對手,線上購物的流程也算流暢,可是總體的IT能力與阿里系相差太遠。從公開的消息看,京東的IT架構還是基於傳統的商用技術,沒有體現出互聯網基因——就算京東想組建阿里巴巴級別的程序員隊伍,怕是也來不及。換言之,京東是相對適合採用Oracle集成系統的,起碼部署速度會大大快於經典的“IOE”組合。

242353_1339552463D79L.jpg

甲骨文公司大中華區應用顧問總監謝鵬回答Exalytics與“去IOE”的問題

對於這個問題,甲骨文公司大中華區應用顧問總監謝鵬的回答頗有可借鑑之處:“Oracle和非常知名的電商行業的合作,這是趨勢。這兩年包括京東、淘寶、百度、噹噹,現在面臨非常大的挑戰。第一是整個IT的基礎架構不夠堅強,經常面臨捉襟見肘的狀況;第二我們的電商現在缺乏最佳實踐,實際上用大量的低效人工作業去滿足客戶投訴,是不計成本的一種方法。所以實際上, Exalytics商務智能雲服務器的加速計算和服務,在電商這個行業應用的前景是非常大的。現在的業務趨勢還有一個,我們稱之爲社交(social),電商最重要的是去了解所有在網上在線購物的客戶消費行爲,消費偏好和他們的特性。這些數據和我們傳統數據不同,是半結構化和非結構化的數據,實際上這是Oracle Exalytics的又一個強項,Exalytics不但可以處理結構化的,還可以處理半結構化和非結構化的大數據,所以恰好電商行業也是Oracle要推廣的一個重要行業。”

淘寶、百度放在一邊,起碼對京東的診斷算是到位。網上有消息說,京東已經選擇了Exadata,訂單在Oracle上一財季落定,金額過億元……同期另一重要用戶是貴州茅臺……

後記:話題,還是趨勢?

本文用了很大篇幅談論“去IOE”,並非是對三家業內巨頭的否定。先以“IE”來說,IBM的Power自有其獨特的價值,而EMC的存儲系統也已全面轉向x86的架構,不同程度地“與時俱進”,不是過時的古董——Oracle去“IE”主要是出於自身利益的考慮,不再支持安騰也有同樣的邏輯。而就是被阿里巴巴“去”的Oracle數據庫,其替代品MySQL,所有權也屬於Oracle。

雖然從Oracle收購Sun之初,就有人擔心MySQL的前途,但通常不認爲Oracle數據庫與MySQL是競爭關係。Oracle數據庫是企業級的關鍵業務生產系統(mission-critical production system),而MySQL當初作爲專門從事高速網頁服務的關係系統(relational system)起家,儘管獲得Facebook這樣的頂級網站採用,其規模和交易處理能力等方面仍無法與Oracle數據庫相比。

不過開源的力量實在是太強大了,加上工業標準的服務器,通過分佈式系統的橫向擴展,MySQL已經可以在特定場合部分或全部替代Oracle數據庫——正如阿里巴巴的故事。那麼,Oracle會否因此而限制MySQL的自由,乃至“痛下殺手”?目前看來,似乎還不至於。即使這一天真的到來,互聯網企業們也可以選擇諸如PostgreSQL的替代品,或者去“山寨”Google的F1……當然都沒有動動嘴皮子這麼輕鬆了。

相比之下,我倒是覺得某位高人(如果沒記錯的話,應該是阿里巴巴張瑞)的猜想有點意思:Oracle會不會推出基於MySQL的集成系統呢?

原文來自探客網:http://wo.zdnet.com.cn/space-242353-do-blog-id-39674.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章