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

保证原子性和一致性

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

相关推荐
大拇指的约定1 小时前
数据库(MySQL):使用命令从零开始在Navicat创建一个数据库及其数据表(三),单表查询
数据库·mysql·oracle
阳光阿盖尔1 小时前
redis——哨兵机制
数据库·redis·缓存·主从复制·哨兵
小小娥子1 小时前
【Redis】Hash类型的常用命令
数据库·spring boot·redis
盒马盒马1 小时前
Redis:cpp.redis++通用接口
数据库·c++·redis
barbyQAQ2 小时前
Qt源码阅读——事件循环
开发语言·数据库·qt
银氨溶液2 小时前
MySql数据引擎InnoDB引起的锁问题
数据库·mysql·面试·求职
IvorySQL2 小时前
济南站活动回顾|IvorySQL中的Oracle XML函数使用示例及技术实现原理
xml·数据库·sql·postgresql·oracle·开源
Data 3173 小时前
Hive数仓操作(十)
大数据·数据库·数据仓库·hive·hadoop
ON.LIN3 小时前
Hadoop大数据入门——Hive-SQL语法大全
大数据·数据库·hive·hadoop·分布式·sql
Elastic 中国社区官方博客3 小时前
Elasticsearch 开放推理 API 增加了对 Google AI Studio 的支持
大数据·数据库·人工智能·elasticsearch·搜索引擎