首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> MySQL 資料庫 >> MySQL 綜合教學

MySQL 發展史全景:從 1979 年 Unireg 到 Oracle 時代的三大階段、分支版本溯源

     編輯:MySQL 綜合教學

三大歷史階段

階段時間跨度核心事件關鍵人物
初期開源階段1979~2008Unireg → MySQL 1.0 → 3.23/4.0/4.1/5.0/5.1、MySQL AB 成立、GPL 開源、InnoDB/BDB 引擎整合Monty Widenius、David Axmark、Heikki Tuuri
Sun MySQL 階段2008.01~2009.04Sun 以 $1B 收購 MySQL AB、大量推廣優化、5.1 發布 (分區/事件/Row 複制/NDB Cluster)Sun 高管團隊、MySQL 團隊
Oracle MySQL 階段2009.04~至今Oracle 以 $7.4B 收購 Sun、InnoDB 早已被收購 (2005)、5.5/5.6/5.7/8.0 迭代、半同步複制、CTE/窗口函數、JSON、GIS、熱備份、Clone PluginOracle 管理層、MySQL 團隊 (Monty 已離開)

關鍵里程碑時間軸

  • 1979: Monty 為 TcX 寫報表工具 Unireg (BASIC → C、UNIX 移植)
  • 1990: 客戶需 SQL 支援,Monty 嘗試集成 mSQL 失敗,決心自研 SQL 層
  • 1996.10: MySQL 3.11.1 發布 (無 2.x),Solaris 二進制 → 1 個月後 Linux 版
  • 1998.01: MySQL 關係型數據庫首個版本,多線程、多語言 API、完整操作符
  • 1999~2000: MySQL AB 瑞典成立、與 Sleepycat 合作 BDB 引擎 → 支援事務
  • 2000.04: ISAM 整理為 MyISAM
  • 2001: Heikki Tuuri 提議整合 InnoDB (事務 + 行鎖) → 3.23 整合、4.0 正式結合
  • 2003.12: MySQL 5.0 發布:視圖、存儲過程、觸發器、游標、XA 事務
  • 2008.01.16: Sun 收購 MySQL AB ($1B)
  • 2008.11: MySQL 5.1 發布:分區、事件調度器、Row-based 複制、NDB Cluster 磁盤數據
  • 2009.04.20: Oracle 收購 Sun ($7.4B),MySQL 進入 Oracle 時代
  • 2010.12: MySQL 5.5 發布:半同步複制、SIGNAL/RESIGNAL、InnoDB 成為預設引擎
  • 2013.02: MySQL 5.6 發布:GTID、線上 DDL、性能結構、ICP、MRR、更優化器
  • 2015.10: MySQL 5.7 發布:JSON、GIS、sys schema、Clone Plugin、並行複制 (LOGICAL_CLOCK)
  • 2018.04: MySQL 8.0 GA:CTE、窗口函數、隱藏索引、即時加列、資源組、CTE 物化優化

主要分支版本溯源 (開源賦予的分支權)

MariaDB —— Monty 回鍋之作

  • 緣起: Oracle 收購 Sun 後,Monty 擔心 MySQL 閉源/發展受控,2009 年分支
  • 核心差異:
    • 預設存儲引擎:MariaDB (原 MyISAM 增強版) / ColumnStore (列式) / MyRocks (RocksDB)
    • 優化器增強:Hash Join、Semi Join 優化、Cost-based Join Order、直方圖統計
    • 新功能:Sequence Engine、Window Functions (早於 MySQL)、JSON 函數增強、PL/SQL 兼容模式
    • 整合引擎:Spider (分片)、Connect (異構數據源)、CassandraSE
  • 版本對應: MariaDB 5.5 ≈ MySQL 5.5、10.0 ≈ 5.6、10.1 ≈ 5.7、10.2+ ≈ 8.0+ (功能超前)
  • 命名由來: Monty 小女兒 Maria → MariaDB;大女兒 My → MySQL;兒子 Max → MaxDB (SAP 合作)

Drizzle —— 微內核雲原生探索

  • 基於: MySQL 6.0 代碼庫 (從未 GA)
  • 特點: 微內核、插件化架構、去除弗蘭肯斯坦代碼、專為多核/雲/高併發設計、支援 HTTP/REST 接口、無 FRM 文件、數據字典內建
  • 現狀: 社區活躍度低,思想影響了 MySQL 8.0 數據字典重構

Percona Server —— 企業級性能強化版

  • 定位: 完全兼容 MySQL、InnoDB 深度優化 (Fast Index Creation、Buffer Pool Dump/Load、Thread Pool、Audit Log、加密表)
  • 殺手級工具: XtraBackup (開源、免費、InnoDB 熱備份、增量、流式、壓縮)、PM (Performance Monitoring)、Toolkit (pt-query-digest/pt-online-schema-change/pt-archiver 等)
  • 版本對應: 緊跟 MySQL GA 版本發布對應分支

InnoSQL (筆者分支) —— 創新實驗田

  • 目標: 生產環境可用的創新功能
  • 獨有功能:
    • InnoDB Flash Cache (SSD 作為 L2 緩衝池,比 FB 方案性能高 1 倍+)
    • InnoDB Shared Memory (共享內存預熱,秒級恢復 Buffer Pool 狀態)
    • IO Statistics (Slow Log 擴展邏輯/物理讀統計,SQL 調優利器)
  • 兼容性: 全兼容 Oracle MySQL,功能動態開關,關閉即原版行為

命名趣聞:一個家族的數據庫傳承

  • MySQL: Monty 大女兒 **My**
  • MaxDB: Monty 兒子 **Max** (SAP 合作產物)
  • MariaDB: Monty 小孫女 **Maria**

一個程序員父親、三個代碼孩子,見證了開源數據庫三十年興衰更替。

結語

MySQL 歷史是一部「開源逆襲商業、個人英雄主義讓位於生態共建」的演進史。從 4MHz/16KB 的 Unireg 到支撐 Google/Facebook/阿里/騰訊核心業務的 8.0,每個版本都在回應時代需求:事務、複制、分區、JSON、CTE、窗口函數、Clone、熱備份。分支版本 (MariaDB/Percona/Drizzle) 則在主幹之外探索更激進的優化與架構。對技術人員而言,**閱讀原始碼、參與社區、構建生產案例** 才是真正融入這段歷史的方式。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved