数据一致性和事物管理

来源:互联网 发布:2012年3d开奖数据 编辑:程序博客网 时间:2024/06/08 10:42

事物 是 保证 数据一致性的重要 手段。

什么是数据一致性:

对于一个数据库来说,其中的数据每时每刻可能都在发生着变化。

而在变化的同时,也无时无刻不伴随着数据的读取。

这就对数据的状态产生了要求——数据的每次变化都是可被接受的,而每次数据的读取也是正常的。

如: 某个人的银行账户中,现有存款100元。如果此时有人读取其中的数据为100元,那么100元是可接受的数据。

但如果同一时刻,另一用户对账户进行了操作,存入了100元,但还没有提交动作。那么第一个用户就可能读到200元的余额。

事实上,由于某些原因,第一个用户没有提交成功,那么第一个用户读取的200元,并非数据库真实可靠对状态。这就造成了读的不一致性。

假设继续,如果第一个用户读取了200元,接着取了100元,计算余额为100元。第一个用户的数据覆盖数据库,就会造成取出100元,还剩100元。 此时的数据库也不符合一致性的状态。


在数据库中,提出了事物的概念来保证数据库中数据的一致性。

事物往往包括一个或多个处理步骤。

如:在超市购物包括,选择商品,付款,个人账户余额减少,超市账户余额增加,商品库中库存信息更新等。

这些步骤组成了一个事物,当其中任何步骤出现异常,都会影响其他步骤。其他步骤都将变得无效。


事物处理的原则,可以概括为ACID。即,实现要符合以下原则。

原子性:整个事物不可分割,要么全部执行,要么都不执行。

一致性:

隔离性:事物处理过程中,事物处理的效果对其他事物是透明的。

永久性: 一旦提交了事物,那么事物处理的效果将永久生效


百度文库






0 0
原创粉丝点击