数据库管理系统(DBMS)的事务都遵循着四种标准规格的约定。将这四种特性的首字母结合起来就统称为ACID特性。这些约定是所有DBMS都必须遵守的规则。


  • 原子性

原子性是指在事务结束时,其中所包含的更新要么全部执行,要么完全不执行的特性。

就像原子一样,不可分割。(这里只是狭义上的,因为理论上原子也是可以分割的)


  • 一致性

一致性指的是事务中包含的处理,要满足数据库提前设置的约束。如:主键约束或者NOT NULL 约束等。

一致性也称为完整性。


  • 隔离性

隔离性指的是保证不同事务之间互不干扰的特性,该特性保证了事务之间不会相互嵌套。此外,在某个事务中进行的更改,在该事物结束之前,对其他事务而言是不可见的。因此,即使某个事务向表中添加了记录,在没有提交之前,其他事务是看不到新添加的记录的。

对于隔离性而言,也是具有几种隔离特征的,对此,我会在下一篇详细介绍。


  • 持久性

持久性也可以称为耐久性,指的是事务(不论是提交还是回滚)一旦结束,DBMS会保证该时点的数据状态得以保存的特性,即使由于系统故障导致数据丢失,数据库也一定能通过某种手段进行恢复。

如果不能保证持久性,即使正常提交结束的事务,一旦发生了系统故障,就会导致数据丢失,一切都需要重头再来的后果。

保证持久性的方法根据实现方式不同而不同,其中最常见的就是日志管理,将事务的执行记录保存到硬盘等存储介质中,当发生故障时,可以通过日志记录的历史数据,恢复到故障发生前的状态。

转载自Nixgnaw:www.wangxin520.site

最新文章

  1. AngularJS 后台交互
  2. 【BZOJ-1452】Count 树状数组 套 树状数组
  3. Android里面的命名规范
  4. make文件中静态连接库在command里面的位置
  5. jquery.validate 一些技巧
  6. 《Intel汇编第5版》 汇编调用子过程
  7. phpstudy-5.6.27-nts 安装redis扩展
  8. PAT Basic 1005
  9. Python 管道
  10. 汇编语言--微机CPU的指令系统(五)(数据传送指令)
  11. zabbix客户端日志报错no active checks on server [192.168.3.108:10051]: host [192.168.3.108] not found
  12. sp_settriggerorder 设置触发器执行顺序
  13. hive 添加自增列
  14. 菜鸟vimer成长记——第4.2章、编程插件
  15. 数据库实例: STOREBOOK > 表空间 > 编辑 表空间: USERS
  16. Python知识总结(二)
  17. 解析C#彩色图像灰度化算法的实现代码详解
  18. CefSharp开发
  19. 通过scrapy内置的ImagePipeline下载图片到本地、并提取本地保存地址
  20. [POJ3585]Accumulation Degree

热门文章

  1. MySQL用户认证及权限控制
  2. vmware下虚拟机不能上网问题解决
  3. Ansible 远程执行命令
  4. Unity弹出MessageBox
  5. Kafka配置SSL(云环境)
  6. C语言实现字符串IP与整数型IP的相互转换
  7. WF的初步学习与创建
  8. JSPatch实现原理详解<二>
  9. codeforces水题100道 第二十四题 Codeforces Beta Round #85 (Div. 2 Only) A. Petya and Strings (strings)
  10. <转>Python: and、or以及and-or