MySQL 是目前世界上最流行的開源關系數據庫,大多應用于互聯網行業。比如,在國內,大家所熟知的百度、騰訊、淘寶、京東、網易、新浪等,國外的 Google、Facebook、Twitter、GitHub 等都在使用 MySQL。社交、電商、游戲的核心存儲往往也是 MySQL。
任何產品都不可能是萬能的,也不可能適用于所有的應用場景。那么 MySQL 到底適用于哪些場景又不適用于哪些場景呢?
#### 1\. Web 網站系統
Web 網站開發者是 MySQL 最大的客戶群,也是 MySQL 發展史上最為重要的支撐力量。
MySQL 之所以能成為 Web 網站開發者們最青睞的數據庫管理系統,是因為 MySQL 數據庫的安裝配置都非常簡單,使用過程中的維護也不像很多大型商業數據庫管理系統那么復雜,而且性能出色。還有一個非常重要的原因就是 MySQL 是開放源代碼的,完全可以免費使用。
#### 2、日志記錄系統
MySQL 數據庫的插入和查詢性能都非常的高效,如果設計的好,在使用 MyISAM 存儲引擎的時候,兩者可以做到互不鎖定,達到很高的并發性能。所以,對需要大量的插入和查詢日志記錄的系統來說,MySQL 是非常不錯的選擇。比如處理用戶的登錄日志,操作日志等,都是非常適合的應用場景。
#### 3、數據倉庫系統
隨著現在數據倉庫數據量的飛速增長,我們需要的存儲空間越來越大。數據量的不斷增長,使數據的統計分析變得越來越低效,也越來越困難。下面是幾個主要的解決思路。
1)采用昂貴的高性能主機以提高計算性能,用高端存儲設備提高 I/O 性能,效果理想,但是成本非常高;
2)通過將數據復制到多臺使用大容量硬盤的廉價 PC Server?上,以提高整體計算性能和 I/O 能力,效果尚可,存儲空間有一定限制,成本低廉;
3)通過將數據水平拆分,使用多臺廉價的 PC Server 和本地磁盤來存放數據,每臺機器上面都只有所有數據的一部分,解決了數據量的問題,所有 PC Server 一起并行計算,也解決了計算能力問題,通過中間代理程序調配各臺機器的運算任務,既可以解決計算性能問題又可以解決 I/O 性能問題,成本也很低廉。
在上面的三個方案中,第二和第三個的實現,MySQL 都有較大的優勢。通過 MySQL 的簡單復制功能,可以很好的將數據從一臺主機復制到另外一臺 ,不僅僅在局域網內可以復制,在廣域網同樣可以。
當然,很多人可能會說,其他的數據庫同樣也可以做到,不是只有 MySQL 有這樣的功能。確實,很多數據庫同樣能做到,但是 MySQL?是免費的,其他數據庫大多都是按照主機數量或者 cpu 數量來收費,當我們使用大量的 PC Server 的時候,License 費用相當驚人。所以第一個方案,基本上所有數據庫系統都能夠實現,但是其高昂的成本不是每一個公司都能夠承擔的。
#### 4、嵌入式系統
嵌入式環境對軟件系統最大的限制是硬件資源非常有限,在嵌入式環境下運行的軟件系統,必須是輕量級低消耗的軟件。
MySQL 在資源的使用方面的伸縮性非常大,可以在資源非常充裕的環境下運行,也可以在資源非常少的環境下正常運行。它對于嵌入式環境來說,是一種非常合適的數據庫系統,而且 MySQL 有專門針對于嵌入式環境的版本。
并且,MySQL 的定位是通用數據庫,各種類型的應用一般都能利用到 MySQL 存取數據的優勢。業內生產實踐證明,MySQL 更適合中小型企業。以目前的軟硬件產品水平來看,如果數據超過幾個 TB 將難以高效利用 MySQL。
MySQL 可以作為傳統的關系型數據庫產品使用,也可以當作一個 key-value 產品來使用。由于它具有優秀的災難恢復功能,因此相對于目前市場上的一些 key-value 產品會更有優勢。
- 數據庫入門
- 1.常用的數據庫
- 2.數據管理技術的3個發展階段
- 3.數據庫是什么?關系型數據庫和非關系型數據庫又是什么?
- 4.為什么要使用數據庫?
- 5.數據庫系統是什么?它由哪幾部分組成?
- 6.常用數據庫訪問接口簡介
- 7.數據庫的種類有哪些?
- 8.幾種常用的數據庫
- 9.MySQL是什么
- 10.MySQL適用于哪些場景?
- 11.學MySQL前,需要了解這些數據庫專業術語
- 12.MySQL客戶端和服務器架構(C/S架構)
- 13.明白了MySQL內部結構才能成為高手!
- 14.如何學習數據庫(新手必看)?
- 15.小白學習MySQL需要多長時間,能從事哪方面的工作?
- 16.當前市場對數據庫程序員的需求如何?待遇如何?
- 17.DBA到底要做什么,成為一名DBA需要具備什么能力?
- 一、數據庫的概念和常用工具
- 二、MySQL規范、配置及登錄退出操作
- 三、MySQL中的數據類型
- 四、數據庫增查改刪等操作
- 五、數據表增查改刪操作
- 六、MySQL數據增查改刪操作
- 七、MySQL存儲引擎
- 八、MySQL常用函數
- MySQL的安裝和配置
- 1.MySQL 5.7的新特性(新功能)
- 2.MySQL下載步驟詳解
- 3.MySQL安裝配置教程(Windows系統)
- 4.MySQL免安裝版配置教程
- 5.MySQL配置環境變量
- 6.安裝MySQL后,如何判斷是否已安裝成功
- 7.啟動MySQL服務的兩種方式(圖解)
- 8.登錄MySQL數據庫
- 9.對Linux MySQL軟件包的一些說明
- 10.Linux CentOS卸載MySQL(Linux安裝MySQL前的準備)
- 11.Linux安裝配置MySQL詳細步驟
- 12.MySQL my.cnf配置文件詳解
- 13.MySQL常用圖形化管理工具
- 14.MySQL安裝后的目錄結構介紹
- 15.MySQL數據庫文件存放目錄結構詳解
- 16.MySQL配置文件(my.ini)詳解
- 17.與其它數據庫不同,MySQL可以在不同的SQL模式下運行
- 18.MySql Command Line Client閃退原因及解決方案
- MySQL數據庫的基本操作
- 1.SQL是什么?它能做什么?
- 2.SQL的基本書寫規則
- 3.MySQL查看或顯示數據庫(SHOW DATABASES語句)
- 4.MySQL創建數據庫(CREATE DATABASE語句)
- 5.MySQL修改數據庫:ALTER DATABASE用法簡介
- 6.MySQL刪除數據庫(DROP DATABASE語句)
- 7.MySQL選擇數據庫(MySQL USE語句)
- 8.MySQL注釋:單行注釋和多行注釋
- 9.MySQL中SQL語句的大小寫規則
- 10.如何查看MySQL系統幫助?
- 11.看懂SQL錯誤代碼,提高學習效率!
- 數據庫高級
- 一、視圖的操作
- 二、觸發器的操作
- 三、事務的操作
- 四、索引的操作
- 五、存儲過程的操作
- 六、數據庫的優化方案
- 1.分庫、分表和索引
- 2.讀寫分離和查詢優化
- 3.join代替子查詢
- 4.盡量使用短小的事務
- 5.常用小技巧
- MySQL使用注意事項
- 1.字符亂碼及連接驅動