事务ACID中一致性(Consistency)的理解

事务ACID中一致性(Consistency)的理解

事务的一致性通常说数据库要从一个一致性状态转到另一个一致性状态

所谓一致性状态是数据库在事务提交前后的状态应与业务逻辑所抽象的客观世界中真实状况保持一致。这种一致性是一种需要人为去定义的规则。如何指定规则,数据库就严格按照这种规则去处理数据。

这里拿经典的例子来说明:
A有200R,B有200R,A账户向B账户转账100R。结果A、B各有100R、300R,转账前后两个人的余额之和并没有改变,这被叫做事务一致性。
这个例子举得过于简单,没有表现到一致性状态规则的人为性,要说明问题应该多举几个例子:
银行的业务里不止这么转账一个。转账也不可能全部是装给自己银行吧。
转账双方储户余额总量不变是一种数据一致状态的规则,转出到别的银行也是一种一致性状态的改变,此时为了有新的一致性状态,就应该有对应的规则,银行的转出账额应该对应地加钱,
同理要是央行爸爸给钱了或者储户自己存钱了,这时候账户的余额就应该是有增无减啊,因为这就不是转账,就是来钱,来钱的一致性状态就是钱少变钱多,钱变多,银行总储金跟着多,这就是保持一致性状态的规则,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值