前言
據說目前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效能調優與架構》