一 、資料庫和資料庫例項
在MySQL的學習研究中,存在兩個非常容易混淆的概念,即資料庫和資料庫例項。
在MySQL中,資料庫和資料庫例項定義如下:
資料庫:儲存資料的集合;
資料庫例項:運算元據庫的集合。
如上定義很清楚了,資料庫是用來儲存資料的,資料庫例項是用來運算元據的
從作業系統的角度,資料庫例項表現為一個程式,對應多個執行緒.
在非叢集資料庫架構中,資料庫與資料庫例項存在一 一對應關係,在資料庫叢集中,可能存在多個資料庫例項操作一個資料庫情況,即多對一關係。
二 、MySQL基架
對於MySQL來說,雖然經歷了多個版本迭代,但每次的迭代,都是基於MySQL基架的。
MySQL基架大致包括如下幾大模組元件:
MySQL向外提供的互動介面(Connectors)
管理服務元件和工具元件(Management Service & Utilities)
連線池元件(Connection Pool)
SQL介面元件(SQL Interface)
查詢分析器元件(Parser)
優化器元件(Optimizer)
快取主件(Caches & Buffers)
外掛式儲存引擎(Pluggable Storage Engines)
物理檔案(File System)
1.MySQL向外提供的互動介面(Connectors)
Connectors元件,是MySQL向外提供的互動元件,如java,.net,php等語言可以通過該元件來操作SQL語句,實現與SQL的互動。
2.管理服務元件和工具元件(Management Service & Utilities)
提供對MySQL的整合管理,如備份(Backup),恢復(Recovery),安全管理(Security)等
3.連線池元件(Connection Pool)
負責監聽對客戶端向MySQL Server端的各種請求,接收請求,轉發請求到目標模組。
每個成功連線MySQL Server的客戶請求都會被建立或分配一個執行緒,該執行緒負責客戶端與MySQL Server端的通訊,接收客戶端傳送的命令,傳遞服務端的結果資訊等。
4.SQL介面元件(SQL Interface)
接收使用者SQL命令,如DML,DDL和儲存過程等,並將最終結果返回給使用者。
5.查詢分析器元件(Parser)
首先分析SQL命令語法的合法性,並嘗試將SQL命令分解成資料結構,若分解失敗,則提示SQL語句不合理。
6.優化器元件(Optimizer)
對SQL命令按照標準流程進行優化分析。
7.快取主件(Caches & Buffers)
快取和緩衝元件
8.MySQL儲存引擎
1.什麼是MySQL儲存引擎?
MySQL屬於關係型資料庫,而關係型資料庫的儲存是以表的形式進行的,對於表的建立,資料的儲存,檢索,更新等都是由MySQL儲存引擎完成的,這也是MySQL儲存引擎在MySQL中扮演的重要角色。
研究過SQL Server和Oracle的讀者可能很清楚,這兩種資料庫的儲存引擎只有一個,而MySQL的儲存引擎種類比較多,如MyISAM儲存引擎,InnoDB儲存引擎和Memory儲存引擎.
MySQL之所以有多種儲存引擎,是由MySQL的開源性決定的。MySQL儲存引擎從種類上來說,大致可歸結為官方儲存引擎和第三方儲存引起。
MySQL的開源性,允許第三方基於MySQL骨架,開發適合自己業務需求的儲存引擎。
2.MySQL儲存引擎作用
MySQL儲存引擎在MySQL中扮演重要角色,其作比較重要作用,大致歸結為如下兩方面:
作用一:管理表建立,資料檢索,索引建立等
作用二:滿足自定義儲存引擎開發。
3.MySQL引擎種類
不同種類的儲存引擎,在儲存表時的儲存引擎表機制也有所不同,從MySQL儲存引擎種類上來說,可以分為官方儲存引擎和第三方儲存引擎。
當前,也存在多種MySQL儲存引擎,如MyISAM儲存引擎,InnoDB儲存引擎,NDB儲存引擎,Archive儲存引擎,Federated儲存引擎,Memory儲存引擎,Merge儲存引擎,Parter儲存引擎,Community儲存引擎,Custom儲存引擎和其他儲存引擎。
其中,比較常用的儲存引擎包括InnoDB儲存引擎,MyISAM儲存引擎和Momery儲存引擎。
4.幾種典型MySQL儲存引擎比較
9.物理檔案(File System)
實際儲存MySQL 資料庫檔案和一些日誌檔案等的系統,如Linux,Unix,Windows等。
三、一個查詢流程圖
四、參看文獻
【01】MySQL權威指南 (美)Paul Dubois著 楊濤 楊曉雲 王群 等譯
【02】MySQL技術內幕 InnoDB儲存引擎 姜承堯著
【03】SQL學習指南 (美)Alan Beaulieu 著
作者:Alan
來源:https://www.cnblogs.com/wangjiming/p/10410904.html
End
長按下圖二維碼,即刻關注【狸貓技術窩】
阿里、京東、美團、位元組跳動 頂尖技術專家坐鎮
為IT人打造一個 “有溫度” 的技術窩!