預計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分布式平台支持的業務,莫出現反復的行為。