知识卡片

异常会破坏约束

普通读书笔记卡 · 1728.a

内容

脏读、不可重复读和幻读不只是读到“看起来怪”的数据,它们会让单独正确的事务在并发后破坏业务约束。发散:判断隔离级别够不够,应从业务不变量出发,而不是只看数据库默认配置。

参考来源

- 位置:《分布式系统与一致性》第13章《事务一致性与隔离级别》异常现象对一致性的破坏一节(源文件:_epub-src/OEBPS/Text/chapter17.xhtml) - 结论依据:原文明确"出现这三种异常现象不仅仅会导致客户端读取到错误的数据,还会导致数据不一致,也就是破坏了事务的ACID中的C(一致性)特性。而破坏了一致性,就说明数据库中的数据出现了错误"。 - 原始内容:读者可能会有这样的疑问:如果出现脏读、不可重复读或者幻读,重新读一遍就好了,为什么要避免这三种异常现象呢?其实出现这三种异常现象不仅仅会导致客户端读取到错误的数据,还会导致数据不一致,也就是破坏了事务的ACID中的C(一致性)特性。