MYSQL性能調優與架構設計學習筆記 - 基礎篇 MYSQL基本介紹

目錄:算法

小結數據庫

MYSQL簡介編程

MYSQL與其餘數據庫比較性能

MYSQL主要使用場景學習

 

小結:測試

經過本章學習瞭解MYSQL的大部分基本信息, 對於MYSQL主要特長以及使用場景有一個初步瞭解。網站

 

MYSQL簡介spa

1.1.2 艱難誕生開放源代碼

1985年,以David Axmark爲首的一個瑞典團隊成立了一家公司。公司主要是爲零售商提供數據倉庫服務(能夠理解爲何直至如今,MYSQL最擅長的是查詢性能,而不是事務處理),而且但願可以使用開源的產品來實現。所以,就設計了一個利用索引順序存儲數據的方法,即ISAM(Indexed Sequential Access Method)存儲引擎核心算法的前身。插件

1.1.3 尋求發展

MYSQL誕生的時候,正是互聯網開始高速發展的時期。MYSQL AB知足了開發者對數據庫產品的需求:標準化查詢語句的支持,高效的數據存取,沒必要關心事務完整性,簡單易用,且成本低廉。

因此當時大量的小公司都願意採用MYSQL做爲數據庫應用系統的數據庫管理系統,因此用戶羣不斷增加,進一步促進了MYSQL自身不斷的改進和完善,進入良性循環。

1.1.4 巨人崛起

MYSQL能高速發展離不開另一個很關鍵的因素:就是開放源代碼。

2000年,MYSQL公佈了本身的源代碼,並採用GPLGNU General Public License)許可協議,正式進入開源世界。

 

MYSQL與其餘數據庫比較

1.2.1 功能比較

MYSQL已經基本具有了全部通用數據庫管理系統須要的相關功能(ANSI SQL 92)。

舉例說明:

1)  字段類型支持(能夠經過TCXCrash-me測試套件的測試報告確認)

PostgreSQL(另外一個開源數據庫)支持的類型是最完整的。

Oracle和其餘如DB2Sybase等較MYSQL要相對少一些。

2)  事務支持

MYSQL引入第三方插件式存儲引擎InnoDB實現了SQL 92標準定義的4個事務隔離級別(read uncommitted, read committed, repeatable, seralizable)的所有

Oracle僅實現其中2種(read committed, seralizable

PostgreSQL 支持4種隔離級別

3)  可編程支持

MYSQL與其餘數據庫比較存在差別,可是最新版已經開始提供一些簡單的可編程支持。如開始支持Procedure, Function, Trigger等。

OraclePL/SQL SQL Server T-SQL PostgreSQL也有PL/PGSQL的支持。

1.2.2 易用性比較

1)系統易用性:

MYSQL的優點所在,由於MYSQL一直奉行簡單易用的原則,也正是這一特性吸引了大量的初級數據庫用戶。

2)安裝

MYSQL安裝包大小僅在100MB左右,與其餘幾大商業數據庫相比徹底不是一個數量級。安裝易用(不管是已經編譯的二進制分發包仍是源碼編譯安裝,都是很是容易)。

3)數據庫建立

MYSQL僅須要一個簡單的Create database命令就能夠瞬間完成建庫動做。

1.2.3 性能比較(第三方評測機構屢次測評的TPCC值)

性能高一直是MYSQL引以自豪的一個特色。僅Oracle數據庫可以與其一較高下。

MYSQL一直以來奉行一個原則: 那就是在保證足夠穩定性的前提下,儘量的提升自身的處理能力。

1.2.4 可靠性

MYSQL在這方面,並不會比商業廠商的產品遜色太多。從早期的Facebook 還有排在前10的大型網站裏面,大部分都有部分業務是運行在MYSQL數據庫環境下的,如Yahoo Google

 

整體來講:MYSQL一直三原則:簡單,高效,可靠

 

MYSQL主要使用場景

1.       Web網站系統

2.       日誌記錄系統

3.       數據倉庫系統

4.       嵌入式系統

相關文章
相關標籤/搜索