高性能Mysql讀書筆記(1)- Mysql 的邏輯架構

1.1    Mysql的邏輯架構

      

     第一層主要是授權認證,連接處理等,每個客戶端連接都會擁有一個線程,5.5以後有線程池插件。

     第二層是核心服務層,所有的查詢、優化、緩存內部函數都在這一層實現,所有跨存儲引擎的實現也都在一層實現:存儲過程、觸發器、視圖。

     第三層存儲引擎負責數據的存儲和提取,服務器通過API和存儲引擎通信,API包含幾十個函數,用戶執行比如“開始一個事物,或者根據主鍵查詢一條記錄等”,但是存儲引擎不會分解sqlInnoDB會解析外鍵),不同存儲引擎不會相同通信,只是簡單相應上層的需求。

 

 

1.2.讀寫鎖

      處理併發時有兩種鎖即共享鎖和排他鎖或者叫讀鎖、寫鎖,寫鎖是排他的在寫的時候會阻塞其他的讀鎖和寫鎖。

      一般有兩種鎖 表鎖和行級鎖(InnoDBXtraDb在存儲引擎實現了行級鎖)

 

1.3多版本的併發控制

       InnoDB實現併發控制是通過兩個隱藏的列,一個是創建時間,一個是過期時間,存儲的不是實際的時間值而是版本號。每開始一個新的事物版本號會遞增,

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章