数据库供应商如何实现交易?
发布时间:2020-12-12 06:51:34 所属栏目:MsSql教程 来源:网络整理
导读:使用数据库时,通常必须使用事务.比方说,我想将一定数量的资金从账户A转移到账户B.这涉及两个问题: 减少账户A的钱 在帐户B中增加它. 从理论上讲,我可以单独进行查询,但会发生错误.因此,可以肯定的是,我可以在事务中打包两个查询,并确保两个操作都定期结束或根
使用数据库时,通常必须使用事务.比方说,我想将一定数量的资金从账户A转移到账户B.这涉及两个问题:
>减少账户A的钱 从理论上讲,我可以单独进行查询,但会发生错误.因此,可以肯定的是,我可以在事务中打包两个查询,并确保两个操作都定期结束或根本没有任何更改.没有钱消失或被创造. 问题是,在我看来,这只会将责任从我转移到数据库供应商.现在由数据库来完成两个操作,并确保两者都已完成或没有任何更改.数据库开发人员面临着发生错误的相同问题.
解决方法维基百科上的 ACID – Implementations页面将帮助您开始预写日志记录,影子分页和多版本并发控制.点击链接查找更多信息.每个DBMS供应商都实现自己的算法,通常是几个不同的算法,具体取决于上下文,完整的ACID或宽松的要求,分布式事务一致性要求等…… (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |