2011-06-07 106 views
4

有誰知道爲什麼Mysql要求使用XA事務實現ACID屬性的可序列化隔離級別,或者如果使用可重複讀取和XA會丟失什麼?Mysql XA隔離級別

然而,對於分佈式 交易,你必須使用 SERIALIZABLE隔離級別 實現ACID屬性。 對於分佈式事務使用REPEATABLE READ作爲 非分佈式事務,但不使用 。

http://dev.mysql.com/doc/refman/5.6/en/xa.html

回答

1

我相信它有與REPEATABLE READ性質和XA的在MySQL引擎(MySQL是不符合XA規範完全兼容)的限制有關。

一個已知的問題是,隨着複製某些碰撞情況下可能會導致交易不存在從二進制日誌:From: Restrictions on XA Transactions

通過以上,在ACID一致性丟失。

我認爲SERIALIZABLE強制執行的嚴格行爲可以緩解這種情況,以至於它們如何描述xid等工作。但是對這些問題的闡述是可疑的。 Mysql 5.6 - Consistent Read