【发布时间】:2009-11-09 06:48:46
【问题描述】:
我正在尝试了解数据库事务的 ACID 属性:它们是如何实现的;哪一部分是原子性,哪一部分是持久性等等。
假设我有一个包含两个操作的交易,A 和 B。不幸的是,执行action B 时系统关机。系统重置后,我们知道数据库将保留(通过 sqlite 中的回滚任务)执行action A 之前的状态。那么,这显示了哪种 ACID 属性,原子性还是持久性?
另一种情况:假设在执行action B时,发生错误并被通知给应用程序,应用程序回滚。我认为这是由用户而不是数据库引擎实现的纯原子性。我说的对吗?
【问题讨论】: