← Back to Insights

Jepsen: MariaDB Galera Cluster 12.1.2

Database Distributed Systems Security ⭐⭐⭐⭐⭐ 5星
来源: jepsen.io

核心发现

MariaDB Galera Cluster 声称"无丢失事务",但在两种情况下会丢失事务。文档声称是错误的,实际隔离级别低于声称。

关键问题

  • 丢失事务情况 1:推荐配置不刷盘 - 节点快速连续崩溃时丢失已提交事务
  • 丢失事务情况 2:进程崩溃和网络分区时偶尔丢失已提交事务
  • 隔离级别问题:允许 P4 (Lost Update),不符合声称的"Serializable 和 Repeatable Read 之间"
  • 文档错误:"事务在所有节点提交才返回成功"是错的,Galera 可以在少数节点故障时继续运行

背景

  • 历史:2015年 Jepsen 曾分析 MariaDB Galera,发现 first-committer-wins 设计导致金钱丢失
  • 收购:2025年 MariaDB 收购 Codership Oy (Galera 开发者)
  • 测试方法:使用 Jepsen 的 Elle 检查器进行分布式一致性测试
  • 测试故障:网络分区、进程暂停、进程杀死

关于 Jepsen

Jepsen 是分布式系统测试的权威,由 Kyle Kingsbury (aphyr) 创立。他们通过引入各种故障来测试数据库的一致性保证,是数据库领域的重要参考。