MySql 與其餘數據庫簡單比較

在事務支持方面,雖然MySQL本身的存儲引擎並無提供,可是已經經過第三方插件式存儲引擎Innodb實現了SQL92標準所定義的四個事務隔離級別的所有 
好比,你們所熟知的大名鼎鼎的Oracle數據庫就僅僅實現了其中的兩種(Serializable和ReadCommited),而PostGreSQL,一樣支持四種隔離級別。
而PostGreSQL,一樣支持四種隔離級別。

不過在可編程支持方面,MySQL和其餘數據庫相比還有必定的差距,雖然最新版的MySQL已經開始提供一些簡單的可編程支持,如開始支持Procedure,Function,Trigger等,
可是所支持的功能還比較有限,和其餘幾大商用數據庫管理系統相比,還存在較大的不足。

易用性比較

從安裝方面來講,MySQL安裝包大小僅僅只有100MB左右,這幾大商業數據庫徹底不在一個數量級。
安裝難易程度也要比Oracle等商業數據庫簡單不少,不管是經過已經編譯好的二進制分發包仍是源碼編譯安裝,都很是簡單。

再從數據庫建立來比較,MySQL僅僅只須要一個簡單的CREATEDATABASE命令,便可在瞬間完成建庫的動做,
而Oracle數據庫與之相比,建立一個數據庫簡直就是一個很是龐大的工程。固然,兩者數據庫的概念存在必定差異也不能否認。

性能比較
性能方面,一直是MySQL引覺得自豪的一個特色。
在權威的第三方評測機構屢次測試較量各類數據庫TPCC值的過程當中,MySQL一直都有很是優異的表現,並且在其餘全部商用的通用數據庫管理系統中,僅僅只有Oracle數據庫可以與其一較高下。
MySQL但願本身是一個在知足客戶99%的功能需求的前提下,花掉剩下的大部分精力來性能努力,

可靠性 

關於可靠性的比較,並無太多詳細的評測比較數據,可是從目前業界的交流中能夠了解到,幾大商業廠商的數據庫的可靠性確定是沒有太多值得懷疑的。
可是作爲開源數據庫管理系統的表明,MySQL也有很是優異的表現,而並非像有些人心中所懷疑的那樣,由於不是商業廠商所提供,就會不夠穩定不夠健壯。
從當前最火的Facebook這樣大型的網站都是使用MySQL數據庫,就能夠看出,MySQL在穩定可靠性方面,並不會比咱們的商業廠商的產品有太多遜色。
並且排在全球前10位的大型網站裏面,大部分都有部分業務是運行在MySQL數據庫環境上,如Yahoo,Google等。 
總的來講,MySQL數據庫在發展過程當中一直有本身的三個原則:簡單、高效、可靠。從上面的簡單比較中,咱們也能夠看出,在MySQL本身的全部三個原則上面,沒有哪一項是作得很差的。
並且,雖然功能並非MySQL自身所追求的三個原則之一,可是考慮到當前用戶量的急劇增加,用戶需求愈來愈越多樣化,MySQL也不得不在功能方面作出大量的努力,來
不斷知足客戶的新需求。好比最近版本中出現的EentScheduler(相似於Oracle的Job功能),Partition功能,自主研發的Maria存儲引擎在功能方面的擴展,
Falcon存儲引擎對事務的支持等等,都證實了MySQL在功能方面也開始了不懈的努力。 任何一種產品,都不多是完美的,也不可能適用於全部用戶。
咱們只有衡量了每一種產品的各類特性以後,從中選擇出一種最適合於自身的產品。


MySQL 的主要適用場景 
那麼MySQL到底在什麼場景下適用什麼場景下不適用呢? 
一、Web網站系統 Web站點,是MySQL最大的客戶羣,也是MySQL發展史上最爲重要的支撐力量,這一點在最開始的MySQLServer簡介部分就已經說明過。 MySQL之因此能成爲Web站點開發者們最青睞的數據庫管理系統,是由於MySQL數據庫的安裝配置都很是簡單,
使用過程當中的維護也不像不少大型商業數據庫管理系統那麼複雜,
並且性能出色。還有一個很是重要的緣由就是MySQL是開放源代碼的,徹底能夠無償使用。

二、日誌記錄系統 MySQL數據庫的插入和查詢性能都很是的高效,若是設計地較好在使用MyISAM存儲引擎的時候,二者能夠作到互不鎖定,達到很高的併發性能。因此,對須要大量的插入和查詢日誌記錄的系統來講,MySQL是很是不錯的選擇。好比處理用戶的登陸日誌,操做日誌等,都是很是適合的應用場景。

 三、數據倉庫系統 隨着如今數據倉庫數據量的飛速增加,咱們須要的存儲空間愈來愈大。數據量的不斷增加,使數據的統計分析變得愈來愈低效,也愈來愈困難。怎麼辦?
 這裏有幾個主要的解決思路,一個是採用昂貴的高性能主機以提升計算性能,用高端存儲設備提升I/O性能,效果理想,可是成本很是高;
 第二個就是經過將數據複製到多臺使用大容量硬盤的廉價pcserver上,以提升總體計算性能和I/O能力,效果尚可,存儲空間有必定限制,成本低廉;
 第三個,經過將數據水平拆分,使用多臺廉價的pcserver和本地磁盤來存放數據,每臺機器上面都只有全部數據的一部分,解決了數據量的問題,全部pcserver一塊兒並行計算,也解決了計算能力問題,經過中間代理程序調配各臺機器的運算任務,既能夠解決計算性能問題又能夠解決I/O性能問題,成本也很低廉

 在上面的三個方案中,第二和第三個的實現,MySQL都有較大的優點。經過MySQL的簡單複製功能,能夠很好的將數據從一臺主機複製到另一臺,不只僅在局域網內能夠複製,在廣域網一樣能夠。固然,不少人可能會說,其餘的數據庫一樣也能夠作到,不是隻有MySQL有這樣的功能。
 確實,不少數據庫一樣能作到,可是MySQL是免費的,其餘數據庫大多都是按照主機數量或者cpu數量來收費,
 當咱們使用大量的pcserver的時候,license費用至關驚人。第一個方案,基本上全部數據庫系統都可以實現,
可是其高昂的成本並非每個公司都可以承擔的。 

四、嵌入式系統 嵌入式環境對軟件系統最大的限制是硬件資源很是有限,在嵌入式環境下運行的軟件系統,必須是輕量級低消耗的軟件。 
MySQL在資源的使用方面的伸縮性很是大,能夠在資源很是充裕的環境下運行,也能夠在資源很是少的環境下正常運行。
它對於嵌入式環境來講,是一種很是合適的數據庫系統,並且MySQL有專門針對於嵌入式環境的版本。








相關文章
相關標籤/搜索