什么是原子性和一致性的区别?在我看来,两者用不同的词语表达相同的含义。
原子性
事务的所有任务要么全部完成,要么全部不完成。不存在部分事务。例如,如果事务开始更新100行数据,但系统在更新20行数据后发生故障,则数据库会将这20行数据的更改回滚。
一致性
事务将数据库从一个一致状态转移到另一个一致状态。例如,在将储蓄账户借记并将支票账户贷记的银行交易中,故障不能导致数据库仅向一个账户贷记,这将导致不一致的数据。
看起来原子性是一致性的一个子集,那么它应该是cid(一致性,隔离性,耐久性),没有原子性。
原子性
事务的所有任务要么全部完成,要么全部不完成。不存在部分事务。例如,如果事务开始更新100行数据,但系统在更新20行数据后发生故障,则数据库会将这20行数据的更改回滚。
一致性
事务将数据库从一个一致状态转移到另一个一致状态。例如,在将储蓄账户借记并将支票账户贷记的银行交易中,故障不能导致数据库仅向一个账户贷记,这将导致不一致的数据。
看起来原子性是一致性的一个子集,那么它应该是cid(一致性,隔离性,耐久性),没有原子性。