Sun/Oracle 收購導致 MySQL 核心團隊分流,催生豐富引擎與分支生態。本文梳理主流與新興引擎、主要分支現狀,為技術選型提供參考。
核心引擎回顧
- MyISAM:非事務、表鎖、全文索引、讀密集場景
- InnoDB:事務、行鎖、MVCC、外鍵、主流 OLTP 首選
- Memory/Heap:內存表、哈希索引、臨時數據
- NDB Cluster:分布式、高可用、內存為主
新興/邊緣引擎深度解析
Falcon(夭折)
- Jim Starkey 主導,目標替代 InnoDB
- 特性:MVCC、B+樹前綴壓縮、頁面壓縮、組提交
- 現狀:作者 2008 年離職創業 NimbusDB,引擎半死不活,性能極差(寫入 1/10-1/20 MyISAM),已放棄
SolidDB(被 IBM 收購歸宿)
- MVCC 支持悲觀/樂觀並發雙模式、在線熱備、外鍵完整
- 2008 年被 IBM 收購作內存緩存層,MySQL 版本停止發展
XtraDB(Percona 維護,InnoDB 增強版)
- 100% 兼容 InnoDB,IO/鎖/內存管理多維優化
- Percona 團隊維護,配套 XtraBackup 熱備工具
- 穩定性高,生產環境可直接替換 InnoDB,強烈推薦試用
Maria(Monty 親自操刀,MyISAM 進化版)
- 目標:崩潰安全的 MyISAM → 最终成全功能事務引擎
- 現狀:表鎖、讀寫不衝突、崩潰恢復、增量備份友好
- 路線圖:ACID、MVCC、行鎖、組提交
- MariaDB 內置,值得關注
PBXT(PrimeBase,獨特架構)
- 無 Write-Ahead Log,單次日志寫入降低提交開銷
- MVCC、行鎖、外鍵、BLOB 流式存儲
- 寫併發表現穩定,MariaDB 內置,可作 InnoDB 替代評估
主要分支對比
| 分支 | 核心定位 | 關鍵特性 | 成熟度 |
| MariaDB | MySQL 直接替代品 | Maria/XtraDB/PBXT/FederatedX 內置、線程池、兼容 MySQL 5.1/5.5/10.x | 生產就緒,多家大廠使用 |
| Drizzle | 雲原生、微內核、精簡版 | 移除存儲過程/視圖/觸發器/查詢緩存、InnoDB 默認、無 Windows 支持、Libdrizzle 客戶端庫 | 早期階段,適合新架構探索 |
選型建議
- 穩健派:MySQL 官方版(InnoDB/MyISAM)或 MariaDB(XtraDB 替換 InnoDB)
- 激進派:MariaDB + Maria 引擎(MyISAM 表遷移)或 PBXT(高寫併發)
- 探索派:Drizzle(微服務、雲原生、無業務邏輯下推場景)
- 引擎級嘗試:XtraDB 替換 InnoDB 風險最低,收益明顯
趨勢觀察
- NoSQL 衝擊下,關系型仍是核心存儲未來 5-10 年
- 開源社區通過分支延續 MySQL 基因(MariaDB、Drizzle)
- 商業收購無法消滅開源生態,反而催化多樣性