從 Oracle 轉 MySQL 最大的認知衝擊在於:MySQL 將「查詢處理」與「資料儲存」完全解耦。
圖源《高效能 MySQL》:插件式儲存引擎架構示意
| 層級 | 組件 | 核心職責 | 是否可插拔 |
|---|---|---|---|
| Server 層 (通用) | 連接管理 | 線程處理、認證、權限驗證 | 否 |
| SQL 介面 | 接受 SQL 指令 | 否 | |
| 查詢解析器 | 語法解析、語義分析、生成解析樹 | 否 | |
| 查詢優化器 | 執行計劃生成、索引選擇、Join 順序優化 | 否 | |
| 快取/緩衝 | Query Cache (8.0 移除)、Table Cache | 否 | |
| 儲存引擎層 (插件式) | InnoDB / MyISAM / Memory / TokuDB / ColumnStore / RocksDB... | 資料儲存、索引維護、事務管理、鎖控制、備份恢復 | 是 (標準化 API) |
| 維度 | Percona Server | MariaDB | 官方 MySQL |
|---|---|---|---|
| 定位 | 效能增強版 (Drop-in replacement) | 功能創新版 (兼容分支) | 穩定基準版 |
| 版本號策略 | 跟隨官方 (5.6, 5.7, 8.0) | 5.5 後跳至 10.x (10.2, 10.3...) | 標準版本號 |
| 核心優勢 | XtraDB (增強 InnoDB)、XtraBackup、pt-toolkit | 並行複制 (最早)、Hash Join、ColumnStore、即時加欄位 | 企業級支援、最廣泛相容性測試 |
| 典型用戶 | 追求極致效能、大規模部署 | 求新特性、開源避險、CentOS/RHEL 預設 | 保守穩健、需官方商業支援 |
| 關鍵工具 | XtraBackup (物理熱備)、pt-toolkit (線上結構變更、查詢分析、複制檢查) | 內建更多引擎、MaxScale 代理 | MySQL Shell、MySQL Router |
| 工具 | 核心功能 | 典型場景 |
|---|---|---|
| XtraBackup | InnoDB 物理熱備、增量備份、流式傳輸、部分恢復 | 大數據量備份、主從搭建、PITR |
| pt-online-schema-change | 線上無鎖 DDL (建影子表→同步→切換) | 大表加欄位/索引、修改型別 |
| pt-query-digest | 慢查詢日誌分析、Top SQL 識別、執行計劃解析 | 效能調優、問題 SQL 定位 |
| pt-table-checksum/sync | 主從一致性校驗與修復 | 複制延遲/數據漂移檢測 |
| pt-kill | 殺掉長時間/阻塞查詢 | 緊急故障處理 |
| orchestrator | 複制拓撲可視化、自動故障轉移、拓撲重組 | 高可用架構管理 |
深入 InnoDB 核心:Buffer Pool、Redo/Undo Log、鎖機制、MVCC、Checkpoint——這才是調優的戰場。