mysql邏輯組 MySql邏輯結構簡介

2021-10-17 18:06:07 字數 1211 閱讀 2582

結構示意圖:

如上圖,可把資料庫的結構分成四層,見下圖及文字說明

一、連線層

提供客戶端和連線服務,包含本地sock通訊和大多數基於客戶端/服務端工具實現的類似於tcp/ip的通訊,主要完成一些類似於連線處理、授權認證、及相關的安全方案,在該層上引入了執行緒池的概念,為通過認證安全接入的客戶端提供執行緒,同樣在該層上可以實現基於ssl的安全鏈結。伺服器也會為安全接入的每個客戶端驗證它所具有的操作許可權。

注:分配資料庫連線線程池,控制資料庫的連線和關閉等資源。

二、業務邏輯處理層

主要完成大多數的核心服務功能,如sql介面,並完成快取的查詢,sql的分析和優化及部分內建函式的操作。所有跨操作引擎的功能也在這一層實現,如過程,函式等。在該層伺服器會解析查詢並建立相應的內部解析樹,並對其完成相應的優化如確定查詢表的順序,是否利用索引等,最後生成相應的執行操作。如果是select語句,伺服器還會查詢內部的快取,如果快取空間足夠大,這樣在解決大量讀操作的環境中能夠很好的提公升系統的效能。

注:提供sql操作的介面,對sql指令碼按一定規則進行解析,並通過sql優化器優化執行順序,對於查詢的語句還會進入快取區,提公升系統的效能。

第三層:資料儲存引擎層

儲存引擎真正的負責了mysql中資料的儲存和提取,伺服器通過api與儲存引擎進行通訊,不同的儲存引擎具有的功能不同,這樣我們可以根據自己的實際需要進行選選取。

注:儲存引擎都是可插拔的,每個儲存引擎所提供的服務都有所差異,所以我們需要根據具體的業務需要,選擇合適的儲存引擎,常用的只有兩種myisam和innodb。

第四層:資料儲存層

主要是將資料儲存在執行於裸裝置的檔案系統上,並完成與儲存引擎的互動。

注:將資料儲存到磁碟上,並協同儲存引擎對資料進行讀寫操作。

總結:資料庫邏輯結構共分為四層,分別是連線層(執行緒連線池)、業務邏輯處理層(sql解析讀取)、資料儲存引擎層(儲存引擎)、資料儲存層(資料儲存)

和其它的資料庫相比,mysql有點與眾不同,它的架構可以在多種不同場景中應用並發揮良好作用,主要體現在儲存引擎的架構上,外掛程式式的儲存引擎架構將查詢處理和其它的系統任務以及資料的儲存提取相分離,這種架構可以根據業務的需求和實際需要選擇合適的儲存引擎。

mysql 多邏輯 MySql邏輯架構

一 mysql伺服器邏輯架構圖 每個虛線框都是一層 第二層 大多數的mysql的核心服務功能都在這一層,包括查詢解析 分析 優化 快取以及所有的內建函式 例如 日期,時間,數學和加密函式等 所有跨儲存引擎的功能都在這一層實現 儲存過程,觸發器,檢視。第三層 包含了儲存引擎。儲存引擎負責mysql中的...

mysql 多邏輯 Mysql的邏輯架構

mysql的邏輯架構圖 mysql是分層的 整體分為 connectors 連線驅動 enterprise management services utillties 服務管理器和一些工具 connection pool 連線池 sql interfice sql介面 parser 解析器 opti...

mysql如何邏輯刪除 mysql邏輯刪除如何恢復

在專案中,一般會遇到這種情況 邏輯刪除以及多關聯不刪除 邏輯刪除 軟刪除 邏輯刪除就是對要被刪除的資料打上乙個刪除標記,通常使用乙個is deleted欄位標示行記錄是不是被刪除 或者使用乙個status欄位代表所謂的 刪除 狀態 在邏輯上是資料是被刪除的,但資料本身是依然存在的。在前端頁面中刪除了...