MySQL架構 如何設計乙個關聯式資料庫?

2021-10-24 12:29:37 字數 689 閱讀 4924

引自《mysql技術內幕innodb儲存引擎》p4

由體系機構圖來看,mysql主要由以下幾部分組成:

連線池元件 (管理連線,許可權校驗等)管理服務和工具元件sql介面元件查詢分析器元件 (語法樹分析)優化器元件緩衝元件 (儲存訪問時的快取表和索引資料。在專用伺服器上,通常會為緩衝池分配50% - 75%的物理記憶體)

外掛程式式儲存引擎 (區別於其他資料庫的重要特點之一)物理檔案

注意: 儲存引擎基於表而非資料庫!

儲存引擎的底層物理結構的實現!

從連線到操作檔案系統大致過程是:

許可權校驗---> 查詢快取---> 分析器---> 優化器---> 許可權校驗---> 執行器---> 引擎

mysql面試經典問題 如何設計乙個關係型資料庫

模組劃分能力 底層需要乙個儲存模組 檔案系統 我們還需要組織並使用這些資料,因此需要有程式例項。用邏輯結構來對映出物理結構來,並且在程式中提供獲取以及管理資料的方式,以及必要的問題追蹤機制。接下來來細分一下程式的模組。首先,需要對資料的格式以及檔案的風格進行統一的管理,即把物理資料通過邏輯的形式給組...

如何設計乙個微型分布式架構?

序言 初衷 快取伺服器儲存模型架構 背景 隨著業務頻寬自然增長,使用者端頻寬增長,假設業務回源率不變的情況下,磁碟快取淘汰更新 淘汰 速率變快,表現為以下業務瓶頸 iowait變高 回源頻寬變高,由於磁碟空間大小受限的快取淘汰導致回源率變高 為了說明這個原理。我們假設兩個極端 乙個是裝置磁碟容量無限...

如何設計乙個秒殺系統和架構原則

遵循的原則 保證使用者請求的資料盡量少 請求數盡量少 路徑盡量短 依賴盡量少,並且不要有單點。高效能。秒殺涉及大量的併發讀和併發寫,因此支援高併發訪問這點非常關鍵。本專欄將從設計資料的動靜分離方案 熱點的發現與隔離 請求的削峰與分層過濾 服務端的極致優化這 4 個方面重點介紹。一致性。秒殺中商品減庫...