Mysql XA隔离级别
问题描述:
有谁知道为什么Mysql要求使用XA事务实现ACID属性的可序列化隔离级别,或者如果使用可重复读取和XA会丢失什么?Mysql XA隔离级别
然而,对于分布式 交易,你必须使用 SERIALIZABLE隔离级别 实现ACID属性。 对于分布式事务使用REPEATABLE READ作为 非分布式事务,但不使用 。
答
我相信它有与REPEATABLE READ
性质和XA的在MySQL引擎(MySQL是不符合XA规范完全兼容)的限制有关。
一个已知的问题是,随着复制某些碰撞情况下可能会导致交易不存在从二进制日志:From: Restrictions on XA Transactions
通过以上,在ACID一致性丢失。
我认为SERIALIZABLE
强制执行的严格行为可以缓解这种情况,以至于它们如何描述xid等工作。但是对这些问题的阐述是可疑的。 Mysql 5.6 - Consistent Read