MariaDB的快照隔离:一个修复带来的问题多于解决的

MariaDB的快照隔离:一个修复带来的问题多于解决的

💡 原文英文,约800词,阅读约需3分钟。
📝

内容提要

MariaDB 11.8引入了innodb_snapshot_isolation变量,旨在解决Jepsen对MySQL 8.0.34的并发和隔离问题。然而,该修复并不完整,仍存在并发负载下的异常,并与MySQL不兼容,导致ERROR 1020错误,增加了迁移难度。

🎯

关键要点

  • MariaDB 11.8引入了innodb_snapshot_isolation变量,旨在解决Jepsen对MySQL 8.0.34的并发和隔离问题。
  • 该修复并不完整,仍然可以在并发负载下重现Jepsen指出的异常。
  • innodb_snapshot_isolation的默认启用模式与MySQL不兼容,导致ERROR 1020错误。
  • ERROR 1020错误使得许多应用程序在MariaDB 11.8上运行失败,增加了迁移的难度。
  • 快照隔离应该保证事务在开始时看到一致的数据库视图,但MariaDB的实现并未完全达到这一目标。

延伸问答

MariaDB 11.8引入的innodb_snapshot_isolation变量有什么目的?

该变量旨在解决Jepsen对MySQL 8.0.34的并发和隔离问题。

MariaDB 11.8的innodb_snapshot_isolation变量存在什么问题?

该修复并不完整,仍然可以在并发负载下重现Jepsen指出的异常。

ERROR 1020错误是什么,为什么会在MariaDB 11.8中出现?

ERROR 1020表示记录在上次读取后已更改,出现在使用innodb_snapshot_isolation时,导致与MySQL不兼容。

使用MariaDB 11.8时,应用程序可能遇到什么问题?

许多应用程序在MariaDB 11.8上运行失败,增加了迁移的难度。

快照隔离应该如何工作,MariaDB的实现达到了预期吗?

快照隔离应保证事务在开始时看到一致的数据库视图,但MariaDB的实现并未完全达到这一目标。

MariaDB 11.8的innodb_snapshot_isolation与MySQL的兼容性如何?

innodb_snapshot_isolation的默认启用模式与MySQL不兼容,导致ERROR 1020错误。

➡️

继续阅读