事物 是 保证 数据一致性的重要 手段。
什么是数据一致性:
对于一个数据库来说,其中的数据每时每刻可能都在发生着变化。
而在变化的同时,也无时无刻不伴随着数据的读取。
这就对数据的状态产生了要求——数据的每次变化都是可被接受的,而每次数据的读取也是正常的。
如: 某个人的银行账户中,现有存款100元。如果此时有人读取其中的数据为100元,那么100元是可接受的数据。
但如果同一时刻,另一用户对账户进行了操作,存入了100元,但还没有提交动作。那么第一个用户就可能读到200元的余额。
事实上,由于某些原因,第一个用户没有提交成功,那么第一个用户读取的200元,并非数据库真实可靠对状态。这就造成了读的不一致性。
假设继续,如果第一个用户读取了200元,接着取了100元,计算余额为100元。第一个用户的数据覆盖数据库,就会造成取出100元,还剩100元。 此时的数据库也不符合一致性的状态。
在数据库中,提出了事物的概念来保证数据库中数据的一致性。
事物往往包括一个或多个处理步骤。
如:在超市购物包括,选择商品,付款,个人账户余额减少,超市账户余额增加,商品库中库存信息更新等。
这些步骤组成了一个事物,当其中任何步骤出现异常,都会影响其他步骤。其他步骤都将变得无效。
事物处理的原则,可以概括为ACID。即,实现要符合以下原则。
原子性:整个事物不可分割,要么全部执行,要么都不执行。
一致性:
隔离性:事物处理过程中,事物处理的效果对其他事物是透明的。
永久性: 一旦提交了事物,那么事物处理的效果将永久生效。