数据库管理系统的ACID特性
2024-10-17 01:25:44
数据库管理系统(DBMS)的事务都遵循着四种标准规格的约定。将这四种特性的首字母结合起来就统称为ACID特性。这些约定是所有DBMS都必须遵守的规则。
原子性
原子性是指在事务结束时,其中所包含的更新要么全部执行,要么完全不执行的特性。
就像原子一样,不可分割。(这里只是狭义上的,因为理论上原子也是可以分割的)
一致性
一致性指的是事务中包含的处理,要满足数据库提前设置的约束。如:主键约束或者NOT NULL 约束等。
一致性也称为完整性。
隔离性
隔离性指的是保证不同事务之间互不干扰的特性,该特性保证了事务之间不会相互嵌套。此外,在某个事务中进行的更改,在该事物结束之前,对其他事务而言是不可见的。因此,即使某个事务向表中添加了记录,在没有提交之前,其他事务是看不到新添加的记录的。
对于隔离性而言,也是具有几种隔离特征的,对此,我会在下一篇详细介绍。
持久性
持久性也可以称为耐久性,指的是事务(不论是提交还是回滚)一旦结束,DBMS会保证该时点的数据状态得以保存的特性,即使由于系统故障导致数据丢失,数据库也一定能通过某种手段进行恢复。
如果不能保证持久性,即使正常提交结束的事务,一旦发生了系统故障,就会导致数据丢失,一切都需要重头再来的后果。
保证持久性的方法根据实现方式不同而不同,其中最常见的就是日志管理,将事务的执行记录保存到硬盘等存储介质中,当发生故障时,可以通过日志记录的历史数据,恢复到故障发生前的状态。
转载自Nixgnaw:www.wangxin520.site
最新文章
- AngularJS 后台交互
- 【BZOJ-1452】Count 树状数组 套 树状数组
- Android里面的命名规范
- make文件中静态连接库在command里面的位置
- jquery.validate 一些技巧
- 《Intel汇编第5版》 汇编调用子过程
- phpstudy-5.6.27-nts 安装redis扩展
- PAT Basic 1005
- Python 管道
- 汇编语言--微机CPU的指令系统(五)(数据传送指令)
- zabbix客户端日志报错no active checks on server [192.168.3.108:10051]: host [192.168.3.108] not found
- sp_settriggerorder 设置触发器执行顺序
- hive 添加自增列
- 菜鸟vimer成长记——第4.2章、编程插件
- 数据库实例: STOREBOOK >; 表空间 >; 编辑 表空间: USERS
- Python知识总结(二)
- 解析C#彩色图像灰度化算法的实现代码详解
- CefSharp开发
- 通过scrapy内置的ImagePipeline下载图片到本地、并提取本地保存地址
- [POJ3585]Accumulation Degree
热门文章
- MySQL用户认证及权限控制
- vmware下虚拟机不能上网问题解决
- Ansible 远程执行命令
- Unity弹出MessageBox
- Kafka配置SSL(云环境)
- C语言实现字符串IP与整数型IP的相互转换
- WF的初步学习与创建
- JSPatch实现原理详解<;二>;
- codeforces水题100道 第二十四题 Codeforces Beta Round #85 (Div. 2 Only) A. Petya and Strings (strings)
- <;转>;Python: and、or以及and-or