1. 程式人生 > >阿里巴巴集團去IOE運動的思考與總結(轉)

阿里巴巴集團去IOE運動的思考與總結(轉)

原文地址:http://www.mysqlops.com/2012/05/07/alibaba-ioe.html

【導讀】

預計2012年5月7日,阿里巴巴集團將正式公佈技術團隊合併的事情,涉及的部門:阿里巴巴運維團隊、阿里巴巴DBA團隊、阿里巴巴平臺技術部、大淘寶運維團隊、大淘寶DBA團隊、大淘寶核心系統部、阿里雲端計算運維團隊、阿里雲端計算DBA團隊和阿里巴巴集團安全團隊,上述技術團隊合併之後,從一些可以猜測到的資訊分析,大淘寶的員工成為相關技術團隊的掌舵者,以及去IOE政治運動是阿里巴巴集團首席架構師某博士主導的,阿里巴巴和淘寶的技術團隊內部非常有影響力的XX負責執行,那麼阿里巴巴集團內部所有子公司去IOE運動將繼續深化,就淘寶、阿里巴巴和支付寶去IOE事件,以局外人的角度進行利弊分析,希望能達到給明白真相和不明白真相的群眾一個合情合理中立的分析。

淘寶和阿里巴巴去Oracle化事件 引發資料庫技術人員大討論一文,只是把對阿里巴巴、淘寶等子公司內部非常熟悉的人士觀點和建議分別整理出來,以及還有部分外部人士的猜測和分析,本篇文章我們從幾個不同的角度綜合分析闡述去IOE事件對阿里巴巴、淘寶等公司的內部DBA團隊價值和意義,對阿里巴巴、淘寶等公司的業務和成本影響,對網際網路行業的DBA從業者的影響…

(一)     去IOE事件中的IOE名詞解釋

(1).IOE事件中的I是代表IBM的縮寫,也即去IBM的儲存裝置和小型機,主要是小型機,阿里巴巴、淘寶和支付寶主要是使用了IBM的小型機,IBM儲存裝置相對較少;

(2).IOE事件中的O是代表Oracle的縮寫,也即去處Oracle資料庫,採用MySQL和Hadoop替代的解決方案,Oracle RAC將會被Hadoop叢集替代,其阿里巴巴B2B使用的GreenPlum叢集也將會在阿里巴巴集團完成運維團隊和DBA團隊合併之後,採用Hadoop叢集解決方案替代;

(3).IOE事件中的E是代表EMC2,阿里巴巴B2B、淘寶和支付寶都是用大量EMC2的儲存裝置,也有少量DELL的儲存裝置,主要是EMC2,的儲存裝置價效比非常高;

(4).阿里巴巴集團內部最早進行MySQL資料庫替代Oracle資料庫支援資料服務的子公司,是阿里巴巴B2B用PC Server替代EMC2,儲存裝置,替代IBM小型機,替換節湊是被控制的,因多方面的原因內部也沒有那麼雄壯的決心。後續,淘寶也開始進行MySQL資料庫的應用摸索和推廣,並且高調宣傳去IOE事件,最後造成網路上滿城風雨;

(二)     去IOE對淘寶、阿里巴巴B2B和支付寶等公司的價值

阿里巴巴集團與甲骨文公司購買的Oracle資料庫是三年無限制的Licens,總銷價是三年X千萬人民幣(備註:不能告訴大傢俱體多少錢,屬於商業機密,望理解!),這部分的開銷對整個阿里巴巴集團而言並不算什麼,花費最大地方是Oracle資料庫的座駕,也即主要是IBM小型機和EMC2,

儲存裝置的購買費用和保修費用。

隨著淘寶、支付寶和阿里巴巴B2B的註冊使用者數激增,使用者產生的資料也越來越多,即使採用冷熱隔離的方式也解決不了大容量資料且大併發的難題,淘寶啟用了全亞洲最大的Oracle RAC叢集,阿里巴巴B2B中文站的資料量也因資料量大和業務要求,每年早上08:00—09:30之間CPU保持98%的使用率,LOAD也超高,即使更換儲存裝置不久也會再次出現這樣的狀況。網際網路行業公司迅速發展非常快,集中式資料庫系統會逐漸成為業務的瓶頸,不得不面臨又喜又憂的事情花費重金升級硬體,這在企業高速崛起的時候,可能不太會在意成本,若是企業佔有市場份額足夠大、步入平穩發展階段或企業資金出現問題的時候,就不得不考慮企業的成本, 那麼就不得不考慮採用滿足企業業務發展需求,企業只需要合理地投入資金,就不得不考慮更加省錢的資料庫軟硬體解決方案。

大淘寶、阿里巴巴B2B和支付寶等公司,98%以上的軟體系統和業務都是採用Oracle資料庫提供資料服務,電子商務領域阿里巴巴集團旗下公司擁有的總資料量和使用者量是其他任何公司無法比喻的,DBA團隊面臨的壓力盒挑戰也是其他公司無法比喻的,肯定要比聯網其他公司更早關注此方面的資金需求和業務雙重壓力。

阿里巴巴集團使用License最多的子公司是大淘寶,2010年及之前,還高調地要部署更多的Oracle RAC資料庫叢集,但是在阿里巴巴B2B將中文站壓力和資料容量最大的Offer資料庫,成功從Oracle資料庫+IBM小型機+EMC2,儲存裝置,遷移到MySQL資料庫+PC Server的模式,以及大淘寶核心系統部門招聘到@淘寶褚霸、@淘寶丁奇等能修改MySQL原始碼和Hbase原始碼,其他產品線使用MySQL資料庫提供服務,也使大淘寶的MySQL  DBA的經驗和技術大幅提高,大淘寶也就有能力把產品線的Oracle資料庫遷移到MySQL資料庫提供服務,採用Oracle資料庫支援的資料分析業務則採用Hadoop叢集替代,這是給核心系統部和DBA團隊建功立業的大好時機,同時能解決大淘寶業務系統的壓力和瓶頸,也能幫助大淘寶降低資金投入。搭配開發完善的自動化系統,可以大大簡化資料庫的管理成本,也能減小DBA團隊的工作量。

阿里巴巴、淘寶和支付寶都曾嘗試,將Oracle資料庫的座駕AIX系統+ IBM小型機+EMC2,遷移到Linux系統+PC Server的模式。若是對Oracle資料庫不拆分的話,PC Server根本無法承受這樣的負載;若是對Oracle資料庫拆分,將需要增加購買大量的License;故不得不考慮將業務系統的Oracle資料庫遷移到開源MySQL資料庫和Hadoop平臺上(註釋:這2種開源產品能滿足業務需求,以及相對其他開源產品更穩定和成熟)。

非常遺憾的是,阿里巴巴集團首席架構師王堅推行的是全面去商業資料庫產品計劃,也即整個阿里巴巴集團,可能除支付寶少數業務的資料庫繼續採用Oracle資料庫之外,其他的一切都將轉換成MySQL資料庫,為此可能導致阿里巴巴DBA團隊、大淘寶DBA團隊、支付寶DBA團隊等,在Oracle資料庫領域積攢十年的架構設計和運維維護經驗,將瞬間付之東流,同時這些DBA團隊的Oracle DBA也將會有不少人員選擇離開,否則只能轉行為MySQL DBA。

大淘寶DBA團隊、阿里巴巴DBA團隊、支付寶DBA團隊和阿里雲端計算DBA團隊總共擁有的MySQL DBA人數,不會超過15人,而Oracle DBA有80人以上,其中MySQL DBA團隊真正能幹活的DBA不會超過X個人,MySQL資料庫在阿里巴巴真正支援業務發展的時間不超過3年(註釋:淘寶成立初期採用MySQL資料庫,能力的問題而不得不遷移到Oracle資料庫平臺;阿里巴巴B2B在2009年之前,也是少數邊緣業務從Oracle資料庫遷移到MySQL資料庫平臺)。多數是Oracle DBA轉行為MySQL DBA的兄弟,他們在Oracle資料庫方面確實經驗豐富和能力超強,但是MySQL資料庫方面就不多加評論…

小結:

一直為MySQL社群的發展與壯大而努力,作為技術人員要說真話和大實話,不能因個人感情而做事情。個人認為阿里巴巴集團去IOE是不得不要做的事情,但不是把所有的Oracle資料庫都遷移到MySQL資料庫或Hadoop平臺,而應該是對業務系統有選擇地進行,以及遷移的步調要合理地控制,不宜過快過急,需要等待MySQL資料庫DBA團隊的壯大,技術與經驗的積累。否則,可能出現遷移過去之後不久,發現對業務發展和支援出現嚴重的問題,大淘寶內部的資訊分析,他們已經基本度過危險的階段,也有很多遇難雜症,但是支付寶的業務具有特殊性,要比淘寶的業務系統要求更高,恐怕是一個非常大的障礙。

阿里巴巴集團高調向外界傳遞去Oracle資料庫資訊之後,新的Oracle資料庫License談判將會很艱難,甲骨文公司本來是把阿里巴巴、淘寶和支付寶等公司作為中國標杆使用者,現在公開大規模地去Oracle資料庫,可能會得到甲骨文公司的報復,為此可能要償付更加昂貴的License費用。對於阿里巴巴價值觀擁抱變化”,是無處不體現,但是要合理地使用,不要被某些人利用搞政治運動,而影響企業的穩定與發展。

(三)     去IOE對淘寶、阿里巴巴B2B和支付寶等公司的DBA團隊影響

大淘寶是去IOE最迅速最徹底的公司,相關技術人員也將會得到更多的晉升和加薪機會,阿里巴巴B2B DBA團隊很早進行的部分業務系統去IOE,使得相關人員受益(註釋:也包過我個人,阿里巴巴B2B對MySQL DBA的渴望而有機會加盟,機緣巧合是MySQL資料庫成功使用之後離開了),而支付寶是去IOE進展最慢的公司,為此高層不得不選擇派遣相關人員,加速支付寶公司去IOE。

阿里巴巴集團最後可能保留少數業務產品線,繼續使用Oracle資料庫平臺提供資料服務,以及MySQL資料庫的自動化完成之後,將導致阿里巴巴集團DBA團隊出現資源嚴重富餘,Oracle資料庫遷移MySQL資料庫過程與完成之後,將會出現DBA人員的流失,這對阿里巴巴集權的DBA團隊而言是一種損失,往往選擇離開的Oracle DBA,越是優秀和有成長潛力的,可能早就更多DBA人員處於混日子的狀態。

去IOE事件對MySQL團隊和核心繫統部門的發展,是非常有利和促進作用。越來越多的業務系統和核心繫統,採用MySQL資料庫提供資料服務,MySQL DBA面臨的挑戰與壓力將會越來越大,DBA團隊的自動化水平能力也將會迅速得到提高,否則無法管理規模龐大的MySQL資料庫叢集和Hadoop叢集。

整個阿里巴巴集團能讀懂、編寫和優化MySQL原始碼的DBA或開發人員,總數不會超過X個人,這對阿里巴巴集團去IOE也是一項挑戰,畢竟開源資料庫產品沒有商業資料庫產品那樣經過嚴格的測試流程而穩定,購買甲骨文官方提供的MySQL服務,絕對不是淘寶、阿里巴巴和支付寶DBA團隊的行事風格,一定會想辦法自己修改和優化MySQL原始碼,相信阿里巴巴集團會投入更多的資源引進相關的技術人才,這對MySQL團隊的技術提高也非常有幫助。

小結:

(1).Oracle團隊的經驗和技術積累將大量丟棄;

(2).Oracle團隊的DBA流失不可避免;

(3).MySQL團隊的DBA經驗、技術和能力,將被迫加鞭快馬提高;

(四)     去IOE對資料庫行業的影響

淘寶去IOE事件網路曝光之後,引起更多Oracle資料庫DBA從業人員的恐慌,使他們最擔憂的是網際網路行業的其他公司效仿淘寶和阿里巴巴去Oracle資料庫的壯舉,而出現蝴蝶效應。

對甲骨文公司而言,不會失去一位非常重要的中國客戶,只是可能失去部分License費用收入而已。畢竟阿里巴巴集團旗下的支付寶某些業務系統肯定會用Oracle資料庫平臺,至少阿里巴巴B2B的CRM系統短期內不得不考慮繼續使用Oracle資料庫平臺(註釋:CRM系統太複雜,也很難有人搞清楚)。

淘寶、阿里巴巴和支付寶公司用MySQL資料庫和Hadoop分散式平臺,替換Oracle資料庫和Greenplum並行資料庫的行為,不可避免會影響網際網路行業企業的資料庫平臺選型,也會導致Oracle資料庫行業的從業者擔憂。唯一辦法,就是澄清這些事情的來龍去脈,使不明真相的群眾懂得去分析類似的事情,而不跟風做錯誤的決定,不過網際網路行業採用開源資料庫的大趨勢是必然的,網際網路行業採用開源技術解決方案也是必然發展趨勢。

淘寶、阿里巴巴B2B和支付寶用MySQL資料庫支援核心業務系統,其中阿里巴巴B2B已經使用MySQL資料庫支援中文站Offer資料庫,淘寶的核心業務之一訂單都是MySQL資料庫提供資料服務,必將將會促使更多企業使用MySQL資料庫,從而會促進MySQL資料庫領域的從業者發展和薪資待遇的提高,對MySQL社群和MySQL技術的進步也會有一定的促進作用。

MySQL資料庫搭配PC Server和Linux作業系統的模式,以及再加上一些特殊的軟體硬體技術–SSD硬碟和Fusion-IO, 尤其是經過淘寶、阿里巴巴B2B和支付寶等業務的洗禮之後,使MySQL資料庫的解決方案豐富和成熟, 也會促使DELL、華為、惠普(註釋:不過這家企業的硬體裝置實在是太差,尤其售後服務)等公司大力發展PC Server業務。也會推動IBM、EMC等儲存裝置廠商進行技術革新,最後也會推動甲骨文公司和MySQL社群共同推動MySQL資料庫產品支援更大的資料儲存容量和併發處理能力。

(五)     總結

淘寶、阿里巴巴B2B和支付寶等公司去Oracle資料庫,改用MySQL資料庫和Hadoop分散式平臺支援資料服務業務的分析和總結,就寫到此了。希望個人寫的本篇文章,對技術圈的朋友們有幫助,同時也做到了獨立性和公正性透徹地分析去IOE運動。作為一位MySQL資料庫技術的從業者,要感謝淘寶高調公佈去IOE,採用MySQL資料庫搭配PC Server的方式支撐大併發大資料量的核心業務,為網際網路行業的MySQL從業者提供了參考模板,也希望其能繼續完善MySQL資料庫平臺和Hadoop分散式平臺的自動化解決方案,也能繼續對外開放。最後一點,希望阿里巴巴集權推進這樣的事情,是能保持雄心和壯志,繼續把適合採用MySQL開源資料庫和Hadoop分散式平臺支援的業務,莫出現反覆的行為。

推薦閱讀的文章: