Comunidad MariaDB

命名故事 & 30 年时间线

Maria 是谁、为什么 fork、几个关键节点的内幕

"Maria"是谁

MariaDB 的名字来自 Monty Widenius(MySQL 之父)第二个女儿 Maria。

1995: MySQL 1.0 — 命名自 Monty 的第一个女儿 My
2009: Monty fork 出 MariaDB — 用第二个女儿 Maria
2014?: Monty 第三个女儿 ... Max — MaxScale 由此命名(数据库代理工具)

Monty 在多次访谈里开玩笑:"如果我有第四个孩子,可能还会有个新数据库。"

30 年时间线

1995  MySQL 1.0 — Monty Widenius、David Axmark、Allan Larsson 创建 MySQL AB
1996  MySQL 3.x — 真正开始流行
2000  ISAM → MyISAM — 默认引擎更名
2001  MySQL 4.0 — query cache、InnoDB 集成开始
2004  InnoDB 成为默认(但 MySQL AB 把 InnoDB 公司收编)
2005  Oracle 收购 InnobaseOY (InnoDB 母公司)
2008  Sun 以 $1B 收购 MySQL AB — Monty 留下
2009  ★ Oracle 收购 Sun,社区对 MySQL 前景担忧
      Monty 离开,fork 出 MariaDB 5.1
2010  MariaDB 5.1.42 GA — 与 MySQL 5.1 接近 drop-in
2011  Aria 引擎、PBXT 引擎并入(PBXT 后来死了)
2012  MariaDB 5.5 — 与 MySQL 5.5 仍兼容
      MariaDB Foundation 成立(非营利)
2014  MariaDB 10.0 — 跳号到 10,正式与 MySQL 分道扬镳
      引入多源复制、连接器层(Spider 等)
2015  Wikipedia 全面切到 MariaDB
2016  Red Hat / CentOS / Fedora 把默认 mysql 包换成 MariaDB
      MySQL 8.0 alpha 发布,与 MariaDB 10.2 路线进一步分叉
2018  MariaDB 10.3 — Oracle PL/SQL 部分兼容、SEQUENCE
      MySQL 8.0 GA
2019  MariaDB plc 上市 (NYSE: MRDB)
2020  MariaDB 10.5 LTS — 不再 merge MySQL 代码
2021  MariaDB ColumnStore 6.x — 真正可用的列存
2022  MariaDB 10.10 — Xpand 分布式
2023  MariaDB 10.11 LTS — 性能改进、JSON
2024  MariaDB 11.4 LTS — 最后一批 5 年支持的 LTS
      Monty 70 岁,仍参与 commit
      Azure Database for MariaDB 宣告 EOL(2024-09)
2025  MariaDB 11.7 预览 VECTOR / HNSW 向量索引
      MariaDB 11.8 LTS — VECTOR 正式 GA(社区 LTS 支持改为 3 年)
2026  MariaDB 12.0–12.2 滚动主线
      ★ MariaDB 12.3 LTS(2026-05)— 当前生产推荐

几个关键 fork 节点的故事

2009 年的 fork:为什么 Monty 走了?

Monty 不是因为 Oracle "买了 MySQL" 才走。他是因为 Oracle 在收购前已经持有 InnoDB——他担心 Oracle 会把 InnoDB 闭源、把 MySQL 当 PostgreSQL 的"穷亲戚"对待。

事实上,Oracle 后来确实把 MySQL 的多个商业功能闭源(Enterprise Backup、Audit Plugin 等),fork 的判断被证明正确。

Monty 在 2009 年的博客标题就叫 "Saving MySQL"——目标不是另起炉灶,是给 MySQL 一个永远开源的备份。

2014 年跳号到 10.0

MariaDB 原本与 MySQL 版本对齐(5.1、5.2、5.3、5.5),但 2014 年决定跳号

  • 释放与 MySQL 完全无关的版本号空间
  • 让用户知道"这不是 MySQL 的子集"
  • 同年 MySQL 6.0、7.0 失败的尝试让 MySQL 这边也跳到了 8.0

2020 年完全停止 merge MySQL

MariaDB 10.5 起,不再把 MySQL 的代码 cherry-pick 过来。原因:

  • MySQL 8 的某些改动(如 caching_sha2_password)与 MariaDB 设计冲突
  • 兼容 MySQL 8 反而让 MariaDB 自己的 roadmap 受制于 Oracle
  • 用户群已经稳定到不需要"跟着 MySQL"

MariaDB Foundation vs MariaDB plc

两个法人主体:

  • MariaDB Foundation(非营利)—— 持有源代码、维护社区版、保证永远 GPL 开源
  • MariaDB plc / Corporation(商业)—— 提供 MariaDB Enterprise、SkySQL、ColumnStore 等

类似关系:Linux Foundation vs Red Hat。社区核心永远开源,企业版有商业增值。

几个被废弃的存储引擎

MariaDB 历史上引入过、又下线过的引擎:

引擎兴起衰退为什么死
PBXT20092014维护者离开、性能不如 InnoDB
FalconMySQL 6.02009Oracle 收购 Sun 后砍掉
InfiniDB20092015公司倒,代码被 MariaDB 拿来做了 ColumnStore
BLITZDB20102011实验性,没流行
OQGRAPH20082018图引擎,没人维护了
CassandraSE20132018对接 Cassandra 的桥接,需求小

留下来的:InnoDB、Aria、MyRocks、ColumnStore、Spider、CONNECT、S3、MEMORY。详见 存储引擎大全

MariaDB 给 SQL 标准贡献了什么

  • 早期 CTE 和窗口函数(MariaDB 10.2 比 MySQL 8.0 早)
  • RETURNING 子句(10.5)
  • 多源复制(10.0)
  • SEQUENCE 对象(10.3)
  • Oracle 兼容模式(10.3)
  • HNSW 向量索引(11.7 预览,11.8 GA)

不少特性是 MariaDB 先做、MySQL 后跟。

Monty 现在干什么

  • 仍然 commit 代码(2026 年仍在 PR list)
  • MariaDB Foundation 董事会成员
  • 偶尔出席社区会议
  • 公开访谈说"MariaDB 至少能继续活 20 年"

一些有意思的数字

  • mariadb.com/kb 文档 ~6000 页
  • MariaDB 代码 ~ 700 万行 C/C++
  • 每月 commit 数百
  • 下载数(社区版)每年数亿
  • 全球部署实例估计百万级

推荐阅读

  • Monty 的博客 montywi.livejournal.com(部分已迁到别处)
  • "MySQL High Performance" by Baron Schwartz — 神书,虽然讲 MySQL,原理 95% 适用
  • MariaDB plc 招股书(2022)—— 看商业模式细节

延伸

On this page