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的可重复读取功能,考虑使用可序列化隔离级别。
🏷️