并发操作带来的数据不一致性问题,挺容易被忽略的,但一旦出问题,真的是“数据全乱套”。丢失修改不可重复读脏读这几个坑,数据库初学者和老手都踩过。

数据库系统概论课件里的比较清晰,思路也顺,适合用来扫盲或快速复习一遍。

你可以理解为:两个用户同时操作数据库,一个改了还没提交,另一个就读了旧数据,结果一提交,之前那次读的数据就不对了。不可重复读就是这种场景,别说,挺常见的。

建议你看完课件后,再翻翻下面这些文章:

数据库并发控制中的三种数据不一致性,这个就挺基础,帮你理清楚三个核心问题。

封锁机制详解,嗯,这个就讲得稍微细一点,是对事务隔离级别有点迷糊的,可以多看几遍。

另外像 CorfuDB 这种专门做一致性平台的东西,也值得研究研究,跟传统的并发控制机制不太一样,适合想深挖的同学。

如果你平时做系统设计、或者碰过并发数据出错的场景,真心建议看看这些内容,顺带用课程资料搭配几个实战案例,理解会快多。