数据库四大特性的实现原理

保证原子性和一致性

主要依赖于unlog,undo log保证了事务的原子性和一致性。

回滚日志,用于记录数据被修改前的信息,作用包含两个:提供回滚和 MVCC(多版本并发控制)。undo log和redoloq记录物理日志不一样,它是逻辑日志。

可以认为当delete一条记录时,undolog中会记录一条对应的insert记录,反之亦然

当update一条记录时,它记录一条对应相反的update记录。当执行roback时,就可以从undo log中的逻辑记录读取到相应的内容并进行回滚。

保证隔离性

通过设置数据库隔离级别来处理(未提交读、已提交读、重复度、序列化)

通过版本控制MVCC和排他锁保证数据隔离性

全称 Multi-Version Concurrency Control,多版本并发控制。指维护一个数据的多个版本,使得读写操作没有冲突MVCC的具体实现,主要依赖于数据库记录中的隐式字段、undo log日志、readView

保证持久性

通过redo log保证数据持久性

当缓冲池中的数据已一定频率刷新到磁盘时,突然宕机了,这时需要借助redo log来进行数据恢复。保证了事务的持久性

相关推荐
剩下了什么6 小时前
MySQL JSON_SET() 函数
数据库·mysql·json
山峰哥6 小时前
数据库工程与SQL调优——从索引策略到查询优化的深度实践
数据库·sql·性能优化·编辑器
较劲男子汉7 小时前
CANN Runtime零拷贝传输技术源码实战 彻底打通Host与Device的数据传输壁垒
运维·服务器·数据库·cann
java搬砖工-苤-初心不变7 小时前
MySQL 主从复制配置完全指南:从原理到实践
数据库·mysql
山岚的运维笔记9 小时前
SQL Server笔记 -- 第18章:Views
数据库·笔记·sql·microsoft·sqlserver
roman_日积跬步-终至千里9 小时前
【LangGraph4j】LangGraph4j 核心概念与图编排原理
java·服务器·数据库
汇智信科9 小时前
打破信息孤岛,重构企业效率:汇智信科企业信息系统一体化运营平台
数据库·重构
野犬寒鸦10 小时前
从零起步学习并发编程 || 第六章:ReentrantLock与synchronized 的辨析及运用
java·服务器·数据库·后端·学习·算法
晚霞的不甘11 小时前
揭秘 CANN 内存管理:如何让大模型在小设备上“轻装上阵”?
前端·数据库·经验分享·flutter·3d
市场部需要一个软件开发岗位11 小时前
JAVA开发常见安全问题:纵向越权
java·数据库·安全