久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

MySQL數據庫基礎架構是怎么樣的

149次閱讀
沒有評論

共計 2106 個字符,預計需要花費 6 分鐘才能閱讀完成。

這篇文章給大家分享的是有關 MySQL 數據庫基礎架構是怎么樣的的內容。丸趣 TV 小編覺得挺實用的,因此分享給大家做個參考,一起跟隨丸趣 TV 小編過來看看吧。

1.Application Layer

MySQL 的應用層提供各種用戶對數據庫的訪問,也就是為數據庫提供一個訪問接口,讓外部世界與數據連接起來,起一個橋的作用。實際生活中,我們會遇見很多不同功能橋,最初簡陋的獨木橋,現在的過街天橋,跨江的公路橋鐵路橋,它們都各施其職。而在 MySQL 應用層中也有這么三種用戶:administrators,clients and query users。Administrators 可以使用管理型的接口和工具對數據庫進行維護操作;比如:只有管理員用戶才有權使用 mysqladmind 去關閉數據庫服務,以及對數據庫進行創(chuàng)建和徹底刪除操作,還有一些分析調優(yōu)的工具 isamchk 和 myisamchk、對數據庫進行備份恢復操作的 mysqldump, 也都需要在 administrators 的權限才能執(zhí)行。Clients 是通過一些接口或是工具利用 MySQL APIs 對數據庫進行訪問。Query users 是通過查詢接口,就是 mysql 這個命令,去連接數據庫,近而發(fā)出一些查詢請求。

2.Logical Layer

邏輯層是 MySQL 數據庫中核心的功能層,它主要有三大塊:查詢處理 (Query Processor)、事務管理(Transaction Management)、恢復管理(Recovery Management) 和存儲管理(Storage Management)。

  2.1 Query Processor

當用戶希望對底層數據庫進行查看和處理操作,在這期間發(fā)生的查詢都會被查詢處理器進行提取并最優(yōu)化以后執(zhí)行輸出,接下來我們說說整個的流程。

當用戶出一個請求,查詢處理器 (QueryProcessor) 會先去判斷請求的類型,也就是前面我們說的,由誰發(fā)出的,如果是 admin,就由 DDL 編譯器 (DDL Compiler) 編譯后,直接由執(zhí)行引擎 (Excution Engine) 對底層數據庫進行操作。如果是 client, 那么,先通過內部 DML 預編譯器 (DDL Precompiler) 將用戶的命令轉化成相應的查詢語句,接下來查詢分析器 (Query Parser) 將語句分解成解析書的結構,以便接下來的組件可以理解,預查詢編譯器 (Query Preprocesor) 會檢查這個 sql 語句是否正確有效,然后安全管理器 (Security/Integration Manager) 將會核實該用戶是否具有對該數據庫有接入訪問的權限,這些都確認之后,會由查詢優(yōu)化器 (Query Optimizer) 對 sql 查詢最優(yōu)化執(zhí)行,正因為有了這個機制,執(zhí)行引擎 (Excution Engine) 在進行查詢處理時可以盡可能快速地完成,這也是 MySQL 數據庫性能優(yōu)于其他的數據庫系統(tǒng)的原因。

  2.2 Transaction Management

事務處理分為兩個部分:事務管理器 (Transaction Manager) 和并發(fā)控制器(Concurrency-Control Manager),它們各自發(fā)揮著自己的多種職能。TM 負責確保事務的自動化地記入日志和執(zhí)行,還有解析死鎖以及運行 COMMIT 和 ROLLBACK SQL 命令;CCM 通過鎖定機制確保事務分別獨立的運行。

  2.3 Recovery Management

回復管理也有兩部分構成:日志管理器 (Log Manger) 和恢復管理器(Recovery Manager)。這兩個功能從字面上就很好理解,LM 負責紀錄對數據庫的每一項操作,RM 則負責將數據庫恢復到最近一次穩(wěn)定狀態(tài)。

  2.4 存儲管理(Storage Management)

在存儲管理中,緩沖器管理 (Buffer Manager) 著內存和虛擬存儲中的緩沖紀錄,同時資源管理器 (Resource Manager) 和存儲管理器 (Storage Manager) 也一起協(xié)同它完成對物理層數據庫的操作。

3.Physical Layer

  物理層其實就是實際數據的存放地,比如:數據文件、日志文件、統(tǒng)計資料、原數據、索引等等。

到此,以上就是整個 MySQL 數據庫理論性的結構  ,我們已經對 MySQL 數據庫的內部結構有了一個初步的認識,原來就是這樣。接下來就可以通過一些具體的實踐操作,進一步深入體會這些部分在 MySQL 數據庫中的功能特性。、

幾點說明:

1. 在功能上,MySQL 是基于組件的模塊化設計,但事實上,MySQL 既不是嚴格基于組件也非真正的模塊化

2. MySQL 的源代碼中混合使用 C 和 C ++, 而且面向過程的代碼中使用了很多類,這些類僅是負責數據類型的表示,沒有太多體現面向對象編程的思想

3. MySQL 系統(tǒng)是用基于函數庫和數據結構的方式整合代碼的

4. MySQL 的結構師一個類似與子系統(tǒng)組成的架構,子系統(tǒng)通過緊密和高效的配合,組成一個可靠的數據庫系統(tǒng)

感謝各位的閱讀!關于“MySQL 數據庫基礎架構是怎么樣的”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

正文完
 
丸趣
版權聲明:本站原創(chuàng)文章,由 丸趣 2023-07-15發(fā)表,共計2106字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發(fā)布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 北川| 通辽市| 宿松县| 邯郸市| 清徐县| 张家界市| 昆山市| 威海市| 久治县| 长葛市| 扬州市| 高尔夫| 梓潼县| 辉县市| 湘西| 富平县| 罗定市| 江源县| 小金县| 蚌埠市| 彭州市| 中牟县| 剑阁县| 汝城县| 南华县| 会宁县| 闽清县| 宜黄县| 广东省| 佳木斯市| 凤庆县| 宝兴县| 固原市| 鄯善县| 瓦房店市| 桃园县| 武山县| 沾化县| 巴彦淖尔市| 邵东县| 通州市|