当数据库事务被破坏时是否有一个突破点?

sha*_*kin 4 database transactions

我对数据库事务"通常"如何在数据库系统中实现感兴趣,例如MySQL.

假设实际将数据写入物理数据库存储不是原子操作(现在就时钟周期来说),我是否应该通过例如在一些精心挑选的时刻撕掉电源线来破坏交易?

Mar*_*wis 6

如果数据库系统是经过仔细编写的,那么断电可能没有时间可以破坏数据,并且当停电时,不会丢失任何已提交的数据.

在实际更新数据之前,rdbms首先将数据写入事务日志.崩溃后,它会重放日志,将任何挂起的更改从日志复制到数据库中,并回滚日志中尚未完成的所有事务.仅在硬盘报告对日志完成写入操作后,才会报告提交成功.