前面我们已经分析了因为原子性并不能保证事务在一个时间点上完成,而是在一个时间片上完成,所以不能作为一致性的充分条件.详细的分析,可以参考:http://flyfoxs.iteye.com/admin/blogs/2087543
那么原子性,加上隔离性可以推导出一致性吗? 下面我们通过一个例子来分析下这个问题.
场景如下
A是老板,需要给员工B, C发工资. A账户里面有100元,需要给2员工,每人20元工资.
如果只有隔离性,和原子性那么操作结果如下.
时间戳 | 事务1 | 事务2 |
t1 | A减少20 | |
t2 | B添加20 | A减少20 |
t3 | 提交(A=80, B=20) | C添加20 |
t4 | 提交(A=80, C=20) |
因为隔离性,T2时间点,虽然A已经减少了20元,但是并没有提交,所以事务2读到的A依然拥有100元(如果读取的是80,那就问题大了,属于读取脏数据).
在这里如果没有特别的处理,就会导致事务2提交后在T4时间点A有80元, B 和 C各有20元,总额120元,很明显数据不一致了,T1时间点,总额只有100元.
通过上面这个例子也就可以很容易的发现了,原子性和隔离性不能保证一致性.
很显然那上面这个场景是很普通,数据库是如何来保证最终一致性的呢,我会在下一篇里面继续讨论这个.
相关推荐
9. 数据库恢复:了解事务的概念,ACID属性(原子性、一致性、隔离性、持久性),以及日志和备份在数据库恢复中的作用。 10. 分布式数据库:理解分布式数据库的基本概念,包括数据分布、通信模型、分布式查询处理等...
2. 事务的ACID特性包括原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持久性(Durability),确保事务的可靠执行。 3. 并发控制不当可能导致数据不一致性,如读脏数据、不可重复读、幻读等...
TCL命令包括BEGIN TRANSACTION、COMMIT和ROLLBACK,它们用于管理事务,确保数据库操作的原子性、一致性、隔离性和持久性。 3. UML图表 文件中出现了UML图表的相关内容,UML即统一建模语言,是面向对象系统分析和...
事务是数据库操作的基本单位,具有原子性、一致性、隔离性和持久性(ACID属性)。数据库安全性涉及权限控制,确保只有授权用户才能访问数据。数据库完整性规则防止数据的不一致,如实体完整性、参照完整性和用户定义...
5. **事务管理**:事务的ACID特性(原子性、一致性、隔离性和持久性),以及不同事务隔离级别(读未提交、读已提交、可重复读、串行化)的含义和应用场景。 6. **并发控制**:死锁的概念和解决策略,如死锁预防、...
2. 事务是数据库操作的基本单元,其四个特性即ACID(原子性Atomicity、一致性Consistency、隔离性Isolation和持久性Durability)保证了数据库操作的可靠性和一致性。 3. 视图是数据库系统中的一个虚拟表,它是由...
事务是一组操作的逻辑单位,具有ACID特性(原子性、一致性、隔离性和持久性)。事务的开始和结束语句如BEGIN TRANSACTION和COMMIT/ROLLBACK。并发控制用于处理多个事务同时执行的问题,常见的方法有封锁技术和多...
事务是数据库操作的基本单元,它保证了一组操作的原子性、一致性、隔离性和持久性。传递函数依赖是一种特殊的函数依赖,表示通过一系列的依赖关系可以从一个属性推导出另一个属性。数据库安全性涉及权限控制、审计和...
10. **事务的特性**:事务有四大特性,即原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持久性(Durability),简称ACID属性。 判断题部分主要考察对数据库系统基本概念的理解,如SQL是非过程...
6. 事务处理必须具备原子性、一致性、隔离性和**持久性**这四个特性,确保数据的完整性和一致性。 7. 对数据库模式进行规范化处理,通常发生在数据库设计的**逻辑设计阶段**,目的是消除数据冗余和提高数据一致性。...
- **事务**:数据库操作的基本单位,具有原子性、一致性、隔离性和持久性(ACID属性)。 - **并发控制**:处理多用户同时访问数据库时可能产生的冲突,如封锁和死锁。 - **恢复机制**:应对系统故障,通过日志...
13. 数据完整性是指数据的正确性和相容性,确保数据的质量和一致性。 14. 并发操作中,T1和T2的示例展示了丢失修改问题,T2的修改被T1的回滚操作覆盖。 15. 物理数据独立性指应用程序与数据库的物理存储方式无关。 ...
11. 事务特性:事务的四大特性是原子性、一致性、隔离性和持久性。持久性指事务一旦提交,其结果就永久保存在数据库中。 12. 故障类型:软件错误属于系统故障,可能影响数据库的正常运行。 13. 关系数据库:简历...
6. **事务特性**:事务的四大特性(ACID)包括原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持久性(Durability)。 7. **分布式数据库透明性**:透明性层次越高,应用程序编写越简单,对...
- **正确选项**:根据ACID特性(原子性、一致性、隔离性和持久性),正确答案是 A。 #### 12. 数据库管理系统功能 - **题目描述**:数据库管理系统(DBMS)的功能包括数据存储、查询执行、事务管理等。 - **正确选项*...
1. **事务**:事务是数据库操作的基本单位,具有原子性、一致性、隔离性和持久性(ACID属性)。在单用户DBS中,事务可以自动保证以串行方式执行,避免并发控制的问题。 2. **第三范式(3NF)**:3NF要求关系模式中...
6. **事务的ACID属性**:原子性、一致性、隔离性和持久性是事务必须具有的四个特性。 7. **索引**:属于数据库的物理结构,加速查询速度。 8. **数据库保护**:包括安全性、完整性、并发控制和恢复。 9. **数据库...
7. 事务的四大特性是原子性、一致性、隔离性和持久性。 8. 分布式数据库系统中,透明性层次越高,编写应用程序就越简单。 9. 泛化/细化联系的对象类型中,较低层的对象类型称为具体类。 10. 最常用的数据模型有关系...
- **事务特性(ACID)**:原子性、一致性、隔离性和持久性。 - **并发控制**:解决多个事务同时访问同一资源时的问题。 - **恢复机制**:确保系统故障后数据的完整性。 ##### 10. 关系数据理论 - **函数依赖**:描述...