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

來源: mysqlops.com  發布時間: 2013-07-15 16:03  閱讀: 8014 次  推薦: 9   原文鏈接   [收藏]  

  【導讀】

  原文發布于2012年5月7日

  預計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數據庫是三年無限制性的License,總銷價是三年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、EMC2等存儲設備廠商進行技術革新,最后也會推動甲骨文公司和MySQL社區共同推動MySQL數據庫產品支持更大的數據存儲容量和并發處理能力。

  (五) 總結

  淘寶、阿里巴巴B2B和支付寶等公司去Oracle數據庫,改用MySQL數據庫和Hadoop分布式平臺支持數據服務業務的分析和總結,就寫到此了。希望個人寫的本篇文章,對技術圈的朋友們有幫助,同時也做到了獨立性和公正性透徹地分析去IOE運動。

  作為一位MySQL數據庫技術的從業者,要感謝淘寶高調公布去IOE,采用MySQL數據庫搭配PC Server的方式支撐大并發大數據量的核心業務,為互聯網行業的MySQL從業者提供了參考模板,也希望其能繼續完善MySQL數據庫平臺和Hadoop分布式平臺的自動化解決方案,也能繼續對外開放。最后一點,希望阿里巴巴集團推進這樣的事情,能保持雄心和壯志,繼續把適合采用MySQL開源數據庫和Hadoop分布式平臺支持的業務遷移過來,請莫出現反復的行為。

  【相關鏈接】

  阿里技術嘉年華-專訪勝通:阿里“去IOE”

9
0
 
 
 

文章列表

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()