在使用数据库时,使用事务通常是必不可少的.例如,假设我要从帐户A向帐户B转账一笔钱,这涉及两个查询:
- 减少帐户A中的钱
- 在帐户B中增加它.
从理论上讲,我可以单独进行查询,但会出现错误.因此,可以肯定的是,我可以将这两个查询打包到一个事务中,并确保这两个操作要么定期结束,要么什么都没有改变.货币不会消失,也不会被创造.
问题是,在我看来,这只会将责任从我转移到数据库供应商身上.现在,这取决于数据库来执行这两个操作,并确保要么都执行了,要么什么都没有更改.数据库开发人员面临的问题与错误发生的问题相同.
数据库供应商使用什么技术来确保事务的安全?