我们是更害怕可串行化隔离级别,还是更害怕那些隐晦的缺陷?
Do we fear the serializable isolation level more than we fear subtle bugs (2024)

原始链接: https://blog.ydb.tech/do-we-fear-the-serializable-isolation-level-more-than-we-fear-subtle-bugs-5a025401b609

请启用 JavaScript 和 Cookie 以继续。

这篇 Hacker News 讨论探讨了“可串行化”(Serializable)是否应作为数据库默认隔离级别的问题。 支持者认为,弱隔离级别会导致难以调试的隐蔽数据异常,这类似于内存不安全的编程语言。他们建议,由于开发者往往缺乏深厚的并发处理专业知识,应该通过更安全的默认设置来保护他们,仅当开发者有明确性能需求时,才将调优负担交给他们。 相反,怀疑者认为“可串行化”并非“万灵药”。它会带来显著的性能开销,并迫使开发者实现复杂的重试逻辑来处理事务冲突。他们认为,许多开发者并不具备在如此严格的约束下设计应用程序的能力,这会导致系统在高负载下出现不可预知的故障。此外,还有观点认为,如果应用程序确实需要严格的“可串行化”,那么使用专门的简易工具可能比使用复杂的 RDBMS 更合适。 归根结底,目前的共识是,数据库的默认设置现状属于源于 90 年代的“历史遗留”问题。这场争论突显了一个根本性的矛盾:数据库在默认情况下应该优先考虑正确性和安全性,还是应该优先考虑灵活性与性能,以适应不同技术水平的开发者和多样的应用需求?
相关文章

原文
联系我们 contact @ memedata.com