帶你認識 MySQL 之 MySQL 體繫結構,認識mysql體繫結構

來源:互聯網
上載者:User

帶你認識 MySQL 之 MySQL 體繫結構,認識mysql體繫結構



最近一直在忙項目,各種加班加點,項目上線,漸漸的沒有了學習的時間。這不,剛這幾天才能抽出點時間,忙裡偷閒,正在看一本資料庫的書籍,相信很多小夥伴們也都看過 — — 《MySQL 技術內幕:InnoDB 儲存引擎》。這本書很詳細的講述了 MySQL 的設計思想,體繫結構,儲存引擎,索引,事務,以及對效能的調優等。當然,現在我也是剛剛看了一部分,至於現在寫這篇文章,主要是為了記錄一下我的學習曆程,並且和大家分享一些新的東西。

背景
至於背景嘛,這裡就不多說了,如果感興趣的話,還是推薦大家看一看這本書的。那麼現在嘛,先瞭解一下 MySQL 的體繫結構也不錯,沒準還可以拿出來炫耀一下(純屬忽悠)。

概念
在說體繫結構之前,先說兩個名詞,而且是在資料庫領域裡很常見的兩個詞:“資料庫”和“資料庫執行個體”。
我想,小夥伴們肯定都知道這兩個名詞的,而且有時候還經常會區分不出來。那麼,什麼是“資料庫”?什麼又是“資料庫執行個體”呢?下面我就詳細跟大家說說。
首先說“資料庫”,資料庫是物理作業系統檔案或其他形式的檔案類型的集合。在 MySQL 中,資料庫檔案可以是 frm、myd、myi、ibd 結尾的檔案。
然後說“資料庫執行個體”,資料庫執行個體是由資料庫後台進程/線程以及一個共用記憶體區組成。共用記憶體可以被啟動並執行後台進程/線程所共用。需要注意的是,資料庫執行個體才是真正用來操作資料庫檔案的。
這兩個詞有時可以互換使用,但兩者的概念完全不同。在 MySQL 中,執行個體和資料庫通常關係是一 一對應的,即一個執行個體對應一個資料庫,一個資料庫對應一個執行個體。但是,在叢集情況下,可能存在一個資料庫可被多個執行個體使用的情況。

體繫結構
MySQL 是一個可移植的資料庫,幾乎能在當前所有的作業系統上運行,如 Unix/Linux、Windows、Mac 和 Solaris。各種系統在底層實現方面各有不同,但是 MySQL 基本上能保證在各個平台上的物理體繫結構的一致性。


MySQL 由以下幾部分組成:

  • Connectors:不同語言中與 SQL 的互動



max_connections:就是整個MySQL執行個體的最大串連數限制         max_user_connections:是單個使用者的最大串連數,這裡未指明是哪個使用者,是任意一個使用者。
  • Management Serveices & Utilities:系統管理和控制工具

備份和恢複的安全性,複製,叢集,管理,配置,遷移和中繼資料。
  • Connection Pool:串連池

進行身分識別驗證、線程重用,串連限制,檢查記憶體,資料緩衝;系統管理使用者的串連,線程處理等需要緩衝的需求。
  • SQL Interface:SQL 介面

進行 DML、DDL,預存程序、視圖、觸發器等操作和管理;使用者通過 SQL 命令來查詢所需結果。
  • Parser:解析器

查詢翻譯對象的特權;SQL 命令傳遞到解析器的時候會被解析器驗證和解析。
  • Optimizer:查詢最佳化工具

訪問路徑的統計資料;


在 MySQL 最佳化語句過程中,可以通過設定 optimize_switch 控制最佳化行為。在生產環境上,某時間段 MySQL 伺服器壓力特別大,load 一度達到了 100,查詢探索資料庫中有大量的 sql 語句 state 狀態 result sorting ,result sorting 這種排序特別消耗 cpu 和記憶體資源。抽取其中的一條 sql 查看執行計畫。
  • Cache 和 Buffer:查詢快取

全域和引擎特定的緩衝和緩衝區;


  • Engine:儲存引擎



MySQL 的 Windows 版本預設儲存引擎為 InnoDB,InnoDB 支援事務,並且提供行級的鎖定。

結束語
想要認識 MySQL,這裡僅僅是個開始,在後續的學習中,我還會不定時的跟大家分享,同時,小夥伴們有新的想法也可以跟我一塊交流交流。

著作權聲明:本文為博主原創文章,未經博主允許不得轉載。

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.