首先要先來看看是否是真的不少公司開始去oracle而使用mysql。
historical trend of the popularity ranking of database management systemsmysql
從圖片來看,oracle和mysql的流行程度沒有明顯的逆轉,oracle仍是關係形數據庫中的老大。
我沒有找到在互聯網行業中的統計數據,但願有知友補充。
在知道了是否是以後,正式開始答題。
我本人是一個mysql dba,對於oracle瞭解很少,因此要我直接從正面去解答這個問題呢,多多少少都是會有一些偏袒的,因此我想把這個問題轉化一下,就是一個公司在做出數據庫選型轉變的時候,須要考慮哪些方面的因素?淘寶從oracle轉爲mysql能夠做爲這個問題很好的一個例子。sql
成本因素
咱們都知道mysql是開源的,也就是說徹底免費,而oracle價格不菲,若是再考慮到搭載oracle的服務器和存儲設備的話,那直接能夠看見的成本差距確實很大,這是現實。可是這樣就簡單的判斷從oracle遷移到mysql就必定節約成本,我以爲這個事兒很差說。直接根據產品自己購買價格算成本的方式不能說錯,可是確定不全面,還漏了很多東西要算。
風險成本:2008年的淘寶是一輛在高速公路上飛馳的汽車,業務發展是很快的,這個時候要遷移數據庫這樣的基礎架構,那必然是牽一髮而動全身的事情。就比如要給這輛在高速公路上的汽車換個引擎,車還不能熄火,這個事情自己的難度和風險就是很大的。
技術成本:其實上面提到了遷移過程的難度大。主要有幾個方面,業務不能停,數據一致性,大量的業務可能面臨解耦,重構等等,這些作完總體架構可能都變天了,這個是須要大量開發人員費時費力還不必定就能百分百作好的事兒。若是沒有一點前期的技術積累,幾乎不可能完成,淘寶這方面的實力確實國內領先(這裏感嘆一下)。
人力成本:大量開發人員作重構的時候仍是要拿工資的吧。新技術的學習成本也要算進去,這個包括了運維的dba和各個業務的開發人員,凡是須要用db的人都要新學一遍,這也要花很多時間和精力。還有在決定遷移的這一刻,對於以前的一些技術的積累,包括人員的培養等方面,必定是有浪費的,物體的運動軌跡發生突變每每意味着能量損失,這是一個道理。隨着技術轉型,一批老的出色的oracle dba和開發人員的流失帶來的損失更難估量。
若是把這些七七八八都算進去的話,那還真的必定節約成本麼?至少在短期內,這個事兒很差說,反正我是老闆的話,我算不清。數據庫
業務因素
這裏可能用「業務場景」這個詞解釋更加合適,或者說這是一個數據庫選型的問題。根據淘寶架構師在公開場合的描述,當時淘寶的業務量發展太快了,這使得本來基於oracle舊架構的系統擴展性不能很好支撐整個業務了,架構解藕這件事已是車到山前了,這就意味着業務須要分拆,數據庫須要分拆。若是業務只須要十幾個或者幾十個集羣就能承載的話,那我以爲oracle徹底ok,可是如今大型互聯網公司的業務規模都是須要上百集羣,上千機器來承載,對於這樣的規模,mysql這樣輕量級的數據庫更合適。因此這裏不是誰更好的問題,只是哪一種數據庫產品更適合當前及將來公司的業務場景,換句話說,就是「物盡其用」而已。如今不是也有不少數據從mysql向nosql遷移了麼。服務器
技術趨勢
當前互聯網技術發展有個總體的趨勢,就是開源產品爲主流。oracle是這個世界上到目前爲止最優秀的關係形數據庫產品,可是他閉源,閉源就意味着在整個互聯網大行業背景下,這個產品自己就可能變的愈來愈小衆,對於一家互聯網公司使用的基礎架構自己很小衆的話還不是什麼太大的問題,可是其致使的技術上的壁壘就很難接受了,本身最核心的基礎架構掌握在別人家手裏,核心技術都是人家的,這就比如芒刺在背。打個可能不太恰當的比方吧,有一天你LOL天梯打到了2000,可是你發現你的圈子裏已經沒什麼人玩這個了,別人都去玩另一個遊戲了,並且仍是別人本身開發的遊戲,代碼能本身改,能本身寫外掛能加英雄加功能。你固然能夠繼續玩LOL,你能夠始終是個頂級玩家,可是同時你失去了成爲頂級遊戲開發者的機會。
說到這裏我想再延伸一下,有個成語叫「不破不立」,拿淘寶遷到mysql的例子來講的話(遷mysql我想可能只是一部分),淘寶在這個分拆重構的過程當中積累了不少技術。淘寶內部人員也在公開場合也提到過,淘寶在那段時間誕生了不少出色的架構師,積累不少新技術,好比不少中間件,底層針對mysql的優化,運維工具等等,可能沒有當時的那次變革,阿里的RDS出現可能還要晚幾年,甚至出不來。架構
高層意志
我看到過有淘寶系的人說那次遷移實際上是某博士的一次政治運動,反正咱不是阿里的人,咱就瞎猜了哈。遷移這事兒誰提出來的很差說,可是獲得高層的首肯是必然的,甚至我以爲這樣的規模必然是有高層的壓力的,若是這個事情說服不了大老闆,很難想象下面上千的開發人員行動能統一。oracle
大概就先到這吧,寫得有點亂,題主湊合看了,好像說了半天也沒說去oracle而使用mysql到底好很差,題主能夠本身根據以上因素本身掂量掂量。至於淘寶從oracle遷到mysql好很差,我挺某博士。運維