歡迎光臨
每天分享高質量文章

資料庫歷險記(一) | MySQL這麼好,為什麼還有人用Oracle?

點擊上方“芋道原始碼”,選擇“置頂公眾號”

技術文章第一時間送達!

原始碼精品專欄

 

關係型資料庫(Relational DataBase Management System),簡稱 RDBMS。說起關係型資料庫,我們腦海中會立即浮現出 Oracle、MySQL、SQLServer 等資料庫,這些都是我們常用的關係型資料庫。

關係型資料庫最大的特點就是在其關係這個詞,它可以儲存資料庫中的各種關係。那麼這個關係如何理解呢?我們就拿學校的一個例子來講吧。

在學校里,我們有老師(Teacher)、學生(Student)、課程(Course)這幾個物體,而這幾個物體之間都是有一定關係的。

例如:一個老師能教多個學生,一個學生也能被多個老師教,所以老師和學生之間的關係是N:N的關係。於此類似,學生與課程也是N:N的關係。

1
關係型資料庫的發展歷程

在1979年,Larry Ellison 使用彙編和C語言主導開發了第一個商用關係型資料庫 Oracle。在此之後的接近16年內的時間,Oracle 資料庫一路奔跑,成為了世界上最流行的關係型資料庫。

在1989年,微軟(Microsoft)也發佈了一個關係型資料庫 SQL Server,但其同樣也是一個收費的商業型資料庫。

直到1995年,瑞典公司MySQL AB發佈了 MySQL 資料庫的第一個版本,從此終結了關係型資料庫只能用 Oracle、SQL Server 這些收費軟體的神話。

在 MySQL 誕生後,因為其開源、免費的特性,所以其得到了眾多中小使用者的擁護,其用戶量增長迅猛。而在這期間,MySQL的主人也幾易其手。

在2008年,Sun 公司收購了 MySQL AB 公司,同時也獲得了 MySQL 資料庫的管理權。在 2010 年的時候,Oracle 公司收購了 Sun 公司,獲得了 MySQL 的管理權。

而就在 Oracle 收購 Sun 公司的當天,因為擔心被 Oracle 收購後MySQL的前景會受到限制,被稱為 MySQL 之父的 Michael Widenius fork 了 MySQL 的一個分支,啟動了 MariaDB 專案。

果不其然,在被收購不久後,MySQL隨即推出了相關的收費版本。雖然原來的免費版本仍然可以使用,但在可預見的未來,Oracle 投入到 MySQL 中的精力可能很有限。畢竟Oracle是一個商業公司,也是要養家糊口的。

現在我們可以瞭解到現在主流關係型資料庫的誕生和發展概況,主要可以分為下麵幾個階段:

  • 1979年,Oracle 資料庫誕生

  • 1989年,SQL Server 資料庫誕生

  • 1995年,MySQL 資料庫誕生

那這些關係型資料庫都有什麼差異呢?

它們各自的適用場景又是哪些呢?

2
MySQL與Oracle的恩怨情仇

說到上面這三個資料庫,很多人的印象是 Oracle 很大,但是很難使用。MySQL 使用很方便,似乎是最好的選擇。SQL Server 是最沒有存在感的一個資料庫,基本上處於高不成低不就的狀態。

從 db-engines.com 網站關係型資料庫市場份額排名來看,現在市場份額最高的還是 Oracle 資料庫,MySQL 次之,接下來則是 SQL Server 資料庫。

這個排名似乎遠遠顛覆了我們的日常認知,因為在我們周邊貌似很少人使用Oracle,但為什麼其市場份額能這麼高呢?

任何事情都不可能空穴來風,Oracle能占有這麼大市場份額是因為其在海量資料的處理上更具有優勢,並且能提供一整套的資料儲存解決方案。

所以在一些非常大的企業里,這些企業擁有龐大的資金能力,所以它們會選擇用錢購買解決方案,而不是自己雇佣人員使用 MySQL 去維護。

總的來說,Oracle比起MySQL具有下麵的優點:

  • 眾多的資料庫特性,能滿足企業的多樣性需求

  • 海量資料處理的優勢

  • 一整套資料解決方案

但是 Oracle 的缺點也很明顯,那就是價格昂貴。

因為Oracle有上面這些特性,所以Oracle更加適合那些大型跨國企業。因為這些企業資金充足,能承擔得起Oracle的昂貴費用。

另一方面,這些企業的資料量也是非常龐大,它們更註重資料的安全性和高效儲存,並且關心的出現問題的時候能快速解決,Oracle提供的一系列服務正好符合它們的需求。

而對於一些中小型企業或者個人使用者來說,一方面Oracle軟體非常笨重,另一方面Oracle授權費用昂貴,對於它們來說無法承受。

而它們的資料庫又恰好不是特別大,所以對於這些使用者來說,使用MySQL已經能夠解決它們的需求了。那麼也就無需去付費使用Oracle的資料庫了。

3
總結

如果單單是從資料庫性能來比較的話,那麼Oracle資料庫無疑是天下第一、弔打MySQL的,畢竟Oracle比MySQL誕生早了10多年。

但很多時候還是得結合具體的使用場景來做出合適的選擇,畢竟殺雞不用牛刀嘛,能不用錢解決的,為何要付費解決呢!

所以當你的資料量很大,並且你自身並不缺錢,那麼你直接上Oracle吧!如果資金有限,資料量也不大,那麼就用MySQL吧!

如果覺得文章還不錯,記得點贊評論轉發哦。


知識星球

目前在知識星球(https://t.zsxq.com/2VbiaEu)更新瞭如下 Dubbo 原始碼解析如下:

01. 除錯環境搭建
02. 專案結構一覽
03. API 配置(一)之應用
04. API 配置(二)之服務提供者
05. API 配置(三)之服務消費者
06. 屬性配置
07. XML 配置
08. 核心流程一覽

一共 60 篇++

赞(0)

分享創造快樂