命名故事 & 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 历史上引入过、又下线过的引擎:
| 引擎 | 兴起 | 衰退 | 为什么死 |
|---|---|---|---|
| PBXT | 2009 | 2014 | 维护者离开、性能不如 InnoDB |
| Falcon | MySQL 6.0 | 2009 | Oracle 收购 Sun 后砍掉 |
| InfiniDB | 2009 | 2015 | 公司倒,代码被 MariaDB 拿来做了 ColumnStore |
| BLITZDB | 2010 | 2011 | 实验性,没流行 |
| OQGRAPH | 2008 | 2018 | 图引擎,没人维护了 |
| CassandraSE | 2013 | 2018 | 对接 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)—— 看商业模式细节