MySQL 8.0.34 中可重复读有假?

💡 原文中文,约4700字,阅读约需12分钟。
📝

内容提要

杰普森对MySQL并发控制进行了深入分析,发现MySQL的可重复读取违反了内部一致性和单调原子视图,AWS RDS MySQL集群经常违反可串行性。杰普森建议MySQL应明确记录其提供的一致性模型,或修复这些问题。

🎯

关键要点

  • 杰普森对MySQL并发控制进行了深入分析,发现可重复读取违反了内部一致性和单调原子视图。
  • AWS RDS MySQL集群经常违反可串行性。
  • MySQL的binlog复制显得脆弱,存在许多复制停止的神秘场景。
  • MySQL 8.0.34中存在令人惊讶的行为,重复读取表现出多种异常情况。
  • MySQL的可重复读取不符合Adya的标准和ANSI SQL定义。
  • 杰普森致力于提高分布式数据库和共识系统的安全性,并维护开源软件库。
  • ANSI SQL的隔离级别定义存在模糊性,未能有效防止异常行为。
  • Adya提出了更严格的事务隔离级别定义,解决了ANSI定义的模糊性。
  • MySQL的默认隔离级别可重复读取通过快照机制确保安全,但实际提供的保证较弱。
  • 建议MySQL明确记录其可重复读取的一致性模型,或修复相关问题。
  • 需要可重复读取语义的用户应谨慎使用MySQL的可重复读取功能,考虑使用可序列化隔离级别。
➡️

继续阅读