数据一致性和事物管理
来源:互联网 发布:2012年3d开奖数据 编辑:程序博客网 时间:2024/06/08 10:42
事物 是 保证 数据一致性的重要 手段。
什么是数据一致性:
对于一个数据库来说,其中的数据每时每刻可能都在发生着变化。
而在变化的同时,也无时无刻不伴随着数据的读取。
这就对数据的状态产生了要求——数据的每次变化都是可被接受的,而每次数据的读取也是正常的。
如: 某个人的银行账户中,现有存款100元。如果此时有人读取其中的数据为100元,那么100元是可接受的数据。
但如果同一时刻,另一用户对账户进行了操作,存入了100元,但还没有提交动作。那么第一个用户就可能读到200元的余额。
事实上,由于某些原因,第一个用户没有提交成功,那么第一个用户读取的200元,并非数据库真实可靠对状态。这就造成了读的不一致性。
假设继续,如果第一个用户读取了200元,接着取了100元,计算余额为100元。第一个用户的数据覆盖数据库,就会造成取出100元,还剩100元。 此时的数据库也不符合一致性的状态。
在数据库中,提出了事物的概念来保证数据库中数据的一致性。
事物往往包括一个或多个处理步骤。
如:在超市购物包括,选择商品,付款,个人账户余额减少,超市账户余额增加,商品库中库存信息更新等。
这些步骤组成了一个事物,当其中任何步骤出现异常,都会影响其他步骤。其他步骤都将变得无效。
事物处理的原则,可以概括为ACID。即,实现要符合以下原则。
原子性:整个事物不可分割,要么全部执行,要么都不执行。
一致性:
隔离性:事物处理过程中,事物处理的效果对其他事物是透明的。
永久性: 一旦提交了事物,那么事物处理的效果将永久生效。
百度文库
0 0
- 数据一致性和事物管理
- 并发之非事物数据一致性
- spring boot本地事物管理和分布式事物管理(五)
- 事物管理
- 事物管理
- 事物管理
- 事物管理
- 事物管理
- 事物管理
- mysql事物处理和管理配置
- 数据一致性和并发性
- 数据一致性和io类型
- JDBC事物处理——保持数据一致性案例
- spring+hibernate整和配置中声明式事物管理
- spring3和mybatis3整合 配置事物管理抛异常
- spring和hibernate集成事物管理配置方法
- java SSH和SSM框架 事物配置以及管理
- Spring c3p0的测试 和 事物管理 xml配置 (四)
- 复数类的基本功能实现
- ORM
- [bzoj3545]Peaks [bzoj3551]Peaks加强版
- AMiner背后的技术细节与挑战
- rebmuNelgniS.136
- 数据一致性和事物管理
- SpringMVC处理Date类型的成员变量方法
- Windows Miniport驱动在接收过程中出现的黑屏问题
- mysql脏读、不可重复读、幻读(虚读)
- bzoj3779: 重组病毒
- maven配置问题
- 浅谈Spark应用程序的性能调优
- AFNetworking框架实现原理
- mysql找不到mysql.sock