数据库事务一致性和原子性

一致性:A给B转钱,单从数据库的角度来看,从A上减掉100块钱,然后就提交,本身这个操作没有问题。但是从业务的角度来看,你必须得给B上加上100块钱,这样整体数据才算一致。因此,
A-100;
B+100;
这样才算一个事务,因为它保证了数据的一致,即要满足业务需求,在数据上A与B要一致。

一致性的本质就是你在进行一个事务的时候,是应该选择将A-100作为一个事务呢,还是应该选择将A-100以及B+100整体作为一个事务呢。

原子性:是假如你选择了将A-100以及B+100整体作为一个事务,那么他们就是一个整体,要么大家都成功,要么大家都失败。
原子性的本质就是A减去100执行成功了,那B加100一定也要执行成功,也就是A成功,B也要成功,A失败,b也要失败。将A和b看做一个整体。
原子性与一致性的区别是:一致性是选择要不要加上B+100这么一句话,而原子性是B+100与A-100是否要作为一个整体考虑。

posted @ 2017-07-25 10:38  wangguoning  阅读(1404)  评论(0编辑  收藏  举报