日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

MySQL 高级 ———— MySQL逻辑架构图简介

發布時間:2025/3/12 数据库 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MySQL 高级 ———— MySQL逻辑架构图简介 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

引言

本篇文章介紹MySQL的邏輯架構圖。

MySQL并不完美,但足夠靈活,能夠適應高要求環境。MySQL不僅可以嵌入到應用程序中,同時也可以支持數據倉庫、內容搜索、和部署軟件、高可用的冗余系統、在線事務處理系統等各種應用類型。

一、MySQL邏輯架構

MySQL最重要、最與眾不同的特性就是它的存儲引擎架構,這種架構將:查詢處理、其他系統任務、數據的存儲與提取 三部分分離。所以,帶來的好處就是可以在使用時根據性能、特性,以及其他需求來選擇數據存儲方式。

存儲引擎架構分為三層,自上而下,分為第一層:連接層;第二層:服務層;第三層:引擎層。

連接層:

MySQL的最上層是連接服務,引入了線程池的概念,允許多臺客戶端連接。主要工作是:連接處理、授權認證、安全防護等。

連接層為通過安全認證的接入用戶提供線程,同樣,在該層上可以實現基于SSL 的安全連接。

服務層:

服務層用于處理核心服務,如標準的SQL接口、查詢解析、SQL優化和統計、全局的和引擎依賴的緩存與緩沖器等等。所有的與存儲引擎無關的工作,如過程、函數等,都會在這一層來處理。在該層上,服務器會解析查詢并創建相應的內部解析樹,并對其完成優化,如確定查詢表的順序,是否利用索引等,最后生成相關的執行操作。如果是SELECT 語句,服務器還會查詢內部的緩存。如果緩存空間足夠大,這樣在解決大量讀操作的環境中能夠很好的提升系統的性能。

引擎層:

存儲引擎層,存儲引擎負責實際的MySQL數據的存儲與提取服務器通過API 與 存儲引擎進行通信。不同的存儲引擎功能和特性有所不同,這樣可以根據實際需要有針對性的使用不同的存儲引擎。

二、MySQL 工作流程

在這里,我從數據庫架構的三個層面分別介紹數據庫的工作流程:?
最上層:客戶端連接?
  1、連接處理:客戶端同數據庫服務層建立TCP連接,連接管理模塊會建立連接,并請求一個連接線程。如果連接池中有空閑的連接線程,則分配給這個連接,如果沒有,在沒有超過最大連接數的情況下,創建新的連接線程負責這個客戶端。?
  ?
  2、授權認證:在真正的操作之前,還需要調用用戶模塊進行授權檢查,來驗證用戶是否有權限。通過后,方才提供服務,連接線程開始接收并處理來自客戶端的SQL語句。

第二層:核心服務?
  1、連接線程接收到SQL語句之后,將語句交給SQL語句解析模塊進行語法分析和語義分析。

  2、如果是一個查詢語句,則可以先看查詢緩存中是否有結果,如果有結果可以直接返回給客戶端。

  3、如果查詢緩存中沒有結果,就需要真的查詢數據庫引擎層了,于是發給SQL優化器,進行查詢的優化。如果是表變更,則分別交給insert、update、delete、create、alter處理模塊進行處理。

第三層:數據庫引擎層?
  1、打開表,如果需要的話獲取相應的鎖。?
  ?
  2、先查詢緩存頁中有沒有相應的數據,如果有則可以直接返回,如果沒有就要從磁盤上去讀取。

  3、當在磁盤中找到相應的數據之后,則會加載到緩存中來,從而使得后面的查詢更加高效,由于內存有限,多采用變通的LRU表來管理緩存頁,保證緩存的都是經常訪問的數據。

最后,獲取數據后返回給客戶端,關閉連接,釋放連接線程。
?

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的MySQL 高级 ———— MySQL逻辑架构图简介的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。