数据库隔离级别、锁与多版本并发控制如何共同维护事务一致性
简答题困难680 次浏览
参考答案与解析
# 核心结论
事务一致性由数据模型约束、隔离级别、锁、多版本并发控制和应用协议共同维护。隔离级别规定并发事务允许观察到哪些现象;锁通过阻塞冲突操作保护记录、索引范围或结构;多版本并发控制让读取者根据快照选择可见版本,减少读写互相阻塞。开启事务并不自动保证所有业务不变量,更高隔离级别也不等于零成本的绝对正确,必须结合具体数据库实现、查询谓词和业务约束设计。
# 底层机制
事务修改记录时,数据库通常同时维护缓冲页、日志和并发控制元数据。预写日志要求描述变更的日志先达到规定的持久化边界,数据页可以稍后写回;崩溃后,系统据此重做已提交修改,并撤销或忽略未完成事务。持久性还取决于提交时采用的刷新策略和存储栈承诺,不能只凭普通写调
