酸交易,持久性

时间:2018-09-06 08:48:00

标签: mysql database oracle acid

我试图了解ACID交易,但我对耐用性一无所知。

就我的持久性而言,即使发生某种技术故障,也可以确保保存所有已完成的交易。即使发生某种技术故障,保存也意味着什么。例如,如果我的服务器在事务处理期间被压碎了,那么在将数据保存到数据库之前,持久性如何确保服务器再次启动时能够正确保存数据?

1 个答案:

答案 0 :(得分:3)

实际上,如果发生技术故障,则事务将全部提交或回滚。

涉及服务器意外停机(例如,由于灾难性破坏而导致的停机)的故障通常会导致事务回滚(数据在事务开始之前保留在状态中,而不是处于某些中间状态)。

回滚事务必须重复进行。这取决于使用数据库的应用程序。因此,ACID会给应用程序带来一定的负担,使他们知道事务何时完成或不完成。

这是实践中非常复杂的主题。花费了成千上万的程序员岁月来使事务处理尽可能强大。