事件起源javascript
去Oracle事件起源於@紅袖添香夜殺豬的一條微博,他詢問淘寶網開放平臺架構師岑文初和曹益峯:「阿里系去Oracle化去Yahoo化有哪些阻力?講講背後的故事,好比如何促使開源技術在阿里系的普遍使用,尤爲是MySQL、LVS這些很適合互聯網公司使用的產品。另外,Oracle DBA有什麼反應?」php
問題發出後,收到了如下回復:html
淘寶網開放平臺架構師岑文初(@放翁_文初):去Oracle基本沒啥阻力。java
曹益峯(@曹益峯):至少在淘寶,去Oracle已經成爲過去時啦!數據庫
阿里巴巴運維部高級DBA張瑞(@hellodba):淘寶爲何要去Oracle,由於它很難適應互聯網大規模應用對擴展性的要求,與其說是去I(IBM)/O(Oracle)/E(EMC),更不如說是分佈式架構打敗了集中式架構,開源系統打敗了商業系統。至於原來的Oracle DBA,如今都已是老大了,剩下的DBA都已經轉型。架構
若是沒有這條微博,在咱們這些外人看來阿里巴巴系還在不計成本的使用着Oracle,即便那些費用已經至關驚人。那麼去Oracle對於阿里巴巴和淘寶有哪些影響,對Oracle又有哪些影響呢?MySQL技術專家金官丁在本身的技術博客上分析了這一事件,並但願技術人不會被一些錯誤的信息誤導。筆者對金官丁的博客進行了整理,內容大體以下:運維
對去Oracle化的疑問:分佈式
一、Oracle已經收購了MySQL,如今淘寶開始去Oracle而轉向MySQL陣營,可否詳細表述下Oracle和MySQL的關係,更進一步解釋@hellodba 回覆的內容,還有淘寶這樣作有何目的?工具
二、淘寶已經開始轉向開源系統了,在大數據時代下,是否是會有更多的互聯網公司轉向開源,爲何呢?性能
三、對於學習Oracle、準備作Oracle DBA的同窗,是否意味着就業機會愈來愈少,該怎麼辦?
數據庫技術人員各抒己見
一、丁香園(DXY.com) 技術負責人馮大輝(@Fenng)的回答
去Yahoo!化是先進行的,內部叫作去Y。爲何去Y,說到底就是公司策略上的問題,儘可能解除技術上對Yahoo! 的依賴,其實主要是雅虎中國和以前的阿里媽媽那邊用到很多雅虎的東西,其餘幾家子公司基本沒怎麼用。
去 O(Oracle)、去 E(EMC)、去I(IBM),產生的直接緣由是對這幾家大廠依賴過多,成本偏高,技術上逐漸產生依賴感,甚至不須要Oracle的地方也用Oracle,不須要用高端存儲的數據也用。一個比較離譜的事情是阿里旺旺(淘寶旺旺)在用戶量已經很高的狀況下,數據庫用的仍是Oracle,如今來看,簡直是難以想象的事情。咱們當時笑言,這估計是世界上以Oracle數據庫承載的最大量的IM工具了。
至於說Oracle是否很難適應「互聯網大規模應用對擴展性的要求」,要看本身的應用類型,對淘寶來講,差很少能夠,但對支付寶來講,這或許就不是一個很好的辦法(由於支付寶必定程度上甚至不是互聯網應用)。
不要以任何一個單純的工具(好比MySQL 或是Oracle)爲目標,而應以綜合技術能力爲目標,不少東西,實際上是相通的。有些產品終究會被歷史淘汰,或許是前天的Infomix數據庫,或許是昨天的Oracle數據庫,或許是今天的MySQL數據庫,甚至是明天的NoSQL亂七八糟的,但總有人用數據庫,總有處理數據的需求,這方面專業人才依舊缺少。
二、@祁育的回答
在淘寶實習過,有一些瞭解。非交易核心的系統用的數據庫技術相對較新,如收藏夾是用的OceanBase,相對重要的應用好像是去年就切換到MySQL集羣,收藏夾也是較早從Oracle切換到MySQL集羣的,期間聽說性能壓力比較大,後來換的OceanBase,交易核心的系統如IC(商品中心)是去年末換的MySQL集羣,當時收到一封羣郵件,聽說換了以後每一年能節省支出千萬左右,而系統性能提升了5倍左右。具體數字可能不必定對,郵件原文不太記得了,總之是有明確的性能和成本考慮的。有一些系統根據自身狀況也有一直用Oracle的,如關聯推薦系統。不大可能一刀切吧,應該是看具體的應用場景了。
三、@MySQLops回答
@Fenng 說的比較全,我給你們解答下去Oracle化的緣由:
● Oracle主要是依賴中高檔存儲設備和小型機;Oracle不適合大數據量採用PC Server+僞分佈式的模式;
● 中高檔存儲設備和小型機的購買費用很是貴,更關鍵是這些設備的保養費服務費用更加貴,甚至超過設備購買費用;
● Oracle+中高檔存儲設備和小型機的模式,沒法知足業務增加的需求;
● Oracle自己的License費用在成本中並很少,並且整個阿里巴巴集團主要是淘寶和支付寶佔用的License費用佔比大;
● Oracle技術自己也是沒有任何問題的;只是把一些數據量很是龐大,且容許出現小几率數據丟失的業務遷移或直接採用開源數據庫解決方案(主要是MySQL);
總之,去Oracle的說法是放大了,放棄部分業務由Oracle數據庫改成MySQL主要是爲了去存儲設備,也即影響最大的是兩家公司:EMC、IBM。
背景分析
一、阿里巴巴和淘寶都曾經嘗試過Oracle數據庫遷移到MySQL,可是失敗了!過將近2年以後,阿里巴巴(內稱B2B)咱們在一些重大新項目中從新開始使用MySQL數據庫,而且恢復和創建你們對MySQL的信心,而且把一些Oracle數據庫支持的重大業務,例如阿里巴巴中文站的Offer信息,遷移到MySQL數據庫中得到成功以後,你們的信心滿滿,因此其餘子公司也更積極的推廣MySQL數據庫;
二、之前整個阿里系懂MySQL的DBA或技術人員極少,阿里軟件卻是有1-2位合格的MySQL DBA,其餘公司幾乎能夠用零來形容;
三、淘寶大規模的招聘技術實力和經驗很是豐富的技術人才,尤爲偏向底層的技術人員,迅速提升了淘寶公司在開源領域的技術實力,以及加強他們迫切改造原來系統的構想,因此採用開源技術就是必然的趨勢,他們也有能力修改與完善開源的技術產品;
四、整個阿里系仍是很是多人云亦云的技術人員,尤爲當NoSQL產品開始從國外傳入國內的時候,尤爲DBA團隊很是悲觀,甚至成天吹噓DBA的好日子到頭,你們應該研究NoSQL產品,其實咱們關注與研究新的技術活產品是必然的,可是不能亂了方寸,2009年中旬曾經說過,NoSQL數據庫產品是有限領域使用,不會成爲全行業新的寵兒,時到今日還有哪些人在盲目使用NoSQL數據庫產品呢?
微博引起的討論
一、@阿里八神
去Oracle,其實是去的集中式數據庫架構,並非特地針對I/O/E。爲了追求系統的scale out,選擇了MySQL,當應用作的足夠好,數據庫僅僅做爲一個關係數據的持久層時,是不用太關注下面用啥庫的,固然如今PCIE,flashcache,多核CPU技術的普及,Oracle不必定就得跟小機,存儲綁死在一塊兒。
二、@tb丁原
作爲去什麼的參與者,我也說說,其實公司技術積累到必定地步,相比開源MySQL,Oracle並無太大優點,長遠來看,將來MySQL的成本必定會低於Oracle,而且MySQL的靈活性必定會高於Oracle,公司已經在定製本身的MySQL分支了。
三、@jametong(童加旺_alipay)
考慮一個架構的成本,不能單從一個角度考慮,一個單機的狀況,MySQL以及NoSQL必定比Oracle便宜,可是,因爲MySQL、NoSQL的特性,有些功能沒法支持,規模上去以後,相應的機架、電力、運維成本也會上升,採用Scale Out的架構其實不少時候只是由於Scale Up的代價已經承受不了了。
總結
從阿里巴巴和淘寶網內部的角度看,去Oracle既出於節約成本的考慮,又因爲Oracle對大規模互聯網應用支持力不從心。從Oracle的角度來看,阿里系去Oracle事件確實讓Oracle損失了一個大客戶,也讓Oracle可以更加深刻的思考傳統數據庫如何應對大數據的挑戰。