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

保证原子性和一致性

主要依赖于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来进行数据恢复。保证了事务的持久性

相关推荐
2401_8979300611 分钟前
使用Docker轻松部署Neo4j图数据库
数据库·docker·neo4j
诗句藏于尽头20 分钟前
Django模型与数据库表映射的两种方式
数据库·python·django
寻星探路1 小时前
数据库造神计划第六天---增删改查(CRUD)(2)
java·大数据·数据库
盖世英雄酱581362 小时前
Read timed out问题 排查
java·数据库·后端
云动雨颤3 小时前
Spring Boot配置优化:Tomcat+数据库+缓存+日志,全场景教程
数据库·spring boot·tomcat
RestCloud3 小时前
Kafka实时数据管道:ETL在流式处理中的应用
数据库·kafka·api
寻星探路4 小时前
数据库造神计划第九天---增删改查(CRUD)(5)
数据库
Alan521595 小时前
🚀 阿里云 ECS + MySQL 环境搭建全流程(用于个人博客系统开发)
数据库·程序员
Huhbbjs5 小时前
SQL 核心概念与实践总结
开发语言·数据库·sql