`
flyfoxs
  • 浏览: 295226 次
  • 性别: Icon_minigender_1
  • 来自: 合肥
社区版块
存档分类
最新评论

数据库的原子性可以推导出一致性吗

 
阅读更多

数据库用了很久了,最近看书又看到了ACID,突然想起来原子性就是不可分割, 既然是这样,那应该就可以保证一致性,为什么数据库的事务定义了4个特性.

 

其实这个问题的症结在怎么理解原子性,以前学物理的时候,留下了一个印象,原子性就是不可再分割的意思,但是在数据库事务里面却需要加上一些注释,是把本来几个可以分的事情整个在一起,要成功都成功,要失败都失败.

 

说简单点,就是事务里面的各个组成部分,并不是在一个时间点,而是分布在一个时间段(比如一分钟)里面去完成.

 

原子性只是保证了各个组成部分能够全部成功,或者都失败.但是无法保证一致性,比如各个部分只成功了一半,不让其他事务去读取.这样原子性也就无法独立的完成事务的一致性了.

 

如果原子性无法保证一致性,那原子性+隔离性是否可以保证一致呢?

答案是否定的,稍后有空再开博来讨论吧.

 

 

下面是事务ACID的详细定义.

 

原子性(Atomic)

事务作为一个整体被执行,包含在其中的对数据库的操作要么全部被执行,要么都不执行。

一致性(Consistency)

事务应确保数据库的状态从一个一致状态转变为另一个一致状态。一致状态的含义是数据库中的数据应满足完整性约束。

隔离性(Isolation)

多个事务并发执行时,一个事务的执行不应影响其他事务的执行。

持久性(Durability)

已被提交的事务对数据库的修改应该永久保存在数据库中。

分享到:
评论

相关推荐

    数据库恢复技术.doc

    事务具有4 个特性:原子性(Atomicity )、一致性(consistency )、隔离性( Isolation )和持续性( Durability ) 。这4 个特性也简称为ACID 特性。 原子性:事务是数据库的逻辑工作单位,事务中包括的诸操作要么...

    内存数据库与传统数据库的对比.docx

    所以传统的数据库具有特征,即原子性、一致性、隔离性和永久性。传统数据库管理系统的典型代表是关系型数据库,我们平常用到的商用数据库管理系统如oracle、Informix、Sybase、SQL Sverer等都是RDBMS。RDBMS已发展了...

    14、深入理解并发可见性、有序性、原子性与JMM内存模型

    深入理解并发可见性、有序性、原子性与JMM内存模型深入理解并发可见性、有序性、原子性与JMM内存模型深入理解并发可见性、有序性、原子性与JMM内存模型深入理解并发可见性、有序性、原子性与JMM内存模型深入理解并发...

    神通数据库-数据库快速入门.pdf

    事务管理特性,强制保持事务的原子性和一致性。事务启动之后,就必须成功完成,否则数据库系统将 撤消该事务启动之后对数据所作的所有修改。 在神通数据库中一个事务可以由一条或多条 sql 语句构成。事务的提交状态...

    [详细完整版]数据库.docx

    事务的4个特性是(原子性)、(一致性)、( 隔离性 )和( 持久性)。 6.数据库管理系统在3层结构之间提供的两层映象是(外模式/模式)和(模式/内模式)。 7.当前数据库系统的主流是(关系数据库系统)。 8....

    如何保证数据库同步中目的端交易提交的原子性

    NULL 博文链接:https://woxintech2011.iteye.com/blog/1550476

    哈尔滨理工大数据库试题

    原子性 B. 隔离性 C. 持久性 D. 共享性 9、数据库系统的基础是_D___。 A. 数据结构 B. 数据库管理系统 C. 操作系统 D. 数据模型 10、在登录日志文件时,应该____C____。 A. 将更新数据库与登录日志文件两个...

    数据库答案5.docx

    1.事务的原子性是指 。 A.事务中包括的所有操作要么都做,要么都不做 B.事务一旦提交,对数据库的改变是永久的 C.一个事务内部的操作及使用的数据对并发的其他事务是隔离的 D.事务必须是使数据库从一个一致性...

    数据库系统概论自己版.xmind

    存储信息时存在完整性问题(约束)、原子性问题(故障发生的不一致)、并发访问异常、安全性问题(用户选择性查看内容) 安全性:防止恶意更新或偷窃数据的企图 数据库访问 利用数据库管理系统提供的交互...

    NoSQL数据库-MongoDB和Redis

    CAP(Consistency,Availabiity,Partition tolerance)理论告诉我们,一个分布式系统不可能满足一致性,可用性和分区容错性这三...因为MongoDB是非原子性的,所以如果如果应用需要事务,还是需要选择MySQL等关系数据库

    数据库简答题及答案.pdf

    事务具有 4 个特性:原子性(Atomicity)、一致性(Cogsistency)、隔离性(Isolation)和持续 性(Durability)。这 4 个特性也简称为 ACID 特性。 原子性:事务是数据库的逻辑工作单位,事务中包括的诸操作要么都做,要么...

    数据库高并发

    可以查看企业高并发的终极解决方案,并对其他学习者有很大帮助

    揭露PHP 应用程序中出现的五个常见数据库问题

    事务可以确保数据库操作的原子性和一致性,避免了数据不一致的问题。使用事务可以提高代码的可靠性和安全性。 问题 4:不使用索引 不使用索引是另一个常见问题。索引可以提高数据库查询的速度和效率,避免了慢查询...

    架构师思维导图【数据库系统】

    集中式数据库 分布式数据库 数据备份 数据库故障与恢复 数据库索引 视图 数据库分区 大数据 sql优化 子查询 数据库连接池 数据库设计 数据备份 透明性 事务的特性ACID 原子性 一致性 隔离性 持续性 并发 S锁 共享锁 ...

    openGauss数据库核心技术.docx

    openGauss 数据库的事务与并发控制机制可以确保事务的一致性和原子性,处理并发访问的需求。事务管理器可以根据事务的执行计划,自动地commit或rollback事务,从而确保数据库的一致性。 openGauss 数据库的备份与...

    SQLite 轻型数据库

    实现多数SQL92的标准,包括事务(原子性、一致性、隔离性和持久性)、触发器和大多数的复杂查询。 不对插入或者更新的数据进行类型检查,你可以将字符串插入到整数列中(这个可能让有些用户不太适应)。 支持...

    Firebird数据库中文版

    并且每一个事务都可以独立的进行控制,两段提交功能可以保证数据库的一致性。锁优化机制也支持多个事务的保存点。 在线备份: 不需要停止数据库即可进行备份,一个备份进程产生一个数据库当前的快照。因此,用户可以...

    分布式系统事务一致性解决方案大对比,谁最好使?

    关系型数据库通常具有ACID特性:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)。 而大型互联网平台往往是由一系列分布式系统构成的,开发语言平台和技术栈也相对比较杂,...

    redis实现分布式锁,自旋式加锁,lua原子性解锁

    redis实现分布式锁,自旋式加锁,lua原子性解锁

    数据库面试题-DBA数据库管理员

    事务是指数据库应用的基本逻辑单位,它具有原子性、一致性、隔离性和持久性四个特性。 10. 锁: 锁是指数据库中的一种机制,用于控制并发访问数据库的数据,包括共享锁和互斥锁两种。 11. 死锁及处理: 死锁是指两...

Global site tag (gtag.js) - Google Analytics