前言
據說目前MySQL用戶已經達千萬級別了,其中不乏企業級用戶。可以說是目前最為流行的開源數據庫管理系統軟件了。任何產品都不可能是萬能的,也不可能適用於所有的應用場景。那么MySQL到底在什么場景下適用什么場景下不適用呢?
1、Web網站系統
Web站點,是MySQL最大的客戶群,也是MySQL發展史上最為重要的支撐力量,這一點在最開始的MySQLServer簡介部分就已經說明過。
MySQL之所以能成為Web站點開發者們最青睞的數據庫管理系統,是因為MySQL數據庫的安裝配置都非常簡單,使用過程中的維護也不像很多大型商業數據庫管理系統那么復雜,而且性能出色。還有一個非常重要的原因就是MySQL是開放源代碼的,完全可以免費使用。
2、日志記錄系統
MySQL數據庫的插入和查詢性能都非常的高效,如果設計地較好,在使用MyISAM存儲引擎的時候,兩者可以做到互不鎖定,達到很高的並發性能。所以,對需要大量的插入和查詢日志記錄的系統來說,MySQL是非常不錯的選擇。比如處理用戶的登錄日志,操作日志等,都是非常適合的應用場景。
3、數據倉庫系統
隨着現在數據倉庫數據量的飛速增長,我們需要的存儲空間越來越大。數據量的不斷增長,使數據的統計分析變得越來越低效,也越來越困難。怎么辦?這里有幾個主要的解決思路,一個是采用昂貴的高性能主機以提高計算性能,用高端存儲設備提高I/O性能,效果理想,但是成本非常高;第二個就是通過將數據復制到多台使用大容量硬盤的廉價pcserver上,以提高整體計算性能和I/O能力,效果尚可,存儲空間有一定限制,成本低廉;第三個,通過將數據水平拆分,使用多台廉價的pcserver和本地磁盤來存放數據,每台機器上面都只有所有數據的一部分,解決了數據量的問題,所有pcserver一起並行計算,也解決了計算能力問題,通過中間代理程序調配各台機器的運算任務,既可以解決計算性能問題又可以解決I/O性能問題,成本也很低廉。在上面的三個方案中,第二和第三個的實現,MySQL都有較大的優勢。通過MySQL的簡單復制功能,可以很好的將數據從一台主機復制到另外一台,不僅僅在局域網內可以復制,在廣域網同樣可以。當然,很多人可能會說,其他的數據庫同樣也可以做到,不是只有MySQL有這樣的功能。確實,很多數據庫同樣能做到,但是MySQL是免費的,其他數據庫大多都是按照主機數量或者cpu數量來收費,當我們使用大量的pcserver的時候,license費用相當驚人。第一個方案,基本上所有數據庫系統都能夠實現,但是其高昂的成本並不是每一個公司都能夠承擔的。
4、嵌入式系統
嵌入式環境對軟件系統最大的限制是硬件資源非常有限,在嵌入式環境下運行的軟件系統,必須是輕量級低消耗的軟件。
MySQL在資源的使用方面的伸縮性非常大,可以在資源非常充裕的環境下運行,也可以在資源非常少的環境下正常運行。它對於嵌入式環境來說,是一種非常合適的數據庫系統,而且MySQL有專門針對於嵌入式環境的版本。
轉自 《MySQL性能調優與架構》