我试图理解acid事务,但我对持久性一点也不了解。
只要我获得持久性,就可以确保保存所有已完成的事务,即使发生某种技术故障。即使发生了某种技术故障,被拯救意味着什么?例如,如果我的服务器在事务处理期间被压碎,那么在它将数据保存到数据库之前,耐久性如何确保当服务器再次启动时它将正确保存数据?
最佳答案
实际上,如果发生技术故障,事务要么被提交,要么全部回滚。
涉及服务器的意外中断(例如,由于灾难性破坏)的故障通常会导致事务回滚(事务开始前的状态,而不是某些中间状态中的数据)。
必须重复回滚事务。这取决于使用数据库的应用程序。因此,acid会给应用程序带来一定的负担,使其知道事务何时完成,或者不完成。
这在实践中是一个非常复杂的课题。数千年来,程序员一直在尽可能地使事务处理变得健壮。
关于mysql - ACID交易,耐用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52200093/