目錄
一、MySQL介紹
二、Mysql分支以及替代
Drizzle
MariaDB
Percona Server
三、Mysql基礎體系架構

一、MySQL介紹
MySQL 由瑞典MysqlAb 公司開發,屬于 Oracle旗下產品,MySQL 是當前最流行的關系型資料庫管理系統,京東、阿里、等互聯網大廠基本都是使用Myql資料庫進行業務資料的存盤,
MySQL的版本眾多,目前最新版本為MySQL8,但絕大部分廠商當前主要是用還是MySQL5.7.32左右的版本,
除此之外,MySQL之父Widenius先生離開了Sun之后,覺得依靠Sun/Oracle來發展MySQL,實在很不靠譜,于是Mysql誕生出了很多分支和相關替代產品

二、Mysql分支以及替代
MySQL 變種有好幾個,主要有三個久經考驗的主流變種:Percona Server, MariaDB 和 Drizzle,它們都有活躍的用戶社區和某種程度上的商業支持,均由獨 立的服務供應商支持,
Drizzle
Drizzle 是真正的 MySQL 分支,而且是完全開源的產品,而非只是個變種或 增強版本,它并不與 MySQL 兼容不能簡單地將 MySQL 后端替換為 Drizzle,
Drizzle 與 MySQL 有很大差別,進行了一些重大更改,甚至 SQL 語法的變化 都非常大,設計目標之一是提供一種出色的解決方案來解決高可用性問題,在實 現上,Drizzle 清除了一些表現不佳和不必要的功能,將很多代碼重寫,對它們進 行了優化,甚至將所用語言從 C 換成了 C++,
此外,Drizzle 另一個設計目標是能很好的適應具有大量內容的多核服務器、 運行 Linux 的 64 位機器、云計算中使用的服務器、托管網站的服務器和每分鐘 接收數以萬計點擊率的服務器并且大幅度的削減服務器成本,
MariaDB
在 Sun 收購 MySQL 后,Monty Widenius ,這位 MySQL 的創建者,因不認同 MySQL 開發流程而離開 Sun,他成立了 Monty 程式公司,創立了 MariaDB,MariaDB 的目標是社區開發,Bug 修復和許多的新特性實際上,可以將 MariaDB 視為 MySQL 的擴展集,它不僅提供 MySQL 提供的所有功能,還提供其他功能,MariaDB 是 原版 MySQL 的超集,因此已有的系統不需要任何修改就可以運行,
諸如 Google ,Facebook 、維基百科等公司或者網站所使用了 MariaDB ,不過 Monty 公司不是以贏利為目的,而是由產品驅動的,這可能會帶來問題,因為沒 有贏利的公司不一定能長久維持下去,
Percona Server
由領先的 MySQL 咨詢公司 Percona 發布,Percona 公司的口號就是“The Database Performance Experts” ,Percona 的創始人也就是《高性能 MySQL》書 的作者,
Percona Server 是個與 MySQL 向后兼容的替代品,它盡可能不改變 SQL 語法、 客戶端/服務器協議和磁盤上的檔案格式,任何運行在 MySQL 上的都可以運行在 Percona Server 上而不需要修改,切換到 Percona Server 只需要關閉 MySQL 和啟 動 PerconaServer ,不需要匯出和重新匯入資料,
Percona Server 有三個主要的目標:透明,增加允許用戶更緊密地查看服務 器內部資訊和行為的方法,比如慢查詢日志中特別增加的詳細資訊;性能, Percona Server 包含許多性能和可擴展性方面的改進,還加強了性能的可預測性 和穩定性,其中主要集中于 InnoDB;操作靈活性,Percona Server 使操作人員和 系統管理員在讓 MySQL 作為架構的一部分而可靠并穩定運行時提供了很多便利,
一般來說,Percona Server 中的許多特性會在后來的標準 MySQL 中出現, 國內公司阿里內部就運行了上千個 Percona Server 的實體,
三、Mysql基礎體系架構
官方給出的Mysql基礎體系架構圖如下:

可以看出 MySQL 最上層是連接組件,下面服務器是由連接池、管理工具和服務、SQL 介面、決議器、優化器、快取、存盤引擎、檔案系統組成,
連接池:由于每次建立建立需要消耗很多時間,連接池的作用就是將這些連 接快取下來,下次可以直接用已經建立好的連接,提升服務器性能,
管理工具和服務:系統管理和控制工具,例如備份恢復、Mysql 復制、集群 等
SQL 介面:接受用戶的 SQL 命令,并且回傳用戶需要查詢的結果,比如 select from 就是呼叫 SQL Interface
決議器:SQL 命令傳遞到決議器的時候會被決議器驗證和決議,決議器主要 功能:
a . 將 SQL 陳述句分解成資料結構,并將這個結構傳遞到后續步驟,以后 SQL 陳述句的傳遞和處理就是基于這個結構的
b. 如果在分解構成中遇到錯誤,那么就說明這個 sql 陳述句是不合理的
優化器:查詢優化器,SQL 陳述句在查詢之前會使用查詢優化器對查詢進行優 化,
快取器: 查詢快取,如果查詢快取有命中的查詢結果,查詢陳述句就可以直 接去查詢快取中取資料,這個快取機制是由一系列小快取組成的,比如表快取,記錄快取,key 快取, 權限快取等,
存盤引擎、檔案系統的作用,后面會細講,
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/386537.html
標籤:其他
上一篇:Nginx學習筆記(1).尚硅谷
下一篇:Nginx再出發
